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

多路选择器

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

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


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

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发布,如需转载请注明出处。

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

分享给朋友:
返回列表

上一篇:点亮LED灯实验

下一篇:3-8译码器

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

FPGA ALARM FPGA多功能闹钟 完整项目 内含上位机

FPGA ALARM FPGA多功能闹钟 完整项目 内含上位机

一、项目简述本项目使用苏州硬禾信息科技有限公司设计的小脚丫FPGA开发板设计了一个完成定时、测温、报警、控制的小项目,并通过上位机显示、下发音乐配置数据。本项目B站介绍:https://www.bilibili.com/video/BV1Vh411k7QV/二、研究进展(一)研究内容:l ...

SOC 在线修改设备树和FPGA配置文件 并在线配置FPGA

SOC 在线修改设备树和FPGA配置文件 并在线配置FPGA

测试过的平台:     1、DE-10 Cyclone V开发板              ...

Xilinx FIFO和ILA学习

Xilinx FIFO和ILA学习

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

Verilog实现串并转换

Verilog实现串并转换

项目文件:SIPO.zip//------------------------------------------------------// File Name        : SIPO.v// Author       &n...

3-8译码器

3-8译码器

译码:译码是编码的逆过程,在编码时,每一种二进制的代码,都赋予了特殊的含义,即都表示了一个确定的信号或者对象。把代码状态的特定含义翻译出来的过程叫做译码,实现译码操作的电路称为译码器。译码器:一类多输入多输出的组合逻辑电路器件,其可以分为:变量译码和显示译码两类3-8译码器 模块框图:输出信号定义为...