OpenCores
URL https://opencores.org/ocsvn/ssbcc/ssbcc/trunk

Subversion Repositories ssbcc

[/] [ssbcc/] [trunk/] [core/] [9x8/] [peripherals/] [tb/] [latch/] [tb.v] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sinclairrf
/*******************************************************************************
2
 *
3
 * Copyright 2012, Sinclair R.F., Inc.
4
 *
5
 * Test bench for the latch peripheral.
6
 *
7
 ******************************************************************************/
8
 
9
`timescale 1ns/1ps
10
 
11
module tb;
12
 
13
// 100 MHz clock
14
reg s_clk = 1'b1;
15
always @ (s_clk)
16
  s_clk <= #5 ~s_clk;
17
 
18
reg s_rst = 1'b1;
19
initial begin
20
  repeat (5) @ (posedge s_clk);
21
  s_rst = 1'b0;
22
end
23
 
24
reg [23:0] s_value = 24'h8735;
25
always @ (posedge s_clk)
26
  if (s_rst)
27
    s_value <= 24'h8735;
28
  else
29
    s_value <= { s_value[0+:23], ^{ s_value[15], s_value[13], s_value[12], s_value[10]} };
30
 
31
wire [7:0] s_test;
32
wire       s_test_wr;
33
wire       s_done;
34
tb_latch uut(
35
  // synchronous reset and processor clock
36
  .i_rst        (s_rst),
37
  .i_clk        (s_clk),
38
  .i_9value     (s_value[0+:9]),
39
  .i_24value    (s_value[0+:24]),
40
  .o_test       (s_test),
41
  .o_test_wr    (s_test_wr),
42
  .o_done       (s_done)
43
);
44
 
45
always @ (posedge s_clk)
46
  if (s_test_wr)
47
    $display("%12d : %x", $time, s_test);
48
 
49
always @ (posedge s_clk)
50
  if (s_done)
51
    $finish;
52
 
53
endmodule

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.