tvivl i verilog

H

hariharan4000

Guest
hej
kan nogen klare mig dette problem i forbindelse wth verilog?
for folowing stmt

altid @ (posedge CLK eller negedge reset)
.
.
.
endmodule
/ / Jeg får koden simulerede correctely men IKKE synthesisable ..
når jeg ændre stmt altid @ (posedge CLK eller posedge reset)
det bliver syntetiseret
yi er ikke fik syntetiseret jeg blande stigende og faldende kant.?
hvad er årsagen?

 
som værktøj?
dc?
Jeg skriver ofte kode som denne,
det er ok

 
Koden "always @ (posedge CLK eller negedge reset)" er synthesisable.

 
dette ser et værktøj relateret problem, prøv med et andet værktøj.koden er meget synthesizable.

 
Efter DFF kode er ikke synthesizable!

Kode:

modul d_ff (clk, reset, d, q);

input CLK, reset, d;

output q;

reg q;altid @ (posedge CLK eller negedge reset)

if (reset) / / dette kunne være problemet!

q <= 1'b0;

anden

q <= d;endmodule
 
Du kan eventuelt tjekke dit mål biblioteket for at se, om en async reset (aktiv lav) DFF eksisterer.Kontroller dit syntese logfil omhyggeligt, vil den fortælle dig, hvorfor det ikke synthesizable.

 
Dette skyldes ikke altid redegørelse, men kan skyldes en af de erklæringer indersiden af denne blok!
check ur kode og fortæl mig, har u gjort nogen fejl gerne kontrollere nulstille == 1 i stedet for at nulstille == 0
I din kode, er det meget nødvendigt at have aktive lave reset (u er kontrol negedge af reset) ...der er asynchronus aktiv lav nulstillet.Hvis dette er tilfældet, så kan u bruger et meget gammelt værktøj.der forsøger at kortlægge posedge / negedge til flipflop ..nogle værktøjer, der anvendes til at gøre dette!.At fjerne dette blot fjerne negedge for reset og har noget lignende
altid @ (posedge CLK eller reset).
denne wlll løse problemet

<img src="http://www.edaboard.com/images/smiles/icon_smile.gif" alt="Smile" border="0" />
 
Hi Hariharan,

Der er intet galt med koden.Det er synthesizable.Det betyder blot, at ur-målet biblioteket ikke havde en async aktiv lav nulstille DFF.

Check ur mål bibliotek.

<img src="http://www.edaboard.com/images/smiles/icon_wink.gif" alt="Wink" border="0" />-no_mad

 
hej venner
thanks for ur svar.
Jeg havde skrevet som
1) altid @ (posedge CLK eller negedge reset)
if (reset) / / det var en fejl.
<statements>
når jeg har ændret den betingelse, at
2) if (reset == 0)
<statements>
koden bliver syntetiseret.
men er dette problemet i forbindelse med værktøjet?
Det samme kan prøvet med koden givet for DFF afgivet Mr.Nand_gates.
syntese værktøj jeg bruger er Xilinx 6.3.03i og leospec.guys hvis ur bruger nogen nyeste verson af disse værktøj, plz tjekke det.
hilsen
Hari

 
Haii,

Jeg fik følgende fejl i Xilinx ISE 6.1.03i, mens jeg har syntetiserede koden fra Mr.nand porte,

Citat:

FEJL: Xst: 898 - dflp.v linje 8: Reset eller sæt test betingelse for <q> er uforenelig med den begivenhed erklæring i følsomhed listen.
 
hvis u skrev noget som dette:
Kode:

altid @ (posedge CLK eller negedge reset)

if (reset)

q <= 0;

...
 

Welcome to EDABoard.com

Sponsor

Back
Top