Verilog a FPGA (bylo FPGA Altera a NIOS)

jaroslav buchta jaroslav.buchta na hascomp.cz
Středa Únor 11 09:57:27 CET 2015


Dekuji za připomínky, je to zkopirovany kód z tutorialu a ty poznámky si vezmu k srdci ;-)

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?

----- Původní zpráva -----
Od:"Jan Smrz" <jan.smrz na email.cz>
Odesláno:‎11. ‎2. ‎2015 9:33
Komu:"HW-news" <hw-list na list.hw.cz>
Předmět:Re: Verilog a FPGA (bylo FPGA Altera a NIOS)

Zdravim,

k uvedenemu kodu bych mel par poznamek.

`include "counter.v" - obvykle je kompilovat to stejne knihovny namisto 
includovani do jednoho souboru


initial begin
       clock = 1;       // initial value of clock
  end

  // Clock generator
     always begin
         #10  clock = ~clock; // Toggle clock every 5 ticks
     end

Tady ridite jeden signal (clock) ze dvou procesu, coz vede k problemum, 
Doporucuji spise

     initial begin
        clock <= 1;
        forever
            #10  clock <= ~clock; // Toggle clock every 5 ticks
     end



  // Connect DUT to test bench
  counter U_counter (
   clock,
   reset,
   counter_out,
   enable
   );


Tento zapis je spravny, ale vrele doporucuji pouzivat celkovy zapis. U pozicniho 
zapisu je hrozne lehke udelat chybu, zejmena pri postupnych upravach kodu.

  // Connect DUT to test bench
  counter U_counter (
   .clock(clock),
   .reset(reset),
   .counter_out(counter_out),
   .enable(enable)
   );



Nelze ovsem provest syntezu, chybove hlaseni Error (12061): Can't synthesize 
current design -- Top partition does not contain any logic

Toto je celkem pochopitelne. Nektere konstrukty jazyka jsou urceny jen pro 
verifikaci a nelze je syntetizovat (protoze neexistuje jejich ekvivalent v 
cilove logice). Drive diskutovane zpozdeni #N je jednim z typickych prikladu.



J.S.


On 02/11/2015 06:17 AM, Jaroslav Buchta wrote:
> Jak definovat průběhy pro gate level simulaci?
>
> Pro RTL je nejlepsi vytvorit primo verilog soubor, v takovemto stylu?
>
> `include "counter.v"
> `timescale 1ns / 1ns
>
> module counter_tb();
>   // Declare inputs as regs and outputs as wires
>   reg clock, reset, enable;
>   wire [7:0] counter_out;
>
>   // Initialize all variables
>   initial begin
>       clock = 1;       // initial value of clock
>       reset = 0;       // initial value of reset
>       enable = 0;      // initial value of enable
>       #5  reset = 1;    // Assert the reset
>       #10  reset = 0;   // De-assert the reset
>       #10  enable = 1;  // Assert enable
>       #100  enable = 0; // De-assert enable
>       #500  $finish;      // Terminate simulation
>  end
>
>  // Clock generator
>     always begin
>         #10  clock = ~clock; // Toggle clock every 5 ticks
>     end
>
>  // Connect DUT to test bench
>  counter U_counter (
>   clock,
>   reset,
>   counter_out,
>   enable
>   );
> endmodule
> -------------------------------
> nebo se pouziva jina metoda?
>
> Nelze ovsem provest syntezu, chybove hlaseni Error (12061): Can't synthesize 
> current design -- Top partition does not contain any logic
>
> Kdyz provedu syntezu samotneho counter.v, tak to jde krasne simulovat na gate 
> level urovni, ale vstupni prubehy musim pokazde naklikat - neprisel jsem nejak 
> na logiku v altera modelsim
> jak je jednou vytvorit a ulozit pro dalsi simulace. A vubec se to blbe dela, 
> text je text...
>
> Jaky je bezny postup?
>
>
> ---
> This email has been checked for viruses by Avast antivirus software.
> http://www.avast.com
>
> _______________________________________________
> HW-list mailing list  -  sponsored by www.HW.cz
> Hw-list na list.hw.cz
> http://list.hw.cz/mailman/listinfo/hw-list

_______________________________________________
HW-list mailing list  -  sponsored by www.HW.cz
Hw-list na list.hw.cz
http://list.hw.cz/mailman/listinfo/hw-list
------------- další část ---------------
HTML příloha byla odstraněna...
URL: <http://list.hw.cz/pipermail/hw-list/attachments/20150211/1d7e8718/attachment.html>


Další informace o konferenci Hw-list