微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > UART 软核 测试

UART 软核 测试

时间:10-02 整理:3721RD 点击:
我用verilog 写了UART Tx 的代码。
到目前为止,我先想测试UART传输,但我不太确定如何测试它。
我应该测试什么呢?
我不是要求测试代码。 我需要一些有关测试UART软核的指导。
谢谢!

  1. module Tx_top(clk, reset, start, i_data, serial_out)   // UART transmitter :  parallel input, serial output

  2. input clk;  // 48MHz
  3. input reset;
  4. input start;     // i_data is valid, so start transmission
  5. input[7:0] i_data;
  6. output serial_out;

  7. wire baud_out;  // 9600bps baudrate clock
  8. wire serial_data;  // output from serializer (TxUART)

  9. TxUART tx (.clk(baud_out), .reset(reset), .start_tx(start), .i_data(i_data), .o_data(serial_data));

  10. baud_generator bg (.clk(clk), .baud_out(baud_out));

  11. shift_register sreg (.clk(baud_out), .reset(reset), .data_in(serial_data), .data_out(serial_out));

  12. // FIFO tx_fifo (clk, reset, enqueue, dequeue, flush, i_value, almost_full, almost_empty, o_value);

  13. endmodule

复制代码

  1. `define Tx_IDLE_BIT 0
  2. `define Tx_START_BIT 1
  3. `define Tx_DATA_BITS = ALMOST_FULL_THRESHOLD;
  4. assign almost_empty = count <= ALMOST_EMPTY_THRESHOLD;
  5. assign o_value = data[head];

  6. always @(posedge clk)
  7. begin
  8.     if (reset) begin
  9.         head <= 0;
  10.         tail <= 0;
  11.         count <= 0;
  12.     end

  13.     else begin
  14.         if (flush) begin
  15.             head <= 0;
  16.             tail <= 0;
  17.             count <= 0;
  18.         end

  19.         else begin
  20.             if (enqueue) begin
  21.                 tail <= tail + 1;
  22.                 data[tail] <= i_value;
  23.             end

  24.             if (dequeue) begin
  25.                     head <= head + 1;
  26.             end

  27.             if (enqueue && !dequeue)
  28.                     count <= count + 1;
  29.             else if (dequeue && !enqueue)
  30.                     count <= count - 1;
  31.         end
  32.     end
  33. end

  34. endmodule

复制代码


最简单的就是发送一个数,正确点个灯

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top