mult_select.v
上传用户:saul_905
上传日期:2013-11-27
资源大小:184k
文件大小:1k
源码类别:

VHDL/FPGA/Verilog

开发平台:

Visual C++

  1. `include "oc8051_timescale.v"
  2. // synopsys translate_on
  3. `include "oc8051_defines.v"
  4. module oc8051_alu_src1_sel (sel, immediate, acc, ram, ext, des);
  5. //
  6. // sel          (in)  select signals (from decoder, delayd one clock) [oc8051_decoder.src_sel1 -r]
  7. // immediate    (in)  immediate operand [oc8051_immediate_sel.out1]
  8. // acc          (in)  accomulator [oc8051_acc.data_out]
  9. // ram          (in)  ram input [oc8051_ram_sel.out_data]
  10. // ext          (in)  external ram input [pin]
  11. // des          (out) output (alu sorce 1) [oc8051_alu.src1]
  12. //
  13. input [1:0] sel; input [7:0] immediate, acc, ram, ext;
  14. output [7:0] des;
  15. reg [7:0] des;
  16. always @(sel or immediate or acc or ram or ext)
  17. begin
  18.   case (sel)
  19.     `OC8051_ASS_RAM: des= ram;
  20.     `OC8051_ASS_ACC: des= acc;
  21.     `OC8051_ASS_XRAM: des= ext;
  22.     `OC8051_ASS_IMM: des= immediate;
  23.     default: des= 2'bxx;
  24.   endcase
  25. end
  26. endmodule