当前位置:首页 > FPGA > 正文内容

多路选择器

浩雨2年前 (2022-08-12)FPGA3067

多路选择器:在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路。


二选一多路选择器 --- 模块框图

image.png

in_1:输入信号

in_2:输入信号

sel:控制选择信号

out:输出信号


二选一多路选择器 --- 波形图

image.png

in_1、in_2、sel 的波形是随机的。

out 的波形根据控制选通信号而定。当 sel为高电频时,输出信号为 in_1;当 sel为低电频时,输出信号为 in_2。


代码部分:

功能代码:

在创建的该二选一多路选择器文件夹下的 Src文件夹中新建 mux2_1.v文件

module mux2_1
(
    input   wire    [0:0]    in_1,      // 输入信号1
    input   wire             in_2,      // 输入信号2
    input   wire             sel,       // 选通信号

    output  reg              out        // 输出信号
);

always@(*)
//     if(sel == 1'b1)
//         out = in_1;
//     else
//         out = in_2;
    case(sel)
        1'b1    : out = in_1;
        1'b0    : out = in_2;
        default : out = in_1;
    endcase

endmodule

然后将其添加到 Quartus软件中编译,编译通过后,接着就是仿真文件的编写与编译

仿真文件在 Sim文件夹下新建 tb_mux2_1.v文件

`timescale  1ns/1ns
module tb_mux2_1();
reg    in_1 ;
reg    in_2 ;
reg    sel  ;
wire   out  ;
initial
    begin
        in_1   <=  1'b0;
        in_2   <=  1'b0;
        sel    <=  1'b0;
    end
always #10 in_1 <= {$random} % 2;
always #10 in_2 <= {$random} % 2;
always #10 sel  <= {$random} % 2;
initial
    begin
        // -9表示时间格式是纳秒 要和“ns”一致,即10的负9次方;0表示小数点后精确的位数;6打印的最小数字字符是6个
        $timeformat(-9,0,"ns",6);
        // 打印他们的电频变化
        $monitor("@time %t:in_1=%b in_2=%b sel=%b out=%b",$time,in_1,in_2,sel,out);
    end
mux2_1  mux2_1_inst
(
    .in_1(in_1),      // 输入信号1
    .in_2(in_2),      // 输入信号2
    .sel (sel),      // 选通信号
    .out (out)       // 输出信号
);
endmodule

由下图可知:打印的波形和日志均正常

image.png

扫描二维码推送至手机访问。

版权声明:本文由我的FPGA发布,如需转载请注明出处。

本文链接:https://world.myfpga.cn/index.php/post/255.html

分享给朋友:
返回列表

上一篇:点亮LED灯实验

下一篇:3-8译码器

“多路选择器” 的相关文章

Verilog实现时钟分频(奇数分频,偶数分频)二分频 三分频 四分频 五分频

Verilog实现时钟分频(奇数分频,偶数分频)二分频 三分频 四分频 五分频

完整工程文件:clkdiv.zip//------------------------------------------------------// File Name        : clkdiv.v// Author     &nb...

Xilinx FIFO和ILA学习

Xilinx FIFO和ILA学习

`timescale 1ns / 1ps//-------------------------------------------------------//Filename       ﹕ FIFO_TOP.v//Author      ...

点亮LED灯实验

点亮LED灯实验

设计流程:设计规划 -> 波形绘制 -> 代码编写 -> 代码编译 -> 逻辑仿真 -> 波形对比 -> 绑定管脚 -> 分析综合布局布线 -> 上板验证新建项目文件夹(led):Doc:放置文档资料(数据手册、波形图、文档、项目日志)Pri:放置工程...