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

Subversion Repositories ssbcc

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

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 sinclairrf
/*******************************************************************************
2
 *
3
 * Copyright 2013, Sinclair R.F., Inc.
4
 *
5
 * Test bench for the UART peripheral.
6
 *
7
 ******************************************************************************/
8
 
9
`timescale 1ns/1ps
10
 
11
module tb;
12
 
13
// 10 MHz clock
14
reg s_clk = 1'b1;
15
always @ (s_clk)
16
  s_clk <= #50 ~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
wire       s_uart1;
25
wire       s_uart2;
26
wire [7:0] s_data;
27
wire       s_data_wr;
28
wire       s_done;
29
tb_UART uut(
30
  // synchronous reset and processor clock
31
  .i_rst        (s_rst),
32
  .i_clk        (s_clk),
33
  // UART1
34
  .i_uart1_rx   (s_uart1),
35
  .o_uart1_tx   (s_uart1),
36
  // UART2
37
  .i_uart2_rx   (s_uart2),
38
  .o_uart2_tx   (s_uart2),
39
  // output data
40
  .o_data       (s_data),
41
  .o_data_wr    (s_data_wr),
42
  // program termination
43
  .o_done       (s_done)
44
);
45
 
46
always @ (posedge s_clk)
47
  if (s_data_wr)
48
    $display("%12d : %h", $time, s_data);
49
 
50
always @ (posedge s_clk)
51
  if (s_done)
52
    $finish;
53
 
54
endmodule

powered by: WebSVN 2.1.0

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