simulační triky pomocí ModelSim

P

pwq1999

Guest
Píšu zkušební stav Verilog, moje signály změnit současně s náběžné hraně hodin. Otázkou je nyní, mé hodiny je náběžná hrana detekovat signály "hodnotu, která je poté, co na hodinách náběžné hraně, ale myslím, že vstupní signály" hodnota by měla být před tím, než na hodinách náběžné hraně. všechny triky mohou být navrženo při simulaci s ModelSim? díky!
 
Předpokládám, že děláte jednoduché simulaci chování synchronní logiky, a nejde o skutečné vstupní nastavení a myslí si časy. Tady je jedna technika. Při generování hodin v testbench, použijte stejný hodiny generovat řídicí signály pro synchronní vaše modul je testován. Například tento testbench generuje 50 MHz a "dolů" řídící signál k nahoru / dolů pult v "top" modulu.
Code:
 `časový 1 ns / 1 ks modul testbench, reg. clk = 1; reg [04:00] count = 0; nahoru nahoru (CLK (CLK), dolů (počet [4])..), Vždy # 10 clk = ~ clk; Vždy @ (posedge CLK) začít počítat
 
Ano, já dělám simulaci chování synchronní logiku, ale proč některé změny signálu s hodinami současně, někdy i hodiny může zjistit správnou hodnotu a někdy ne? díky!
 
Pokud jste pozorně zkoumat simulovaný křivky, mohou objevit registry změnit současně s hodinami, ale skutečně změní po nekonečně zpožděním. Když posedge dojde, Verilog simulátor plány na akce registru se mění tak, že nastanou současně, takže váš návrh by se měl chovat rozumně. (Mimochodem, ModelSim 6.4 poskytuje nový "rozšířenou čas" funkci, která vám zobrazí těchto jednotlivých událostí, i když k nim dojde v průběhu zero času.) Pokud máte stále problémy s vaším projektem, můžete nahrát váš kód tady, a někdo vám mohou pomoci jej odladit. Také se ujistěte, že máte nainstalovanou poslední aktualizací Service Pack pro vaše simulátoru.
 

Welcome to EDABoard.com

Sponsor

Back
Top