<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>