原创 【西西学FPGA】Lesson 9

2016-3-28 13:14 765 12 12 分类: FPGA/CPLD

2016年3月27日 杨亮
1 tx_rx
2 task 调用
3 波特率和比特率
4 $readmemh(“filename”, mem_name)在使用这个命令时,”filename”中的路径要用反斜杠’/’,而不是斜杠’\’。
5 for 语句
6 采样率 载波
载波 或者载频(载波频率)是一个物理概念,其实就是一个特定频率的无线电波,单位Hz。在无线通信技术上我们使用载波传递信息,将数字信号调制到一个高频载波上然后再在空中发射和接收。所以载波是传送信息(话音和数据)的物理基础,最终的承载工具。形象的说载波就是一列火车,用户的信息就是货物。
7
关于 uart_tb的写法
 1 定义一个写了数字的 .txt文件
 2 代码:
/**************************************************************************************************************************************************************************************************************************************************************************************************************************************************
/**************************************************************************************************************************************************************************************************************************************************************************************************************************************************
module uart_tb;
reg sclk;
reg s_rst_n;
reg rx;
reg [7:0] a[255:0];

wire tx;

defparam uart_inst.tx_module1.BAUT_CNT = 52;
defparam uart_inst.rx_module1.BAUT_CNT = 52;
  initial
          begin
        $readmemh("num.txt",a);
        sclk = 1;
        s_rst_n = 0;
        #30 s_rst_n = 1;
        end
always #5 sclk = ~sclk;

initial
        begin
                rx <= 1'b1;
                #200 rx_byte();
        end


task rx_byte();
        integer j;
        for(j=0;j<10;j=j+1)
        rx_bit(a[j]);
endtask

task rx_bit(input [7:0]data);//把数字转化为 rx帧
        integer i;
        for (i = 0;i < 10;i = i+1)
                begin
                case(i)
                0:rx <= 1'b0;
                1:rx <= data[0];
                2:rx <= data[1];
                3:rx <= data[2];
                4:rx <= data[3];
                5:rx <= data[4];
                6:rx <= data[5];
                7:rx <= data[6];
                8:rx <= data[7];
                9:rx <= 1'b1;
                endcase
                #520;
                end
endtask
uart uart_inst(
.sclk (sclk ),
.s_rst_n (s_rst_n ) ,
.rx_data_in(rx) ,
                      
.po_tx(tx)
);

endmodule
/**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/**************************************************************************************************************************************************************************************************************************************************************************************************************************************************/***************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
作业:
2 精简帧协议

 

文章评论0条评论)

登录后参与讨论
我要评论
0
12
关闭 站长推荐上一条 /2 下一条