# LUT RAMs for Virtex, Virtex 2, Spartan 3, Virtex 4. # The corresponding mapping file is lutrams_xcv_map.v ram distributed $__XILINX_LUTRAM_SP_ { width 1; option "ABITS" 4 { abits 4; cost 3; } option "ABITS" 5 { abits 5; cost 5; } ifndef IS_VIRTEX { option "ABITS" 6 { abits 6; cost 9; } } ifdef IS_VIRTEX2 { # RAM128X1S option "ABITS" 7 { abits 7; cost 17; } } init no_undef; prune_rom; port arsw "RW" { clock posedge; } } ram distributed $__XILINX_LUTRAM_DP_ { width 1; option "ABITS" 4 { abits 4; cost 5; } ifdef IS_VIRTEX2 { # RAM32X1D option "ABITS" 5 { abits 5; cost 9; } # RAM64X1D option "ABITS" 6 { abits 6; cost 17; } } init no_undef; prune_rom; port arsw "RW" { clock posedge; } port ar "R" { } } iCE40/yosys/'>iCE40/yosys
clone of https://github.com/YosysHQ/yosys
aboutsummaryrefslogtreecommitdiffstats
path: root/examples/intel/asicworld_lfsr/lfsr_updown_tb.v
blob: db29e60f1927a941dc588064fd438a0dc2aafc3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
module tb();
 reg clk;
 reg reset;
 reg enable;
 reg up_down;

 wire [7 : 0] count;
 wire overflow;

initial begin
  $monitor("rst %b en %b updown %b cnt %b overflow %b",
     reset,enable,up_down,count, overflow);
  clk = 0;
  reset = 1;
  enable = 0;
  up_down = 0;
  #10 reset = 0;
  #1 enable = 1;
  #20 up_down = 1;
  #30 $finish;
end

always #1 clk = ~clk;

lfsr_updown U(
.clk      ( clk      ),
.reset    ( reset    ),
.enable   ( enable   ),
.up_down  ( up_down  ),
.count    ( count    ),
.overflow ( overflow )
);

endmodule