ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

基于FPGA的2选1多路选择器设计

2021-07-26 11:32:33  阅读:321  来源: 互联网

标签:多路 20 FPGA dataa datab b0 b1 sel 选择器


1. 项目介绍

  多路选择器,也叫数据选择器或多路开关,在多路数据传送过程中,能够根据需要将其中任意一路选出来的电路。数据选择器用于控制有效数据的输出,能够通过地址选择线来选定相应的通道作为输出,提高了数据的传输效率。(数据分配器用于数据的传输途径,在信号传输过程中能够通过地址选择线选择传输信道)。

2. 设计要求

  设计一个2选1多路选择器,输入有两个单bit信号,和一个单bit的选择信号。当选择信号为低电平时,将第一路信号输出,当选择信号为高电平时,将第二路信号输出。

3. 设计原理

  该设计命名为mux2_1,第一路信号命名为dataa,第二路信号命名为datab,选择信号命名为sel,输出信号命名为odata,系统框图如下图所示。

根据设计要求,得真值表:

dataa datab sel odata
0 0 0 0
0 0 1 0
0 1 0 0
0 1 1 1
1 0 0 1
1 0 1 0
1 1 0 1
1 1 1 1

  根据真值表,得到逻辑表达式:

 

  转化为Verilog表达式为

Odata = datab&sel | dataa&(~sel);

4. 设计实现

 1 module mux2_1(
 2     
 3     input        wire                dataa,
 4     input        wire                datab,
 5     input     wire                 sel,
 6     
 7     output     wire                 odata
 8 );
 9 
10     assign odata = (datab & sel) | (dataa & (~sel));
11 
12 endmodule 

5. 仿真验证

 1 `timescale 1ns/1ps
 2 
 3 module mux2_1_tb();
 4 
 5     reg                dataa;
 6     reg                datab;
 7     reg                 sel;
 8 
 9     wire                 odata;
10     
11     mux2_1 mux2_1_inst(
12         .dataa            (dataa),
13         .datab            (datab),
14         .sel                (sel),
15         .odata            (odata)
16     );
17     
18     initial begin
19         dataa = 1'b0; datab = 1'b0; sel  = 1'b0; #20;
20         dataa = 1'b0; datab = 1'b0; sel  = 1'b1; #20;
21         dataa = 1'b0; datab = 1'b1; sel  = 1'b0; #20;
22         dataa = 1'b0; datab = 1'b1; sel  = 1'b1; #20;
23         dataa = 1'b1; datab = 1'b0; sel  = 1'b0; #20;
24         dataa = 1'b1; datab = 1'b0; sel  = 1'b1; #20;
25         dataa = 1'b1; datab = 1'b1; sel  = 1'b0; #20;
26         dataa = 1'b1; datab = 1'b1; sel  = 1'b1; #20;
27     end 
28 
29 endmodule 

参考资料:

  (1)陪您一起学习FPGA-郝旭帅团队_哔哩哔哩_bilibili

标签:多路,20,FPGA,dataa,datab,b0,b1,sel,选择器
来源: https://www.cnblogs.com/zclv/p/15060670.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有