>, které čelí problémům v syntéze

  • Thread starter Partha Mukherjee
  • Start date
P

Partha Mukherjee

Guest
zatímco syntézy rejstříku soubor jednotku pro ADSP 21020 jsem zjistil, že syntéza se exponenciální množství času ...Snažím se najít ve které části tohoto nepořádek objeví, a zjistíte, že při užívání LISTINA WRITE část spolu s údaji z registru Čtení a TRI STATE BUFFER atd pro syntézu.Verilog kód napsat části je následující:

Kód:

Vždy @ (posedge CLK)

začít

if (wr1)

začít

if (addr1_w <8)

začít

if (srrfl)

alternate_regfile [addr1_w] <= data_in1;

jiný

primary_regfile [addr1_w] <= data_in1;

konec

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

začít

if (srrfh)

alternate_regfile [addr1_w] <= data_in1;

jiný

primary_regfile [addr1_w] <= data_in1;

konec

jiný

$ Display ("Neplatný Číslo v rejstříku");

konec
 
Prosím post kompletní modul, který je možné sestavit a syntetizovány.

Vy posta dvě podobné zprávy, možná omylem.Můžete odstranit ten druhý.

 
Tam je rozdíl mezi kódem jste odeslali a discription
jste dali!

Ruční dle ur discription

reg [39:0] primary_regfile [3:0], / / primární registrovat soubor
reg [39:0] alternate_regfile [3:0], / / sekundární registrovat soubor
vstup [39: 0] data_in1,
vstup [3:0] addr1_w / / 4 bit adresu výběr vstupy pro volbu registrační číslo
/ / 0 - 15 pro zápis.

shuld být ....
reg [39:0] primary_regfile [7:0], / / primární registrovat OBRÁZEK 8 míst
reg [39:0] alternate_regfile [7:0], / / sekundární registrovat OBRÁZEK 8 míst
vstup [39: 0] data_in1,
vstup [3:0] addr1_w / / 4 bit adresu výběr vstupy pro volbu registrační číslo
/ / 0 - 15 pro zápis.

I dont myslím, že budete potřebovat srrfh a srrfl vlajky ....

Zde je opravený kód ...
Kód:Vždy @ (posedge CLK) začít

if (wr1) začíná

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

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

else / / addr1_w = 0 až 7

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

konec

konec / / Vždy @ (posedge CLK)
 
Vždy @ (posedge CLK) začít
if (wr1) začíná
if (addr1_w [3]) / / addr1_w = 8 - 15
alternate_regfile [addr1_w [2:0]] <= data_in1;
else / / addr1_w = 0 až 7
primary_regfile [addr1_w [2:0]] <= data_in1;
konec **
konec / / Vždy @ (posedge CLK)

S odkazem na Váš kódování jak je uvedeno výše, vaše kódování bude syntetizovat hardware, že vlastnit ohrožení neznámé stavu ....hardware bude brát v úvahu pouze o wr1 v logice vysoké.Je lepší, když jste nastavili adresu registry jako k žádné změně, pokud wr1 je logika 0 .... na funkční úrovni, nemusí být chyba, ale na skutečný hardware, může to způsobit metastabilní stav .... navrhnout u přidat tento pár linek po **
*********************************
jinde začnou

alternate_regfile <= alternate_regfile;
primary_regfile <= primary_regfile;

konec
**********************************

 
Přidání kód, jako je toto vytvoří zpětnou vazbu cestu v reálném hardware.Znamená to zpětná vazba cesta bude vytvářet nějaké problémy?

jinde začnou

alternate_regfile <= alternate_regfile;
primary_regfile <= primary_regfile;

konec

 
Jak mám přidat kód jako doplněk, protože když chci připojit
Zpráva přichází

"Rozšíření v není dovoleno".Snažil jsem se připojit wrining kód na WordPad jako. Rtf soubor, ale stejná zpráva přijde jako

"Rtf rozšíření není dovoleno".echo47 napsal:

Prosím post kompletní modul, který je možné sestavit a syntetizovány.Vy posta dvě podobné zprávy, možná omylem.
Můžete odstranit ten druhý.
 

Welcome to EDABoard.com

Sponsor

Back
Top