sensititivity zoznam tému

M

mayates

Guest
Ahoj,

I simulovať nasledujúci kód a funguje to perfektne ale keď som syntetizovať kód s Synopsys designu kompileru dostávam toto varovanie - náhodný sa čítať, ale nezobrazí v zozname sensititvity.
Všetko čo musíte urobiť je prečítať náhodného na negedge pre reset a je generovaný nespriaznenými kombinační logiky.Ak sa pridá aj náhodne na zoznam sensititvity funkciu kódu je stratená.

Vždy @ (posedge CLK alebo negedge nreset)
začne / /
Mainif (! nreset) / / CSB
začať
dec_input1 <= (náhodne, 5'b10000);
dec_input2 <= (náhodne, 5'b10000);
seg <= 31'h000ffff;
dec_input3 <= 0;
dec_input4 <= 0;
sub_seg <= 0;
koniec
else if (CLK)
začať
.
.
.
.
koniec

Ak niekto môže dať akékoľvek recomendations vašu pomoc bude veľmi ocenili.

 
Musíte ju pridať do zoznamu citlivosť, ak ste ju bude pridaný automaticky a je zobrazené varovné hlásenie.
pokúste sa ju v zozname a simulate.If kód je zle skúste použiť Ak statments alebo uloženie hodnoty do premennej (nevím, jestli funguje, skúste to).

 
Zamyslite sa nad logikou, že ste usuzující.Existuje FF vo svojom cieľovú knižnicu, ktorá implementuje reset logika máte pre dec_input *?Asi ne.(Scéna / reset typicky potrebné konštantný).

 
Varovné zdá byť opodstatnené, a nemôže byť považovaný v Verilog kódu, ak je to určené pre generovanie hrán citlivých synchrónnu logiky.Problém však je, že kód je veľmi pravdepodobne nesprávne.

must never appear.

Za hranou-citlivé logiky (infering FFS), if (CLK)
nesmie objaviť.Táto chyba môže spôsobiť, že varovania.Otherwsie by malo byť jednoducho ignorované.

 
Chybička se vloudila.V "else if (CLK)" bol pridaný v dôsledku nehody, a to nie je v kóde jsem syntetizovaná.
Potrebujem dec_input hodnôt je funkciou úplne samostatnú hodnotu náhodný, pretože cyklus sa opakuje každých 16 CLK cykly a ak mám nastaviť hodnotu pre reset budem mať tón vo výsledkoch.
Náhodné je 5 bitov široká a nemá zmysel, aby v citlivosti zoznamu ako já naozaj chcem stopovanie postup s asynchronní reset.

I syntetizovaná kódu s syncronous reset a Warining zmizne.

Mám hádat môj vykonávanie tejto Verilog je nesprávna.Výsledky simulácie sú na tie som vyžadujú.Takže som potrebné, aby sa funkcie, ale to, ako urobiť kód syntetizovať správne.Akýkoľvek návrhy?

 

Welcome to EDABoard.com

Sponsor

Back
Top