المتعددة المصادر خطأ أثناء التوليف

K

karper1986

Guest
مرحبا أصدقاء ،

لقد حصلت على هذا الخطأ أثناء قيامه التوليف وعالقا لمدة اسبوع تقريبا.إذا كان أي شخص لديه أي فكرة ، توجهوني إلى تصحيح ما ينبغي الذي أدليت به في القانون.

أنا باستخدام Xilinx اوراق المالية 11.1

أغسطس وحدة (
clk ،
en_fft ،
readmem_en ،
memwrite_en ،
agu_rd_addr0 ،
agu_rd_addr1 ،
agu_rd_addr2 ،
agu_rd_addr3 ،
agu_rd_addr4 ،
agu_rd_addr5 ،
agu_rd_addr6 ،
agu_rd_addr7 ،
agu_wr_addr0 ،
agu_wr_addr1 ،
agu_wr_addr2 ،
agu_wr_addr3 ،
agu_wr_addr4 ،
agu_wr_addr5 ،
agu_wr_addr6 ،
agu_wr_addr7
(؛)

clk المدخلات ؛
readmem_en المدخلات ؛
memwrite_en المدخلات ؛
en_fft المدخلات ؛

الإخراج [2:0] agu_rd_addr0 ؛
الإخراج [2:0] agu_rd_addr1 ؛
الإخراج [2:0] agu_rd_addr2 ؛
الإخراج [2:0] agu_rd_addr3 ؛
الإخراج [2:0] agu_rd_addr4 ؛
الإخراج [2:0] agu_rd_addr5 ؛
الإخراج [2:0] agu_rd_addr6 ؛
الإخراج [2:0] agu_rd_addr7 ؛

الإخراج [2:0] agu_wr_addr0 ؛
الإخراج [2:0] agu_wr_addr1 ؛
الإخراج [2:0] agu_wr_addr2 ؛
الإخراج [2:0] agu_wr_addr3 ؛
الإخراج [2:0] agu_wr_addr4 ؛
الإخراج [2:0] agu_wr_addr5 ؛
الإخراج [2:0] agu_wr_addr6 ؛
الإخراج [2:0] agu_wr_addr7 ؛

ريج [3:0] counter_read ؛
ريج [3:0] counter_write ؛
ريج [2:0] agu_read [7:0] ؛
ريج [2:0] agu_write [7:0] ؛

دائما @ (clk posedge)
يبدأ
إذا كان (en_fft)
يبدأ
counter_read = 4'b0000 ؛ ---------- هذه قد تكون مشكلة
counter_write = 4'b0000 ؛
نهاية
نهاية

دائما @ (clk negedge)
يبدأ
إذا كان (readmem_en)
يبدأ
حالة (counter_read)
4'h0 : أبدأ
agu_read [0] <= 3'h0 ؛
agu_read [1] <= 3'h1 ؛
agu_read [2] <= 3'h2 ؛
agu_read [3] <= 3'h3 ؛
agu_read [4] <= 3'h4 ؛
agu_read [5] <= 3'h5 ؛
agu_read [6] <= 3'h6 ؛
agu_read [7] <= 3'h7 ؛
نهاية

4'h1 : أبدأ
agu_read [0] <= 3'h7 ؛
agu_read [1] <= 3'h0 ؛
agu_read [2] <= 3'h1 ؛
agu_read [3] <= 3'h2 ؛
agu_read [4] <= 3'h3 ؛
agu_read [5] <= 3'h4 ؛
agu_read [6] <= 3'h5 ؛
agu_read [7] <= 3'h6 ؛
نهاية

4'h2 : أبدأ
agu_read [0] <= 3'h6 ؛
agu_read [1] <= 3'h7 ؛
agu_read [2] <= 3'h0 ؛
agu_read [3] <= 3'h1 ؛
agu_read [4] <= 3'h2 ؛
agu_read [5] <= 3'h3 ؛
agu_read [6] <= 3'h4 ؛
agu_read [7] <= 3'h5 ؛
نهاية

4'h3 : أبدأ
agu_read [0] <= 3'h5 ؛
agu_read [1] <= 3'h6 ؛
agu_read [2] <= 3'h7 ؛
agu_read [3] <= 3'h0 ؛
agu_read [4] <= 3'h1 ؛
agu_read [5] <= 3'h2 ؛
agu_read [6] <= 3'h3 ؛
agu_read [7] <= 3'h4 ؛
نهاية

4'h4 : أبدأ
agu_read [0] <= 3'h4 ؛
agu_read [1] <= 3'h5 ؛
agu_read [2] <= 3'h6 ؛
agu_read [3] <= 3'h7 ؛
agu_read [4] <= 3'h0 ؛
agu_read [5] <= 3'h1 ؛
agu_read [6] <= 3'h2 ؛
agu_read [7] <= 3'h3 ؛
نهاية

4'h5 : أبدأ
agu_read [0] <= 3'h3 ؛
agu_read [1] <= 3'h4 ؛
agu_read [2] <= 3'h5 ؛
agu_read [3] <= 3'h6 ؛
agu_read [4] <= 3'h7 ؛
agu_read [5] <= 3'h0 ؛
agu_read [6] <= 3'h1 ؛
agu_read [7] <= 3'h2 ؛
نهاية

4'h6 : أبدأ
agu_read [0] <= 3'h2 ؛
agu_read [1] <= 3'h3 ؛
agu_read [2] <= 3'h4 ؛
agu_read [3] <= 3'h5 ؛
agu_read [4] <= 3'h6 ؛
agu_read [5] <= 3'h7 ؛
agu_read [6] <= 3'h0 ؛
agu_read [7] <= 3'h1 ؛
نهاية

4'h7 : أبدأ
agu_read [0] <= 3'h1 ؛
agu_read [1] <= 3'h2 ؛
agu_read [2] <= 3'h3 ؛
agu_read [3] <= 3'h4 ؛
agu_read [4] <= 3'h5 ؛
agu_read [5] <= 3'h6 ؛
agu_read [6] <= 3'h7 ؛
agu_read [7] <= 3'h0 ؛
نهاية

4'h8 : أبدأ
agu_read [0] <= 3'h0 ؛
agu_read [1] <= 3'h0 ؛
agu_read [2] <= 3'h0 ؛
agu_read [3] <= 3'h0 ؛
agu_read [4] <= 3'h0 ؛
agu_read [5] <= 3'h0 ؛
agu_read [6] <= 3'h0 ؛
agu_read [7] <= 3'h0 ؛
نهاية

4'h9 : أبدأ
agu_read [0] <= 3'h1 ؛
agu_read [1] <= 3'h1 ؛
agu_read [2] <= 3'h1 ؛
agu_read [3] <= 3'h1 ؛
agu_read [4] <= 3'h1 ؛
agu_read [5] <= 3'h1 ؛
agu_read [6] <= 3'h1 ؛
agu_read [7] <= 3'h1 ؛
نهاية

4'ha : أبدأ
agu_read [0] <= 3'h2 ؛
agu_read [1] <= 3'h2 ؛
agu_read [2] <= 3'h2 ؛
agu_read [3] <= 3'h2 ؛
agu_read [4] <= 3'h2 ؛
agu_read [5] <= 3'h2 ؛
agu_read [6] <= 3'h2 ؛
agu_read [7] <= 3'h2 ؛
نهاية

4'hb : أبدأ
agu_read [0] <= 3'h3 ؛
agu_read [1] <= 3'h3 ؛
agu_read [2] <= 3'h3 ؛
agu_read [3] <= 3'h3 ؛
agu_read [4] <= 3'h3 ؛
agu_read [5] <= 3'h3 ؛
agu_read [6] <= 3'h3 ؛
agu_read [7] <= 3'h3 ؛
نهاية

4'hc : أبدأ
agu_read [0] <= 3'h4 ؛
agu_read [1] <= 3'h4 ؛
agu_read [2] <= 3'h4 ؛
agu_read [3] <= 3'h4 ؛
agu_read [4] <= 3'h4 ؛
agu_read [5] <= 3'h4 ؛
agu_read [6] <= 3'h4 ؛
agu_read [7] <= 3'h4 ؛
نهاية

4'hd : أبدأ
agu_read [0] <= 3'h5 ؛
agu_read [1] <= 3'h5 ؛
agu_read [2] <= 3'h5 ؛
agu_read [3] <= 3'h5 ؛
agu_read [4] <= 3'h5 ؛
agu_read [5] <= 3'h5 ؛
agu_read [6] <= 3'h5 ؛
agu_read [7] <= 3'h5 ؛
نهاية

4'he : أبدأ
agu_read [0] <= 3'h6 ؛
agu_read [1] <= 3'h6 ؛
agu_read [2] <= 3'h6 ؛
agu_read [3] <= 3'h6 ؛
agu_read [4] <= 3'h6 ؛
agu_read [5] <= 3'h6 ؛
agu_read [6] <= 3'h6 ؛
agu_read [7] <= 3'h6 ؛
نهاية

4'hf : أبدأ
agu_read [0] <= 3'h7 ؛
agu_read [1] <= 3'h7 ؛
agu_read [2] <= 3'h7 ؛
agu_read [3] <= 3'h7 ؛
agu_read [4] <= 3'h7 ؛
agu_read [5] <= 3'h7 ؛
agu_read [6] <= 3'h7 ؛
agu_read [7] <= 3'h7 ؛
نهاية
endcase

counter_read <= counter_read 1 ؛ ----- هذه قد تكون مشكلة
نهاية
نهاية

دائما @ (clk negedge)
يبدأ
إذا كان (memwrite_en)
يبدأ
حالة (counter_write)
4'h0 : أبدأ
agu_write [0] <= 3'h0 ؛
agu_write [1] <= 3'h1 ؛
agu_write [2] <= 3'h2 ؛
agu_write [3] <= 3'h3 ؛
agu_write [4] <= 3'h4 ؛
agu_write [5] <= 3'h5 ؛
agu_write [6] <= 3'h6 ؛
agu_write [7] <= 3'h7 ؛
نهاية

4'h1 : أبدأ
agu_write [0] <= 3'h7 ؛
agu_write [1] <= 3'h0 ؛
agu_write [2] <= 3'h1 ؛
agu_write [3] <= 3'h2 ؛
agu_write [4] <= 3'h3 ؛
agu_write [5] <= 3'h4 ؛
agu_write [6] <= 3'h5 ؛
agu_write [7] <= 3'h6 ؛
نهاية

4'h2 : أبدأ
agu_write [0] <= 3'h6 ؛
agu_write [1] <= 3'h7 ؛
agu_write [2] <= 3'h0 ؛
agu_write [3] <= 3'h1 ؛
agu_write [4] <= 3'h2 ؛
agu_write [5] <= 3'h3 ؛
agu_write [6] <= 3'h4 ؛
agu_write [7] <= 3'h5 ؛
نهاية

4'h3 : أبدأ
agu_write [0] <= 3'h5 ؛
agu_write [1] <= 3'h6 ؛
agu_write [2] <= 3'h7 ؛
agu_write [3] <= 3'h0 ؛
agu_write [4] <= 3'h1 ؛
agu_write [5] <= 3'h2 ؛
agu_write [6] <= 3'h3 ؛
agu_write [7] <= 3'h4 ؛
نهاية

4'h4 : أبدأ
agu_write [0] <= 3'h4 ؛
agu_write [1] <= 3'h5 ؛
agu_write [2] <= 3'h6 ؛
agu_write [3] <= 3'h7 ؛
agu_write [4] <= 3'h0 ؛
agu_write [5] <= 3'h1 ؛
agu_write [6] <= 3'h2 ؛
agu_write [7] <= 3'h3 ؛
نهاية

4'h5 : أبدأ
agu_write [0] <= 3'h3 ؛
agu_write [1] <= 3'h4 ؛
agu_write [2] <= 3'h5 ؛
agu_write [3] <= 3'h6 ؛
agu_write [4] <= 3'h7 ؛
agu_write [5] <= 3'h0 ؛
agu_write [6] <= 3'h1 ؛
agu_write [7] <= 3'h2 ؛
نهاية

4'h6 : أبدأ
agu_write [0] <= 3'h2 ؛
agu_write [1] <= 3'h3 ؛
agu_write [2] <= 3'h4 ؛
agu_write [3] <= 3'h5 ؛
agu_write [4] <= 3'h6 ؛
agu_write [5] <= 3'h7 ؛
agu_write [6] <= 3'h0 ؛
agu_write [7] <= 3'h1 ؛
نهاية

4'h7 : أبدأ
agu_write [0] <= 3'h1 ؛
agu_write [1] <= 3'h2 ؛
agu_write [2] <= 3'h3 ؛
agu_write [3] <= 3'h4 ؛
agu_write [4] <= 3'h5 ؛
agu_write [5] <= 3'h6 ؛
agu_write [6] <= 3'h7 ؛
agu_write [7] <= 3'h0 ؛
نهاية

4'h8 : أبدأ
agu_write [0] <= 3'h0 ؛
agu_write [1] <= 3'h0 ؛
agu_write [2] <= 3'h0 ؛
agu_write [3] <= 3'h0 ؛
agu_write [4] <= 3'h0 ؛
agu_write [5] <= 3'h0 ؛
agu_write [6] <= 3'h0 ؛
agu_write [7] <= 3'h0 ؛
نهاية

4'h9 : أبدأ
agu_write [0] <= 3'h1 ؛
agu_write [1] <= 3'h1 ؛
agu_write [2] <= 3'h1 ؛
agu_write [3] <= 3'h1 ؛
agu_write [4] <= 3'h1 ؛
agu_write [5] <= 3'h1 ؛
agu_write [6] <= 3'h1 ؛
agu_write [7] <= 3'h1 ؛
نهاية

4'ha : أبدأ
agu_write [0] <= 3'h2 ؛
agu_write [1] <= 3'h2 ؛
agu_write [2] <= 3'h2 ؛
agu_write [3] <= 3'h2 ؛
agu_write [4] <= 3'h2 ؛
agu_write [5] <= 3'h2 ؛
agu_write [6] <= 3'h2 ؛
agu_write [7] <= 3'h2 ؛
نهاية

4'hb : أبدأ
agu_write [0] <= 3'h3 ؛
agu_write [1] <= 3'h3 ؛
agu_write [2] <= 3'h3 ؛
agu_write [3] <= 3'h3 ؛
agu_write [4] <= 3'h3 ؛
agu_write [5] <= 3'h3 ؛
agu_write [6] <= 3'h3 ؛
agu_write [7] <= 3'h3 ؛
نهاية

4'hc : أبدأ
agu_write [0] <= 3'h4 ؛
agu_write [1] <= 3'h4 ؛
agu_write [2] <= 3'h4 ؛
agu_write [3] <= 3'h4 ؛
agu_write [4] <= 3'h4 ؛
agu_write [5] <= 3'h4 ؛
agu_write [6] <= 3'h4 ؛
agu_write [7] <= 3'h4 ؛
نهاية

4'hd : أبدأ
agu_write [0] <= 3'h5 ؛
agu_write [1] <= 3'h5 ؛
agu_write [2] <= 3'h5 ؛
agu_write [3] <= 3'h5 ؛
agu_write [4] <= 3'h5 ؛
agu_write [5] <= 3'h5 ؛
agu_write [6] <= 3'h5 ؛
agu_write [7] <= 3'h5 ؛
نهاية

4'he : أبدأ
agu_write [0] <= 3'h6 ؛
agu_write [1] <= 3'h6 ؛
agu_write [2] <= 3'h6 ؛
agu_write [3] <= 3'h6 ؛
agu_write [4] <= 3'h6 ؛
agu_write [5] <= 3'h6 ؛
agu_write [6] <= 3'h6 ؛
agu_write [7] <= 3'h6 ؛
نهاية

4'hf : أبدأ
agu_write [0] <= 3'h7 ؛
agu_write [1] <= 3'h7 ؛
agu_write [2] <= 3'h7 ؛
agu_write [3] <= 3'h7 ؛
agu_write [4] <= 3'h7 ؛
agu_write [5] <= 3'h7 ؛
agu_write [6] <= 3'h7 ؛
agu_write [7] <= 3'h7 ؛
نهاية
endcase

counter_write <= counter_write 1 ؛ ------------ هذه قد تكون مشكلة
نهاية
نهاية

تعيين agu_rd_addr0 = agu_read [0] ؛
تعيين agu_rd_addr1 = agu_read [1] ؛
تعيين agu_rd_addr2 = agu_read [2] ؛
تعيين agu_rd_addr3 = agu_read [3] ؛
تعيين agu_rd_addr4 = agu_read [4] ؛
تعيين agu_rd_addr5 = agu_read [5] ؛
تعيين agu_rd_addr6 = agu_read [6] ؛
تعيين agu_rd_addr7 = agu_read [7] ؛

تعيين agu_wr_addr0 = agu_write [0] ؛
تعيين agu_wr_addr1 = agu_write [1] ؛
تعيين agu_wr_addr2 = agu_write [2] ؛
تعيين agu_wr_addr3 = agu_write [3] ؛
تعيين agu_wr_addr4 = agu_write [4] ؛
تعيين agu_wr_addr5 = agu_write [5] ؛
تعيين agu_wr_addr6 = agu_write [6] ؛
تعيين agu_wr_addr7 = agu_write [7] ؛endmoduleمن فضلك ، أعطني بعض الأفكار.

 
مرحبا ،
متعدد المصدر خطأ يحدث عند قوة إشارة في عمليتين في وقت واحد.
كما تدير هذه العملية على خط مواز ، وسوف يكون إشارة إلى الخلط بين القيمة التي تتخذ.
لالسابقين :

عملية ()
يبدأ
أ <= 5 ؛
عملية الغاية ؛

الثانية : عملية ()
يبدأ
أ <= 6 ؛
.......
......
.....
عملية الغاية ؛

هنا إشارة إلى تعدد يبين خطأ المصدر على حد سواء متزامن ويدير عمليات "أ" هو الخلط الذي قيمة لاتخاذ.

أرجو أن أكون واضحا.

 

Welcome to EDABoard.com

Sponsor

Back
Top