sintezės problema ..... Can anyone help me .................

A

akp494

Guest
I'm using indeksas naudotis kai registre keičiamas, kaip šis indekso pokyčiai bitų reikšmių priklausomai nuo tam tikrų sąlygų.
į VHDL kodo gabalas atrodo taip:
<= REG (Ptr 1 downto Ptr), kur "" yra du truputį vektorius.

Kai bandau sintezuoti virš kodo fragmentą, Synopsys DC sako nuolat Tikimasi kaip indeksas.

Mano nuomone sintezė priemonė turėtų būti modernizuotos išvesti šių realizavimo natūra.Čia "reg" yra apibrėžta "," yra apibrėžiamas taip pat "Ptr" yra apibrėžta, ir todėl ši priemonė neturėtų būti idealiai pamatyti problema įgyvendinant šią.

Leiskite man paaiškinti problemą kitaip.

Tarkime, aš po signalo deklaracijas.signalas Reg: std_logic_vector (15 downto 0);signalas PTR: integer;signalas: std_logic_vector (1 downto 0);

Tada tam tikru kodu vietą, jei aš sakau<= REG (Ptr 1 downto ptr)Dabar, kai bandau sintezuoja šį kodą naudojate DC ji suteikia ne anksčiau ataskaita apie šį komentarą klaida.

"Nuolat yra tikėtis, kad indeksas"Ar yra kokia nors išspręsti šią?Ar tai problema su įrankiu.

 
Jūs galite naudoti taip, jei PTR tai 4-bit Vektorius

atveju (ptr)
kai "0000" => <= REG (? downto?);
kai "0001" => <= REG (? downto?);
...
kai kiti => ...
endcase

 
Sveiki Jazz
Aš nenoriu atlikti testų dėl visų iš "Ptr" kombinacijos.Nes jis bus susprogdinti mano kodą.Taigi ar yra kokiu nors būdu priemonė gali pripažinti tokius indeksavimo natūra?

 
Galite pabandyti BC arba Synplify nes įrankiai paramos elgesį sintezė.

 
esate sumaišius su bitų dydžių.
Tai painioja DC.
jums reikia naudoti tikslaus dydžio bitai kurį naudoja
į pamainą raj.
Dont Give papildomų.
& Taip, turite deklaruoti visus variantus (naudoti fullcase / lygiagreti atveju.)

Jūs galite pamatyti pamainą reg pavyzdžių šiame forume / Web
sėkmės.

 
naudoti linter prieš einant su DC.
ji taip pat gali padėti.

 
Jūs galite ne tai šiuo būdu.Atkreipkite dėmesį, kad <= REG (Ptr 1 downto ptr) reiškia, kad fizinė ryšiai ir raj keičiasi priklausomai nuo PTR verte.Kai dizainas sintetina šių fizinių ryšys tampa pastovus.Jūs norite, kad šie fiziniai sujungimai būtų pakeisti per realiu laiku, kai prietaisas yra darbo, kurios neįmanoma.Be VHDL toks pareiškimas yra naudojama tik statinio tikslais pvz., kai jūs naudojate bendro.Arba, ką jūs galite padaryti, tai: jūs turėtumėte naudoti Multiplexer tarp ir reg ir kontrolės duomenimis tarp srauto ir raj keičiant pasirinkti įvedant Multiplexer.

 

Welcome to EDABoard.com

Sponsor

Back
Top