st16c550.v

来自「UART_verilog,自己设计的异步串行收发。包括测试文件。」· Verilog 代码 · 共 47 行

V
47
字号
//------This is a brief UART ST16C550------2006211013-----//
//------Written by Song Yangjun---------------------------//
//--------------------------------------------------------//
//                   _____________________                //
//                   |                   |                //
//           RCLK----| I                 |                //
//          D[7:0]---| I/O             O |----TX          //
//          IOR -----| I                 |                //
//           IOW_----| I                 |                //
//          -DDIS----| O               I |----RX          //
//           RESET---| I               O |----INT         //
//                   |                   |                //
//                   +-------------------+                 //
//--------------------------------------------------------//
`timescale 1ns/10ps
//`include "receive.v"
//`include "transmit.v"
//--------------------------------------------------------------------------//
module ST16C550 ( RCLK, IOR, IOW_, RESET, RX, D, DDIS_, INT, TX );
	input 	RCLK, IOR, IOW_, RESET, RX;
	output 	DDIS_, INT, TX;
	inout 	[7:0] D;
	wire	DDIS_, INT, TX;
	wire	INT_1, INT_2;
//--------------------------------------------------------------------------//
receive receive(.RCLK(RCLK), 
		.RX(RX), 
		.RESET(RESET), 
		.IOR(IOR), 
		
		.D(D), 
		.DDIS_(DDIS_), 
		.INT(INT_1)
		);
transmit transmit( .RCLK(RCLK),
		.IOW_(IOW_), 
		.RESET(RESET), 
		 
		.D(D),
		.TX(TX), 
		.INT(INT_2)
		);
//--------------------------------------------------------------------------//
assign INT = INT_1 || INT_2;			//Produce an interupt flag.
//--------------------------------------------------------------------------//
endmodule

⌨️ 快捷键说明

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