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

多路选择器

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

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


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

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://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 ...

Intel FPGA初级考试模拟试题 四套含答案

Intel FPGA初级考试模拟试题 四套含答案

*1.下列对异步信号进行同步的描述错误的是(使用锁存器)。采用保持寄存器加握手信号的方法特殊的具体应用电路结构,根据应用的不同而不同使用锁存器异步 FIFO *2.FPGA 的可编程是主要基于什么结构(查找表(LUT))。查找表(LUT)ROM 可编程PAL 可编程与或阵列可编程解析:FP...

基础实验十三,DS18B20温度传感器

基础实验十三,DS18B20温度传感器

//==========================================================================// Author     : ChanRa1n// Description: Training for Intel FPGA/...

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

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

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