Kód pro kombinované modul v sekvenčním obvodu

T

tarkyss

Guest
pro kombinaci modulu v sekvenčním cirtuit, verilog kód, jako níže je v pořádku? je tam nějaký problém? Vždy @ (reset nebo nebo b)
 
Ahoj tarkyss, proč použít reset signálu ve vaší kombinace modulu? Pokud používáte jako signál resetování enable, můžete použít další singal pro připojení tohoto modulu.
 
From RTL kódování úhlů pohledu, je to OK. Ale pokud máte na mysli, že je dobrý design praxe, nebo ne, záleží Vašeho návrhu a co chcete dělat s resetem ve vašem kombinačních logických.
 
protože počítadlo je potřeba počítat tep signálu, takže musím dát počáteční hodnotu před počtu. další otázky Obávám se, že počítadlo se introdue západku. ale pokud dont použít čítač, jak realizovat funtion, které počítají puls signálu.
 
Zde je základní pult.
Code:
 modul nahoru (CLK, RESET, count), vstup clk, reset, výstup reg [07:00] počet, vždy @ (posedge CLK nebo posedge reset) začít if (reset) počet
 
echo47, jestli můžu provádět je s hodinami, nebyl bych požádat o pomoc zde
 
Můžete otázka je příliš nejasná. Uveďte, prosím, více informací. "Vždy @ (reset nebo nebo b)" je platný způsob, jak začít blok Verilog.
 
žádné hodiny t je vstup w je každý výstup n-tý (n může být 1 2 4 t se na vysoké úrovni, w výstup na vysoké úrovni, šířka je stejný s t Vždy @ (reset nebo T) if (reset) začít counter = n, w = 1'b0, konec jinak začít if (t) = čítač začne počítadlo + 1 if (counter == n) w = 1'b1, konec jinak začít w = 1'b0 if (counter == T ) proti = n; konec konec reset je globální ASY signál, vložte jej do seznamu, vždy s jiným normálním signálem, je tam nějaký problém, pokud Nechci zavádět západku, jak mohu díky kódu?
 
Aniž by západku, jak si udržet jeho hodnotu čítače? Myslím, že západka je jediná cesta, a můžete použít reset vždy v bloku.
 
Pokud použití reset jak je uvedeno výše, se to způsobit obnovit signál nejasné?
 
Co u mysli nejasnou reset? Když děláte za asyc design a pomocí západky, musíte se ujistit, že nemáte žádnou závadu nebo přechod, když západku brána je otevřená, pokud reset a další signály jsou stabilní, pak můžete použít tuto cestu.
 
"T" Vstup vypadá jako hodiny. Zdá se, že se snaží použít asynchronní syntaxi dělat většinou synchronní práci. To může dát celou řadu nečekaných problémů. Je lepší používat synchronní logiku tam, kde je to možné. Nejsem si jistý, chápu, že požadované chování, ale co to?
Code:
 modul nahoru (reset, t, n, w), vstup t, reset, vstup [03:00] n, / / ​​jakákoli hodnota od 1 do 9 reg. [03:00] pult, výkon w / / výstup jeden impuls z šířky t t za každých vstupních impulsů Přiřazení w = ~ counter [3] a t; Vždy @ (negedge t nebo posedge reset) začít if (reset) proti
 
Je lepší používat synchronní logiku tam, kde je to možné. Nejsem si jistý, chápu, že požadované chování, ale co to? [Color = orange] Ano [/color]
Code:
 modul nahoru (reset, t, n, w), vstup t, reset, vstup [03:00] n, / / ​​jakákoli hodnota od 1 do 9 reg. [3: 0] čítače, výstup w / / výstup jeden impuls z šířky t t za každých vstupních impulsů Přiřazení w = ~ counter [3] a t; Vždy @ (negedge t nebo posedge reset) začít if (reset) proti
 
Myslím, že název "t" se hodí vás mimo trať. Pokud jednoduše přejmenovat "T" "hodiny", pak uvidíte, že je to obyčejný synchronní projekt, s výjimkou A bráně na "W" výstupu. (Pokud jsem nepochopil požadavků projektu.) Pokud se pokusíte zavést binární čítač pomocí asynchronní logiky, musíte být velmi opatrní, jinak syntezátor bude vytvářet nebezpečí a závody, které způsobují nepravidelný počítání v cílovém zařízení. Šedá pult by pomohlo, ale stále je to neohrabaný přístup. Ano, chcete syntezátor používat v reálném žabky připojen k low-zkosení sítě hodiny distribuce (pravděpodobně s názvem "t").
 
jsem si jist, t je ne hodiny, je doba není pevně stanovena, je doba mezi dvěma vysokým pulsem není stanoven
 
To je v pořádku. Hodiny, které se liší v období je ještě hodiny. Synchronní a asynchronní logika logika není jedno, co je toto období, pokud překročí rychlost čipu.
 
Máte pravdu, že ECHO kód syntetizuje na flipflop. Ale skutečnost, že neexistují žádné další vstupní signály, které jsou asynchronní wrt t (s výjimkou resetu, který byl manipulován), flipflop provádí shodně s pojistkou. Samozřejmě můžete alternativně kód na západku.
Code:
 modul nahoru (reset, t, n, w), vstup t, reset, vstup [03:00] n, / / ​​jakákoli hodnota od 1 do 9 reg. [03:00] pult, výkon w / / výstup jeden impuls z šířky t t za každých vstupních impulsů Přiřazení w = ~ counter [3] a t; Vždy @ (t nebo reset) začít if (reset) proti
 
mat - to musí být "else if (~ t)", protože jsem původně negedge. To funguje v simulaci chování, ale po simulace trasy (Xilinx Virtex-II) je nepořádek, pravděpodobně kvůli posunuté problémů. Vidím counter bitů kmitají v cca 1 GHz. Místo-a-software cesty vydával různá upozornění, říkal mi, že jsem se pokoušel dělat hloupé věci. Nevíte, jestli existují způsoby, jak dělat tuto práci? Jen akademická otázka - já bych normálně nikdy se nepokoušejte toto. ;) Podobné diskuse v jiném vlákně: http://www.edaboard.com/viewtopic.php?p=490556
 

Welcome to EDABoard.com

Sponsor

Back
Top