FPGA收取数据代码

来源:本站
导读:目前正在解读《FPGA收取数据代码》的相关信息,《FPGA收取数据代码》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《FPGA收取数据代码》的详细说明。
简介:在这里给大家提供一个FPGA收取数据的代码。

module UartRecv (               //input               sys_clk        ,              sys_rst_n      ,              uart_rxd       ,              //output               LED              );//input portsinput                    sys_clk             ;    //system clock;input                    sys_rst_n           ;    //system reset, low is active;input                    uart_rxd            ;    //uart rxd input ;    //output portsoutput reg [WIDTH-1:0]   LED                ;//reg define reg    [WIDTH-1:0]       buff                ;         reg    [WIDTH-1:0]       data_out            ; reg                      uart_rxd_dly1       ;    //uart rxd input ;   reg                      uart_rxd_dly2       ;    //uart rxd input ;   reg                      uart_rxd_dly3       ;    //uart rxd input ; reg                      uart_rxd_dly4       ;    //uart rxd input ;      reg                      rxd_negdge_sig_dly1 ;     reg  [SIZE-1:0]          counter             ;          //wire define wire                     rxd_negdge_sig      ;//parameter define parameter WIDTH = 8;parameter SIZE  = 16;/*********************************************************************************************************                              Main Program    **  ********************************************************************************************************/always @(posedge sys_clk or negedge sys_rst_n) begin         if (sys_rst_n ==1'b0) begin            uart_rxd_dly1 <= 1'b0;           uart_rxd_dly2 <= 1'b0;           uart_rxd_dly3 <= 1'b0;                      uart_rxd_dly4 <= 1'b0;                   end        else begin           uart_rxd_dly1  <= uart_rxd     ;           uart_rxd_dly2  <= uart_rxd_dly1;            uart_rxd_dly3  <= uart_rxd_dly2;                      uart_rxd_dly4  <= uart_rxd_dly3;                    end   endassign rxd_negdge_sig = (~uart_rxd_dly3) & uart_rxd_dly4;  always @(posedge sys_clk or negedge sys_rst_n) begin         if (sys_rst_n ==1'b0)             rxd_negdge_sig_dly1 <= 1'b0;                else             rxd_negdge_sig_dly1  <= rxd_negdge_sig;                    endalways @(posedge sys_clk or negedge sys_rst_n) begin         if ( sys_rst_n == 1'b0 )              counter <= 16'b0;        else if ( rxd_negdge_sig_dly1 == 1'b1 && counter > 57200 )             counter <= 16'b0;        else if ( counter <= 57200 )              counter  <= counter + 16'b1;           else ;endalways @(posedge sys_clk or negedge sys_rst_n) begin     if ( sys_rst_n == 1'b0 )          buff <= 8'b0;        else begin         case ( counter )             7800     :   buff[0]  <=  uart_rxd_dly4     ;             13000    :   buff[1]  <=  uart_rxd_dly4     ;             18200    :   buff[2]  <=  uart_rxd_dly4     ;             23400    :   buff[3]  <=  uart_rxd_dly4     ;             28600    :   buff[4]  <=  uart_rxd_dly4     ;             33800    :   buff[5]  <=  uart_rxd_dly4     ;             39000    :   buff[6]  <=  uart_rxd_dly4     ;             44200    :   buff[7]  <=  uart_rxd_dly4     ;             default  :   buff     <=  buff              ;            endcase    endendalways @(posedge sys_clk or negedge sys_rst_n) begin         if (sys_rst_n ==1'b0)             LED <= 8'b0;                else             LED <= buff;        endendmodule//end of RTL code

提醒:《FPGA收取数据代码》最后刷新时间 2024-03-14 01:00:09,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《FPGA收取数据代码》该内容的真实性请自行鉴别。