<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head><body><div><div style="font-family: Calibri,sans-serif; font-size: 11pt;">Dekuji za připomínky, je to zkopirovany kód z tutorialu a ty poznámky si vezmu k srdci ;-)<br><br>Pro tu gate-level simulaci se tedy musí vytvořit nějaký soubor, který se použije jen pro simulaci a bude definovat vstupní prubehy a jejich casovani ? Nemá někdo příklad?</div></div><div dir="ltr"><hr><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Od:</span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:jan.smrz@email.cz">Jan Smrz</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Odesláno:</span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">11. 2. 2015 9:33</span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Komu:</span><span style="font-family: Calibri,sans-serif; font-size: 11pt;"><a href="mailto:hw-list@list.hw.cz">HW-news</a></span><br><span style="font-family: Calibri,sans-serif; font-size: 11pt; font-weight: bold;">Předmět:</span><span style="font-family: Calibri,sans-serif; font-size: 11pt;">Re: Verilog a FPGA (bylo FPGA Altera a NIOS)</span><br><br></div>Zdravim,<br><br>k uvedenemu kodu bych mel par poznamek.<br><br>`include "counter.v" - obvykle je kompilovat to stejne knihovny namisto <br>includovani do jednoho souboru<br><br><br>initial begin<br> clock = 1; // initial value of clock<br> end<br><br> // Clock generator<br> always begin<br> #10 clock = ~clock; // Toggle clock every 5 ticks<br> end<br><br>Tady ridite jeden signal (clock) ze dvou procesu, coz vede k problemum, <br>Doporucuji spise<br><br> initial begin<br> clock <= 1;<br> forever<br> #10 clock <= ~clock; // Toggle clock every 5 ticks<br> end<br><br><br><br> // Connect DUT to test bench<br> counter U_counter (<br> clock,<br> reset,<br> counter_out,<br> enable<br> );<br><br><br>Tento zapis je spravny, ale vrele doporucuji pouzivat celkovy zapis. U pozicniho <br>zapisu je hrozne lehke udelat chybu, zejmena pri postupnych upravach kodu.<br><br> // Connect DUT to test bench<br> counter U_counter (<br> .clock(clock),<br> .reset(reset),<br> .counter_out(counter_out),<br> .enable(enable)<br> );<br><br><br><br>Nelze ovsem provest syntezu, chybove hlaseni Error (12061): Can't synthesize <br>current design -- Top partition does not contain any logic<br><br>Toto je celkem pochopitelne. Nektere konstrukty jazyka jsou urceny jen pro <br>verifikaci a nelze je syntetizovat (protoze neexistuje jejich ekvivalent v <br>cilove logice). Drive diskutovane zpozdeni #N je jednim z typickych prikladu.<br><br><br><br>J.S.<br><br><br>On 02/11/2015 06:17 AM, Jaroslav Buchta wrote:<br>> Jak definovat průběhy pro gate level simulaci?<br>><br>> Pro RTL je nejlepsi vytvorit primo verilog soubor, v takovemto stylu?<br>><br>> `include "counter.v"<br>> `timescale 1ns / 1ns<br>><br>> module counter_tb();<br>> // Declare inputs as regs and outputs as wires<br>> reg clock, reset, enable;<br>> wire [7:0] counter_out;<br>><br>> // Initialize all variables<br>> initial begin<br>> clock = 1; // initial value of clock<br>> reset = 0; // initial value of reset<br>> enable = 0; // initial value of enable<br>> #5 reset = 1; // Assert the reset<br>> #10 reset = 0; // De-assert the reset<br>> #10 enable = 1; // Assert enable<br>> #100 enable = 0; // De-assert enable<br>> #500 $finish; // Terminate simulation<br>> end<br>><br>> // Clock generator<br>> always begin<br>> #10 clock = ~clock; // Toggle clock every 5 ticks<br>> end<br>><br>> // Connect DUT to test bench<br>> counter U_counter (<br>> clock,<br>> reset,<br>> counter_out,<br>> enable<br>> );<br>> endmodule<br>> -------------------------------<br>> nebo se pouziva jina metoda?<br>><br>> Nelze ovsem provest syntezu, chybove hlaseni Error (12061): Can't synthesize <br>> current design -- Top partition does not contain any logic<br>><br>> Kdyz provedu syntezu samotneho counter.v, tak to jde krasne simulovat na gate <br>> level urovni, ale vstupni prubehy musim pokazde naklikat - neprisel jsem nejak <br>> na logiku v altera modelsim<br>> jak je jednou vytvorit a ulozit pro dalsi simulace. A vubec se to blbe dela, <br>> text je text...<br>><br>> Jaky je bezny postup?<br>><br>><br>> ---<br>> This email has been checked for viruses by Avast antivirus software.<br>> http://www.avast.com<br>><br>> _______________________________________________<br>> HW-list mailing list - sponsored by www.HW.cz<br>> Hw-list@list.hw.cz<br>> http://list.hw.cz/mailman/listinfo/hw-list<br><br>_______________________________________________<br>HW-list mailing list - sponsored by www.HW.cz<br>Hw-list@list.hw.cz<br>http://list.hw.cz/mailman/listinfo/hw-list<br></body></html>