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

📄 decoder.v.bak

📁 用verilog编写在FLEX10K上实现的简易CPU
💻 BAK
字号:
// Instruction Decodemodule decoder(ins, de_en, rgaddr1, rgaddr2, rgaddr3, imm, op, op_type, reg_zero, reg_imm, reg_dm);	input  	ins, de_en;	output  rgaddr1, rgaddr2, rgaddr3, imm, op, op_type, reg_zero, reg_imm, reg_dm;		wire[15:0]	ins;	wire[3:0]	rgaddr1, rgaddr2, rgaddr3;	wire[15:0]	imm;	wire[7:0]	op;	wire[2:0]	op_type;			parameter	st = 4'b0010,				ld	= 4'b0011, 				ist = 4'b0000,				ild = 4'b0001;		assign rgaddr1 = ins[7:4];	assign rgaddr2 = ( (ins[15:12] == ist) || (ins[15:12] == st) )?						ins[11:8] : ins[3:0];	assign rgaddr3 = ( (ins[15:12] == ld) || (ins[15:12] == ild) )?						ins[11:8] : ins[7:4];		assign imm = ( (ins[15:13] == 3'b000) || (ins[15:14] == 2'b11) )?						{12'h000, ins[3:0]} : {8'h00, ins[7:0]};							assign op = ins[15]	? ins[15:8]	: 8'h00;   //000 as address addition		assign op_type = ( (ins[15:12] == ist) || (ins[15:12] == st) ) ?						2'b10 :							( ((ins[15:12] == ld) || (ins[15:12] == ild) )? 2'b11 : 2'b00 );							assign reg_zero = (ins[15:12] == st) || (ins[15:12] == ld);	assign reg_imm = (ins[15:14] == 2'b00) || (ins[15:14] == 2'b11 );	assign reg_dm = (ins[15:12] == ld) || (ins[15:12] == ild);	endmodule	

⌨️ 快捷键说明

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