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

📄 a86_reg_sel.v

📁 intel 8088 架构的verilog代码
💻 V
字号:
// http://gforge.openchip.org/projects/a86

`include "timescale.v"
`include "a86_defines.v"

module a86_reg_sel(
  icode,
  rm,w,
  ax,cx,dx,bx,
  sp,bp,si,di,
  dout
  );

input [`a86_icode_width-1:0] icode;
input [2:0] rm;
input w;
input [15:0] ax;
input [15:0] cx;
input [15:0] dx;
input [15:0] bx;
input [15:0] sp;
input [15:0] bp;
input [15:0] si;
input [15:0] di;
output [15:0] dout;

reg [15:0] dout;

reg [15:0] ax_anded;
reg [15:0] bx_anded;
reg [15:0] cx_anded;
reg [15:0] dx_anded;

always @ (ax,icode)
  if (icode[`a86_icode_sel_ax]) ax_anded = ax;
  else ax_anded = 16'h0000;

always @ (bx,icode)
  if (icode[`a86_icode_sel_bx]) bx_anded = bx;
  else bx_anded = 16'h0000;

always @ (cx,icode)
  if (icode[`a86_icode_sel_cx]) cx_anded = cx;
  else cx_anded = 16'h0000;

always @ (dx,icode)
  if (icode[`a86_icode_sel_dx]) dx_anded = dx;
  else dx_anded = 16'h0000;

always @ (ax_anded,bx_anded,cx_anded,dx_anded)
  dout = ax_anded | bx_anded | cx_anded | dx_anded;

/*
always @ (rm)
  case(rm)
    3'b000: dout = ax;
    3'b001: dout = cx;
    3'b010: dout = dx;
    3'b011: dout = bx;
    3'b100: dout = sp;
    3'b101: dout = bp;
    3'b110: dout = si;
    default dout = di;
  endcase
*/  



endmodule

⌨️ 快捷键说明

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