实现74HC151的8选1数据选择器功能以及用两片74HC151组成一个16选1数据选择器

11 篇文章 4 订阅
订阅专栏
本文档详细介绍了如何使用VerilogHDL编程语言实现74HC151的8选1数据选择器功能,并通过两片74HC151组合实现16选1数据选择器。作者提供了设计思路、Verilog代码、测试代码以及仿真结果,展示了数据选择器在不同输入条件下的工作情况。
摘要由CSDN通过智能技术生成

VerilogHDL程序设计与仿真作业4:

——实现74HC151的8选1数据选择器功能以及用两片74HC151组成一个16选1数据选择器

文章目录

  • VerilogHDL程序设计与仿真作业4:
        • ——实现74HC151的8选1数据选择器功能以及用两片74HC151组成一个16选1数据选择器
    • 一、实验目的
    • 二、实现74HC151的8选1数据选择器功能
      • 1、设计思路
      • 2、实现代码
      • 3、测试代码
      • 4、仿真
    • 三、用两片74HC151组成一个16选1数据选择器
      • 1、设计思路
      • 2、实现代码
      • 3、测试代码
      • 4、仿真

一、实验目的

  • 实现74HC151的8选1数据选择器功能
  • 用两片74HC151组成一个16选1数据选择器

二、实现74HC151的8选1数据选择器功能

1、设计思路

  • 结合74HC151的真值表以及逻辑符号,采用行为级建模即可实现74HC151的8选1数据选择器功能。

  • 逻辑符号与引脚图
    在这里插入图片描述

  • 74HC151的真值表在这里插入图片描述

2、实现代码

//文件名称:_74HC151.v
//fuchaoxinHUST11202020
module _74HC151(D,S,E_,Y,Y_);
input [7:0] D;
input [2:0] S;
input E_;
output reg Y;
output reg Y_;
/*说明:
输入端:[2:0] S是选择信号 E—_是使能信号;
输出端:Y和Y_是输出的两个信号;
E_=1时,Y=0,Y_=1;
E_=0时,Y等于D[0]到D[7],Y_等于!D[0]到!D[7]。
*/

always @(*) begin
    if (E_==0) begin
        case(S[2:0])
            3'b000: Y=D[0];
            3'b001: Y=D[1];
            3'b010: Y=D[2];
            3'b011: Y=D[3];
            3'b100: Y=D[4];
            3'b101: Y=D[5];
            3'b110: Y=D[6];
            3'b111: Y=D[7];          
	    endcase
    end

    else Y=0;// E_=1时,Y=0,Y_=1;

    Y_ = ~Y;//按位取反得到Y_
end
endmodule

3、测试代码

//文件名称:Test_74HC151.v
//fuchaoxinHUST11202020
`timescale 10ns/1ns
module Test_74HC151;
reg [7:0] D;
reg [2:0] S;
reg E_;
wire Y;
wire Y_;

_74HC151 U0(D,S,E_,Y,Y_);//实例化元件

initial 
    $monitor($time,":\t D=%b, S=%b, E_=%b, Y=%b, Y_=%b \n", D, S, E_, Y, Y_); 
    //监视器的显示内容
initial begin
//无法正常选择
    E_=1; S[2:0]=3'b000; D[7:0]=8'b00000001;
    #5
    E_=1; S[2:0]=3'b001; D[7:0]=8'b00000010;
    #5
//正常进行选择
    E_=0; S[2:0]=3'b010; D[7:0]=8'b00000100;
    #5
    E_=0; S[2:0]=3'b011; D[7:0]=8'b00001000;
    #5
    E_=0; S[2:0]=3'b100; D[7:0]=8'b00010000;
    #5
    E_=0; S[2:0]=3'b101; D[7:0]=8'b00100000;
    #5
    $stop;//停止模拟仿真
end
endmodule

4、仿真

  • 波形
    在这里插入图片描述
    在这里插入图片描述

  • 监控器

在这里插入图片描述

三、用两片74HC151组成一个16选1数据选择器

1、设计思路

  • 结合74HC151_2的原理图,采用行为级、门级建模即可实现利用两片74HC151的16选1数据选择器功能。

  • 原理图在这里插入图片描述

2、实现代码

//文件名称:_74HC151.v
//文件名称:_74HC151_2.v
//fuchaoxinHUST11202020
module _74HC151(D,S,E_,Y,Y_);
input [7:0] D;
input [2:0] S;
input E_;
output reg Y;
output reg Y_;
/*说明:
输入端:[2:0] S是选择信号 E_是使能信号;
输出端:Y和Y_是输出的两个信号;
E_=1时,Y=0,Y_=1;
E_=0时,Y等于D[0]到D[7],Y_等于!D[0]到!D[7]。
*/

always @(*) begin
    if (E_==0) begin
        case(S[2:0])
            3'b000: Y=D[0];
            3'b001: Y=D[1];
            3'b010: Y=D[2];
            3'b011: Y=D[3];
            3'b100: Y=D[4];
            3'b101: Y=D[5];
            3'b110: Y=D[6];
            3'b111: Y=D[7];          
	    endcase
    end

    else Y=0;// E_=1时,Y=0,Y_=1;

    Y_ = ~Y;//按位取反得到Y_
end
endmodule
//一片74HC151

module _74HC151_2(D,A,D_0,Y,Y_);
input D;            //使能信号D与选择信号[2:0]A
input [2:0] A;     //A[2]=C, A[1]=B, A[0]=A
input [15:0] D_0; //输入信号
output Y,Y_;     //输出信号
/*说明:
输入端:;D为输入的使能信号,D=0,片1工作,D=1,片2工作;
ABC按顺序输入,分别为两片74HC151的选择信号S;数组D分别赋值给两片74HC151,作为他们各自的输入D数组;
输出端:两片74HC151分别输出自己的Y1、Y2与Y1_、Y2_,再经过或门处理,得到实际的输出Y与Y_;
*/

//中间变量定义
wire [7:0] D_1,D_2;
wire [2:0] S_1,S_2;
wire Y1,Y2,Y1_,Y2_;//EI_1=EO_2 两者共用一个变量 已有EI=EI_2 EO=EO_1

//输入部分
genvar i;
for(i=7;i>=0;i=i-1)  assign D_1[i] = D_0[i];
for(i=15;i>=8;i=i-1) assign D_2[i-8] = D_0[i];
for(i=2;i>=0;i=i-1)  assign S_1[i] = A[i];
for(i=2;i>=0;i=i-1)  assign S_2[i] = A[i];

//同时执行两片74HC151,得到各自的输出值
_74HC151 U1(D_1,S_1,D,Y1,Y1_);
_74HC151 U2(D_2,S_2,~D,Y2,Y2_);

//输出部分 
or G0(Y,Y1,Y2);
or G1(Y_,Y1_,Y2_);

//先输入,经过第一级电路处理后得到第一次输出,再次用OR门处理得到输出值

endmodule
//用两片74HC151组成16选1的数据选择器

3、测试代码

//文件名称:Test_74HC151_2.v
//fuchaoxinHUST11202020
`timescale 10ns/1ns
module Test_74HC151_2;
reg D; //D=0,片1工作,D=1,片2工作。
reg [2:0] A;
reg [15:0] D_0;
wire Y,Y_;

_74HC151_2 U0(D,A,D_0,Y,Y_);//实例化元件

initial
    $monitor($time,":\t D=%b, A=%b, D_0=%b, Y=%b, Y_=%b \n", D, A, D_0, Y, Y_); 
    //监视器的显示内容
initial begin
//第一片74HC151工作
    D=0; A[2:0]=3'b001; D_0[15:0]=16'b0000_0000_0000_0010;
    #5
    D=0; A[2:0]=3'b010; D_0[15:0]=16'b0000_0010_0000_0100;
    #5
    D=0; A[2:0]=3'b011; D_0[15:0]=16'b0000_0010_0000_1000;
    #5
 //第二片74HC151工作
    D=1; A[2:0]=3'b100; D_0[15:0]=16'b0001_0000_0000_0000;
    #5
    D=1; A[2:0]=3'b101; D_0[15:0]=16'b0010_0000_0000_0000;
    #5
    D=1; A[2:0]=3'b110; D_0[15:0]=16'b0100_0000_0000_0000;
    #5
    $stop;//停止模拟仿真
end
endmodule

4、仿真

  • 波形在这里插入图片描述在这里插入图片描述

  • 监视器
    在这里插入图片描述

数据选择器
林洋洋博客
10-19 6万+
文件名必须与VHDL文件中的设计实体名保持一致。 总结:这次课程设计虽然在功能上完全实现了课题的要求,即实现了八数据选择器的全部要求,但是相应的不足之处还应该考虑到。怎样更好地布局以及连线,使整个电路图不至于杂乱无章等等问题,虽然是细节问题,但往往可以决定成败,这些问题都应该引以为戒并作为以后设计相关电路时的参考。
数据选择器基于VHDL语言编写
06-04
数据选择器基于VHDL语言编写 八数据选择器基于VHDL语言编写
8数据选择器74HC151
07-14
对芯片的管脚 原理以及应用有着详细的论述
41数据选择器扩展为8数据选择器
01-14
基于Multisim14制作的41数据选择器扩展为8数据选择器仿真图
采用2个41数据选择器(74LS153)构成1个81数据选择器,要求自己设计电路,画出逻辑电路接线图,连接调试,并测试真值表,验证设计电路是否符合要求
11-07
数据选择器功能及应用,采用2个41数据选择器(74LS153)构成1个81数据选择器,要求自己设计电路,画出逻辑电路接线图,连接调试,并测试真值表,验证设计电路是否符合要求
数据选择器报告
11-04
数据选择器报告包括了Verilog HDL 代码,输出值,输出波形,心得体会等。
Verilog——74HC151数据选择器并扩展为161数据选择器
qq_45275571的博客
06-03 3万+
Verilog——74HC151数据选择器并扩展为161数据选择器 74HC151的仿真 设计思路 采用行为级建模,根据74HC151译码器的功能表编程即可。 代码实现 设计模块 //filename:_74HC151v module _74HC151( input E, input [2:0] S, input [7:0] D, output reg Y, output Y1); //定义输入输出变量 always@(*) begin if(E) Y=0; else be
EGO1—实现81的数据选择器74HC151
unique_ZRF的博客
09-15 1万+
FPGA、74HC151数据选择器
74151/74LS151 81数据选择器
热门推荐
qq_42578970的博客
06-13 6万+
逻辑符号功能表Y和Y非负责输出,EN为0(即EN非为1)时,置零,EN为1时,正常工作。 A2A1A0组成一个二进制数,下标为这个二进制数对应的十进制数的D从Y输出。
数电实验-----实现74LS153芯片扩展为81数据选择器以及应用(Quartus II )
m0_73633088的博客
11-20 4万+
74ls153芯片是属于四选择器的芯片。74LS153是双41数据选择器,有择输入端B和A,能有四种状态,中输入4个数据中的其中一个数据择输入中L,H分别代表为L为低电平,H为高电平。通输入可称为使能端,通输入为高电平时,输出端Y为L低电平,通为低电平时,输出Y为择的数据输出。
【FPGA & Verilog】⼋数据选择器
最新发布
m0_51956878的博客
01-04 1287
SEL[2:0] 3个1bit ,SEL 为000~111 (0~7)IN[7:0]为8个1bit的数据,在仿真时设置为Random,随机。2. 输⼊输出:IN[7:0],SEL[2:0],OUT。2. 掌握Quartus II软件⽂本输⼊设计的流程。1. 使⽤“连续赋值”和“过程赋值”两种⽅案分别实现。2. “过程赋值”需要使⽤ case 语句。2.代码 (过程赋值 和连续赋值)1. 掌握组合逻辑电路的设计⽅法。1. 输⼊端 ⾃定义。
74LS153组成的41数据选择器电路Proteus仿真
07-04
在本例中,我们将讨论如何使用74LS153构建41数据选择器电路,并在Proteus软件中进行仿真。 首先,74LS153的功能可以通过其真值表来理解。当S0和S1均为低电平时(00),D0被择为输出;当S0为低电平而S1为高电...
如何用74HC138译码器设计一个全加器?
07-14
1. **择译码器输出**:由于全加器有两个输出信号(S 和 C_out),我们可以择74HC138的两个输出来表示这两个输出信号。例如,可以将Y1和Y2分别对应S和C_out。 2. **连接输入信号**:将A1连接到A2,B1连接到A1,...
SN74HC151N的技术参数
12-11
SN74HC151N是一款采用高电流输出的高速CMOS技术设计的81数据选择器集成电路(IC),主要用于数字信号的路由和切换。81数据选择器是指该芯片能够从八个输入信号中一个,然后将其传递到一个单独的输出端。它...
设计数字逻辑电路实验,将8路数据选择器74HC151扩展为161的设计过程
05-19
基于以上原理,我们可以将两个8路数据选择器74HC151级联起来,以实现161的功能。具体的实现过程如下: 1. 将两个74HC151并排放置,将它们的A和B输入分别连接到控制信号线,以择输出的数据信号。 2. 将它们的...
一篇博客让你横扫数电常考所有集成电路芯片(已更新50%持续更新)
qq_52528413的博客
12-09 7082
前言: 数电学习中我们经常会遇见很多令人烦恼的集成电路芯片,74系列芯片一度称为我数电仿真的噩梦,这里我们简单介绍一下数电学习中常见的芯片。但在此之前先简单说明一下ttl电路和cmos电路的区别,我们日常学习的芯片也多由有这两种电路组成,一样效果的芯片如果是CMOS电路的就是我们常见的HC系列,而如果是ttl电路的话就是LS系列芯片。 一、TTL电路和CMOS电路的区别 1) CMOS是场效应管构成(单极性电路),TTL为双极晶体管构成(双极性电路) 2)COMS的逻辑电平范围比较大(5~15V),
EGO1—使用81数据选择器实现四输入逻辑函数 f=∑wxyz(1,3,6,7,11,13,14)
unique_ZRF的博客
09-16 6793
FPGA、81数据选择器实现4输入逻辑式
实验三、 数据选择器及数值比较器的逻辑功能及应用
weixin_48592055的博客
04-01 1万+
数字电路基础实验报告:实验三、 数据选择器及数值比较器的逻辑功能及应用
数据选择器(两种写法)
He_wowo的博客
09-30 6152
always @ (*) begin case ({A,B,C}) 3'b000 : Z <= Q[0]; 3'b001 : Z <= Q[1]; 3'b010 : Z <= Q[2]; 3'b011 : Z <= Q[3]; 3'b100 : Z <= Q[4]; 3'b101 : Z <= Q[5]; 3'b110 : Z <= Q[6]...
写文章

热门文章

  • 实现74HC151的8选1数据选择器功能以及用两片74HC151组成一个16选1数据选择器 71248
  • 实现74HC283的四位二进制进位全加器的功能 21445
  • 实现74HC85的功能以及16位数值比较器 18861
  • 用一片CD4532构成8-3线编码器与用两片CD4532构成16线-4线优先编码器 14643
  • 实现74HC4511的功能 12137

分类专栏

  • 计算机图形学 4篇
  • 计算几何 2篇
  • 玩的 9篇
  • verilog 11篇
  • matlab 3篇

最新评论

  • 实现74HC151的8选1数据选择器功能以及用两片74HC151组成一个16选1数据选择器

    哭瓜大王: 这个中国大学MOOK的课程叫什么名字

  • 实现74HC151的8选1数据选择器功能以及用两片74HC151组成一个16选1数据选择器

    坚持每天睡觉的悟: 哥太感谢了,没了你HUSTER又有难了

  • 华中科技大学 模拟电路与数字系统(三)实验6

    2301_79744609: 想问一下RX,TX引脚约束怎么进行呢,我约束到pmod上面就会报错

  • 实现74X138和用74X138和74X139构成5-32线译码器

    2201_75694114: 请问这个是五人表决器嘛

  • 实现74HC283的四位二进制进位全加器的功能

    虾米粥: 怎么实现16加是3这种情况哇?

大家在看

  • Django项目创建
  • Python包---numpy1
  • 2024年华为OD机试真题-最长连续子序列-Python-OD统一考试(E卷)
  • 多径衰落信道的复数模算法的理论推导与MATLAB仿真
  • 布谷鸟算法优化实现SVM数据分类——Matlab源码

最新文章

  • GAMES101 PA3
  • 旋转矩阵|万向锁|四元数
  • GAMES101 PA1
2022年7篇
2021年11篇
2020年11篇

目录

目录

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值

玻璃钢生产厂家佛山圣诞主题玻璃钢雕塑玻璃钢仿真雕塑飞马克拉玛依玻璃钢雕塑造型宁夏生肖玻璃钢雕塑天津水果玻璃钢雕塑口碑不错玻璃钢卡通雕塑规格济南通道商场美陈登封玻璃钢雕塑费用美陈图片商场玻璃钢雕塑预决算资阳玻璃钢雕塑厂家郑州仿铜玻璃钢雕塑制作大型玻璃钢雕塑市场江苏水果玻璃钢雕塑哪家便宜玻璃钢雕塑孔子雕像江门大型玻璃钢雕塑延庆商场美陈定制滁州大型户外玻璃钢雕塑多少钱深圳酒店玻璃钢花盆苹果玻璃钢雕塑定制厂家周口景观标识玻璃钢彩绘雕塑玻璃钢人像雕塑空军雕塑制作玻璃钢商场中秋活动打卡美陈海马玻璃钢伞雕塑金鹰商场美陈玻璃钢雕塑一般用多厚玻璃钢雕塑孔子玻璃钢花盆易成活吗郏县玻璃钢雕塑厂家香港通过《维护国家安全条例》两大学生合买彩票中奖一人不认账让美丽中国“从细节出发”19岁小伙救下5人后溺亡 多方发声单亲妈妈陷入热恋 14岁儿子报警汪小菲曝离婚始末遭遇山火的松茸之乡雅江山火三名扑火人员牺牲系谣言何赛飞追着代拍打萧美琴窜访捷克 外交部回应卫健委通报少年有偿捐血浆16次猝死手机成瘾是影响睡眠质量重要因素高校汽车撞人致3死16伤 司机系学生315晚会后胖东来又人满为患了小米汽车超级工厂正式揭幕中国拥有亿元资产的家庭达13.3万户周杰伦一审败诉网易男孩8年未见母亲被告知被遗忘许家印被限制高消费饲养员用铁锨驱打大熊猫被辞退男子被猫抓伤后确诊“猫抓病”特朗普无法缴纳4.54亿美元罚金倪萍分享减重40斤方法联合利华开始重组张家界的山上“长”满了韩国人?张立群任西安交通大学校长杨倩无缘巴黎奥运“重生之我在北大当嫡校长”黑马情侣提车了专访95后高颜值猪保姆考生莫言也上北大硕士复试名单了网友洛杉矶偶遇贾玲专家建议不必谈骨泥色变沉迷短剧的人就像掉进了杀猪盘奥巴马现身唐宁街 黑色着装引猜测七年后宇文玥被薅头发捞上岸事业单位女子向同事水杯投不明物质凯特王妃现身!外出购物视频曝光河南驻马店通报西平中学跳楼事件王树国卸任西安交大校长 师生送别恒大被罚41.75亿到底怎么缴男子被流浪猫绊倒 投喂者赔24万房客欠租失踪 房东直发愁西双版纳热带植物园回应蜉蝣大爆发钱人豪晒法院裁定实锤抄袭外国人感慨凌晨的中国很安全胖东来员工每周单休无小长假白宫:哈马斯三号人物被杀测试车高速逃费 小米:已补缴老人退休金被冒领16年 金额超20万

玻璃钢生产厂家 XML地图 TXT地图 虚拟主机 SEO 网站制作 网站优化