Pomoc potrebné pre Verilog kód

P

preet

Guest
Ja som pred problémom, pokiaľ ide o syntézu nasledujúci kód
Code:
 modul graycode_enc (x, y), vstup [31:0] x, výstup [31:0] y, / / ​​vstup CLK, reg [31:0 ] y, i celé, vždycky @ (*) začína y [31] = 0, i = i-1) začína y [i] = 0; i = i-1) začína y [i] = y [i +1 ] ^ x [i]; end end endmodule [/b]
ihave použiť blokovanie a neblokujúcej konštrukcia, ale syntéza výsledky sú rovnaké pre oba. prečo ?...... S pozdravom
 
Dobrý deň, používate neblokujúcej úlohy bez hodín, ktorá nemôže mať žiadny vplyv. V kombinovaných blokov vždy, bez blokovania nič neznamená, priradenie sa okamžite objaví na výstupe. V dôsledku toho, že spätná väzba od y [i +1] musí predložiť nezamýšľané výsledky. Našťastie je spätná väzba nie je potrebné so šedou kódovanie, môžete použiť bez spätnej väzby postaviť miesto:
Code:
 Vždy @ (x) začať y [31] = x [31]; for (i = 30; i> = 0, i = i-1) začína y [i] = x [i +1] ^ x [i]; end end
, ale čisto kombinačné kód ukazuje závady počas x prechody. Preto môže byť zmysluplné použiť synchrónny register Y, ak napríklad chcete preniesť šedé zakódované hodnoty na ďalšie hodiny domény. V opačnom prípade najdôležitejšia vlastnosť Gray kód mohol stratiť.
Code:
 Vždy @ (posedge y) začína y [31] = 0, i = i-1) začína y [i]
 

Welcome to EDABoard.com

Sponsor

Back
Top