menghadapi masalah dalam sintesis

P

Partha Mukherjee

Guest
sementara sintesis yang register file 21.020 unit untuk ADSP sintesis saya menemukan bahwa jumlah eksponensial membutuhkan waktu ...Aku mencoba untuk menemukan di bagian mana kekacauan ini terjadi dan menemukan bahwa saat mengambil bagian MENULIS DAFTAR bersama dan TRI REGISTER NEGARA READ BUFFER dll untuk sintesis.Kode yang Verilog menulis bagian adalah sebagai berikut:

Kode:

selalu @ (posedge CLK)

mulai

if (wr1)

mulai

if (addr1_w <8)

mulai

if (srrfl)

alternate_regfile [addr1_w] <= data_in1;

lain

primary_regfile [addr1_w] <= data_in1;

akhir

else if (addr1_w <16 & & addr1_w> = 8)

mulai

if (srrfh)

alternate_regfile [addr1_w] <= data_in1;

lain

primary_regfile [addr1_w] <= data_in1;

akhir

lain

$ display ( "Invalid Daftar Nomor");

akhir
 
Silakan post modul lengkap yang dapat dikompilasi dan disintesis.

Anda diposting dua pesan yang serupa, mungkin dengan kesalahan.Anda dapat menghapus yang lain.

 
Ada perbedaan antara kode yang telah Anda tulis dan discription
telah Anda berikan!

Accoding untuk ur discription

reg [39:0] primary_regfile [3:0]; / / primer register file
reg [39:0] alternate_regfile [3:0]; / / sekunder register file
input [39: 0] data_in1,
input [3:0] addr1_w / / 4 bit masukan alamat pilihan untuk memilih nomor register
/ / 0-15 untuk penulisan.

shuld akan ....
reg [39:0] primary_regfile [7:0]; / / primer register file 8 lokasi
reg [39:0] alternate_regfile [7:0]; / / sekunder register file 8 lokasi
input [39: 0] data_in1,
input [3:0] addr1_w / / 4 bit masukan alamat pilihan untuk memilih nomor register
/ / 0-15 untuk menulis.

I dont think bahwa Anda perlu srrfh dan bendera srrfl ....

Berikut adalah kode dikoreksi ...
Kode:selalu @ (posedge CLK) mulai

if (wr1) mulai

if (addr1_w [3]) / / addr1_w = 8-15

alternate_regfile [addr1_w [2:0]] <= data_in1;

lain / / addr1_w = 0-7

primary_regfile [addr1_w [2:0]] <= data_in1;

akhir

end / / selalu @ (posedge CLK)
 
selalu @ (posedge CLK) mulai
if (wr1) mulai
if (addr1_w [3]) / / addr1_w = 8-15
alternate_regfile [addr1_w [2:0]] <= data_in1;
lain / / addr1_w = 0-7
primary_regfile [addr1_w [2:0]] <= data_in1;
akhir **
end / / selalu @ (posedge CLK)

dengan mengacu pada koding Anda seperti di atas, Anda akan mensintesis coding hardware yang dimiliki bahaya terhadap kondisi yang tidak diketahui ....perangkat keras hanya akan mempertimbangkan tentang wr1 pada logika tinggi.akan lebih baik jika Anda mengatur alamat register karena tidak ada perubahan jika wr1 adalah logika 0 .... pada tingkat fungsional, mungkin tidak ada kesalahan, tapi pada perangkat keras yang nyata, hal itu mungkin menyebabkan negara metastabil .... u add this menyarankan beberapa baris setelah **
*********************************
lain mulai

alternate_regfile <= alternate_regfile;
primary_regfile <= primary_regfile;

akhir
**********************************

 
Menambahkan kode seperti ini akan membuat jalur umpan balik secara real hardware.Apakah lintasan umpan balik ini akan menimbulkan masalah?

lain mulai

alternate_regfile <= alternate_regfile;
primary_regfile <= primary_regfile;

akhir

 
Bagaimana cara menambahkan kode sebagai lampiran karena ketika saya ingin melampirkan itu
pesan datang

"The Extension v tidak diperbolehkan".Saya telah mencoba untuk melampirkan itu wrining kode di WordPad sebagai. Rtf file namun pesan yang sama datang sebagai

"The Extension rtf tidak diperbolehkan".echo47 wrote:

Silakan post modul lengkap yang dapat dikompilasi dan disintesis.Anda diposting dua pesan yang serupa, mungkin dengan kesalahan.
Anda dapat menghapus yang lain.
 

Welcome to EDABoard.com

Sponsor

Back
Top