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

📄 decode.v.bak

📁 一个UART的FPGA core
💻 BAK
字号:
`timescale 1ns/100ps
module decode( clk,addr,data,cs_n,we_n,oe_n,//input
               baud_cs0,baud_cs1,baud_cs2,baud_cs3,
               fifot0_cs,fifot1_cs,fifot2_cs,fifot3_cs,
			   fifor0_cs,fifor1_cs,fifor2_cs,fifor3_cs,
			   inter_pos0,inter_pos1,inter_pos2,inter_pos3,inter_pos4,inter_pos5,inter_pos6,inter_pos7,
               inter_mask
              );
input  clk;
input  [4:0] addr;
input  cs_n,we_n,oe_n;
input  [7:0] data;
output baud_cs0,baud_cs1,baud_cs2,baud_cs3;
output inter_pos0,inter_pos1,inter_pos2,inter_pos3,inter_pos4,inter_pos5,inter_pos6,inter_pos7;
output fifot0_cs,fifot1_cs,fifot2_cs,fifot3_cs;
output fifor0_cs,fifor1_cs,fifor2_cs,fifor3_cs;
output inter_mask;

reg [4:0] A ;
//reg [4:0] B ;

always @(posedge clk)  if((!we_n | !oe_n )& !cs_n)  A <= addr;
//always @(negedge oe_n)  if(!we_n & !cs_n)  B <= addr;

assign baud_cs0 = ~A[4] & ~A[3] & ~A[2] & ~A[1] & ~A[0] & ~cs_n & ~we_n;  //0x0
assign baud_cs1 = ~A[4] & ~A[3] & ~A[2] & ~A[1] & A[0] & ~cs_n & ~we_n;   //0x1
assign baud_cs2 = ~A[4] & ~A[3] & ~A[2] & A[1] & ~A[0] & ~cs_n & ~we_n;   //0x2
assign baud_cs3 = ~A[4] & ~A[3] & ~A[2] & A[1] & A[0] & ~cs_n & ~we_n;    //0x3

assign inter_pos0 = ~A[4] & ~A[3] & A[2] & ~A[1] & ~A[0] & ~cs_n & ~oe_n; //0x4 读出中断位置
assign inter_pos1 = ~A[4] & ~A[3] & A[2] & ~A[1] & A[0] & ~cs_n & ~oe_n;  //0x5
assign inter_pos2 = ~A[4] & ~A[3] & A[2] & A[1] & ~A[0] & ~cs_n & ~oe_n;  //0x6
assign inter_pos3 = ~A[4] & ~A[3] & A[2] & A[1] & A[0] & ~cs_n & ~oe_n;   //0x7
assign inter_pos4 = ~A[4] & A[3] & ~A[2] & ~A[1] & ~A[0] & ~cs_n & ~oe_n; //0x8
assign inter_pos5 = ~A[4] & A[3] & ~A[2] & ~A[1] & A[0] & ~cs_n & ~oe_n;  //0x9
assign inter_pos6 = ~A[4] & A[3] & ~A[2] & A[1] & ~A[0] & ~cs_n & ~oe_n;  //0xa
assign inter_pos7 = ~A[4] & A[3] & ~A[2] & A[1] & A[0] & ~cs_n & ~oe_n;   //0xb

assign inter_mask = ~A[4] & A[3] & A[2] & ~A[1] & ~A[0] & ~cs_n & ~we_n;  //0xc 中断使能

assign fifot0_cs = A[4] & ~A[3] & ~A[2] & ~A[1] & ~A[0] & ~cs_n & ~we_n;  //0x10
assign fifot1_cs = A[4] & ~A[3] & ~A[2] & ~A[1] & A[0] & ~cs_n & ~we_n;   //0x11
assign fifot2_cs = A[4] & ~A[3] & ~A[2] & A[1] & ~A[0] & ~cs_n & ~we_n;   //0x12
assign fifot3_cs = A[4] & ~A[3] & ~A[2] & A[1] & A[0] & ~cs_n & ~we_n;    //0x13
assign fifor0_cs = A[4] & ~A[3] & A[2] & ~A[1] & ~A[0] & ~cs_n & ~oe_n;   //0x14
assign fifor1_cs = A[4] & ~A[3] & A[2] & ~A[1] & A[0] & ~cs_n & ~oe_n;    //0x15
assign fifor2_cs = A[4] & ~A[3] & A[2] & A[1] & ~A[0] & ~cs_n & ~oe_n;    //0x16
assign fifor3_cs = A[4] & ~A[3] & A[2] & A[1] & A[0] & ~cs_n & ~oe_n;     //0x17

endmodule 

⌨️ 快捷键说明

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