⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fpga_40xrs232.v

📁 清华大学verilog hdl源码例子
💻 V
字号:
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
//                                                       ;;
//              开放矽智财                               ;;
//                                                       ;;
//      矽智财名称      : FPGA 4.0的RS-232串列介面测试   ;;
//      程式档名称      : fpga_40RS232.v                 ;;
//      实验板平台      : OPEN FPGA 4.0                  ;;
//   							 ;;
//                                                       ;;
//      (C) Copyright 2002, All Rights Reserved          ;;
//                                                       ;;
//;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

// 月/日/年     历史记录
// 05/15/03     开始

module fpga_40RS232( 	reset1,CLK, segout, CTS, RTS, RD, TD );

input           reset1;    // 以按键开关S1做为重置讯号输入
input           CLK;              // 以512KHz时脉做为系统时脉输入
input           CTS, RD;          // RS-232的输入
output          RTS, TD;          // RS-232的输出

output [7:0]    segout;           // 显示收到的RS-232资料


wire S1= reset1;

wire            [7:0]LED;


//****************除频电路********************************
reg [2:0]div;

always@(posedge S1 or negedge CLK) //12M
	begin
   	if(S1) div=0;
   	else
   	div=div+1'b1;
	end

wire	CLK1 = ( div == 2'd2 );     //1.5MHz for 19200 ok

//*********************************************************
//              RS-232串列介面控制单元
//*********************************************************

wire            int_rd, int_wr;
wire            int_rx, int_tx;
wire    [7:0] s_data_out;
wire    [7:0] s_data_in;

serial serial(
        .reset( S1 ), .clock( CLK1 ),
        .data_out( s_data_out ),.data_in( s_data_in ),
        .rd( int_rd ), .wr( int_wr ),
        .int_rx( int_rx ), .int_tx( int_tx ),
        .rx( RD ), .tx( TD ), .rts( RTS ), .cts( CTS )
);

diag diag(

        .reset( S1 ), .clock( CLK1 ), .led( LED ),
        .int_data_out( s_data_in ),.int_data_in( s_data_out ), 
        .int_rd( int_rd ), .int_wr( int_wr ),
        .int_rx( int_rx ), .int_tx( int_tx )
);

//.........................................................
 	
wire  [7:0] segout;

assign segout[7:0] = reset1 ?  8'b01010101 : LED[7:0];
//*********************************************************
//              显示器部分
//*********************************************************

      
endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -