当前位置:   article > 正文

Verilog基础之八、多路选择器实现_八选一多路选择器verilog

八选一多路选择器verilog

一、前言

    选择器在FPGA中是基础的组成部分,英文全称为Multiplexer,为一个多输入单输出的结构。以器件xc7k480tffv1156为例,在slice中,也可以看到F7AMUX,F8MUX,这两个MUX都是二输入单输出的选择器。

二、工程实现

    以8-1选择器,8输入为例进行设计

2.1 设计代码

  1. module MUX( sel,in,out  );
  2. input [2:0] sel;
  3. input [7:0] in;
  4. output reg out;
  5. always@(sel)
  6. begin
  7. case(sel)
  8. 3'b000: out<=in[0];
  9. 3'b001: out<=in[1];
  10. 3'b010: out<=in[2];
  11. 3'b011: out<=in[3];
  12. 3'b100: out<=in[4];
  13. 3'b101: out<=in[5];
  14. 3'b110: out<=in[6];
  15. 3'b111: out<=in[7];
  16. endcase
  17. end
  18. endmodule

测试代码,选择变量sel每隔1ns加1,输入in每10ns增加1111。

  1. module MUX_tb;
  2. reg [2:0] sel;
  3. reg [7:0] in;
  4. wire out;
  5. initial
  6. begin
  7. sel=3'b000;
  8. in=8'b0000_0000;
  9. end
  10. always #1 sel=sel+1;
  11. always #10  in=in+8'b1111;
  12. MUX mux_test(.sel(sel),.in(in),.out(out));
  13. endmodule

2.2 仿真结果

sel的值可看做in中地址值,sel为0时输出out即为in[0]的值,sel为1时输出out即为in[1]的值,输入in中左边为高位,右边为低位。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小丑西瓜9/article/detail/581507
推荐阅读
相关标签
  

闽ICP备14008679号