问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

FPGA实现二选一数据选择器

创作时间:
作者:
@小白创作中心

FPGA实现二选一数据选择器

引用
CSDN
1.
https://blog.csdn.net/weixin_63553972/article/details/140616584

在FPGA开发中,二选一数据选择器是最基础也是最重要的模块之一。本文将详细介绍如何使用Verilog HDL语言在FPGA中实现一个二选一数据选择器,包括原理、工程代码和仿真验证等内容。

1. 原理

二选一数据选择器通过一个选择位(sel)来决定输出(out)是a还是b。具体规则如下:

  • 当sel=0时,输出out=a
  • 当sel=1时,输出out=b

2. 工程代码

多路选择器的缩写为MUX,这里我们新建一个名为MUX2_1.v的文件,如图所示:

在实体中定义sel、a、b三个输入信号和out输出信号。在主体代码实现中使用连续赋值(assign)语句和三目运算符来实现二选一数据选择器的功能。

3. 仿真代码

// 定义时间尺度
`timescale 1ns/1ns

module mux2_1_tb;
    // 输入信号定义
    reg sel;
    reg a;
    reg b;
    // 输出信号定义
    wire out;

    // 模块例化
    mux2_1 mux(
        /*input wire */ .sel (sel),
        /*input wire */ .a   (a  ),
        /*input wire */ .b   (b  ),
        /*output     */ .out (out)
    );

    // 激励信号产生
    initial begin
        sel=1;
        a=0;
        b=1;
        #20;
        sel=1;
        a=1;
        b=0;
        #20;
        sel=0;
        a=1;
        b=0;
        #20;
        sel=1;
        a=0;
        b=1;
        #20;
    end
endmodule  

这段代码首先定义了时间尺度,然后声明了仿真实体。接着对设计实体mux2_1进行实例化,并对相关变量进行命名。最后使用initial语句产生激励信号。

4. 仿真结果

仿真结果显示,当sel为1时,输出out等于b;当sel为0时,输出out等于a。这与我们最初的设计完全一致,验证了二选一数据选择器的正确性。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号