复杂组合逻辑电路

简介: 设计实现一个流行IC 74138,使用数据流建模和你在1-1中使用的译码器集成三线—八线译码器74138除了3线到8线的基本译码输入输出端外,为便于扩展成更多位的译码电路和实现数据分配功能,74138还有三个输入使能端 EN1, EN2A和EN2B 。74138真值表和内部逻辑图如下图:所示符号图中,输入输出低电平有效用极性指示符表示,同时极性指示符又标明了信号方向。74138的三个输入使能(又称选通ST)信号之间是与逻辑关系, EN1高电平有效,EN2A和EN2B低电平有效。只有在所有使能端都为有效电平(EN1EN2AEN2B=100)时,74138才对输入进行译码,相应输出端为低电

设计实现一个流行IC 74138,使用数据流建模和你在1-1中使用的译码器

集成三线—八线译码器74138除了3线到8线的基本译码输入输出端外,为便于扩展成更多位的译码电路和实现数据分配功能,74138还有三个输入使能端 EN1, EN2A和EN2B 。74138真值表和内部逻辑图如下图:

网络异常,图片无法展示
|
网络异常,图片无法展示
|

所示符号图中,输入输出低电平有效用极性指示符表示,同时极性指示符又标明了信号方向。74138的三个输入使能(又称选通ST)信号之间是与逻辑关系, EN1高电平有效,EN2A和EN2B低电平有效。只有在所有使能端都为有效电平(EN1EN2AEN2B=100)时,74138才对输入进行译码,相应输出端为低电平,即输出信号为低电平有效。在EN1EN2AEN2B ≠100时,译码器停止译码,输出无效电平(高电平)。这和你在1中创建的非常相似,它只是增加了控制(使能)信号G1,/G2A,/G2B。这使得在有些系统中的解码更加简单。

实验步骤

  • 打开Vivado创建一个空工程,命名为lab3_2.
    创建并添加Verilog模块,命名为decoder_74138_dataflow,实例化你在1-1中开发的模块。添加额外的逻辑,使用数据流建模结构建模所设计的功能。
    编写仿真文件来验证代码的正确
    将你在1中使用的XDC文件添加到工程。修改XDC文件,将g1分配给SW7,g2a_n分配给SW6,g2b_n分配给SW5。
    综合实现你的设计。
    生成比特流文件,下载到Nexys4开发板上,验证功能。

首先,修改lab1的decoder_3to8_dataflow模块,在其中加入enable信号

module 
decoder_3to8_dataflow( input enable, input [2:0]x, output reg [7:0]y ); 
always@(*) if(enable) case(x) 3’b000: y=8’b0000_0001; 
3’b001: y=8’b0000_0010; 
3’b010: y=8’b0000_0100; 
3’b011: y=8’b0000_1000; 
3’b100: y=8’b0001_0000; 
3’b101: y=8’b0010_0000; 
3’b110: y=8’b0100_0000; 
3’b111: y=8’b1000_0000;
endcase else y=8’b0000_0000; 
endmodule

之后,decoder_74138_dataflow模块的具体实现:

module decoder_74138_dataflow(
    input g1,
    input g2a_n,
    input g2b_n,
    input [2:0]x,
    output [7:0]y
    );
    reg enable;
    always@(*)
    begin
        if(g1==1&&g2a_n==0&&g2b_n==0)
        enable=1;
        else enable=0;
    end
    decoder_3to8_dataflow A(enable,x,y);
endmodule
## 设计一个8-3编码器   ### 多输出编码电路  编码器电路是出于对标准化,速度,保密性,安全性或者通过缩小尺寸来节省空间的考虑,将信息从一种形式(编码)转换为另一种形式(编码)的电路。在数字电路中,编码信息可以减小信息存储所用的空间,确定功能的优先级。广泛使用的编码电路的例子有,优先编码器,哈弗曼编码器等 ### 8-3编码器真值表

网络异常,图片无法展示
|

相关文章
|
6月前
|
机器学习/深度学习 人工智能 自然语言处理
Step-Audio2 声音克隆 详细介绍
Step-Audio2是StepFun于2024年推出的中文语音克隆大模型,支持“一句话克隆+情感可控+实时流式”一体化生成,参数总量300M,首包延迟低至120ms,MOS达4.4+,采用Apache-2.0协议开源,适配商业应用,是当前中文TTS领域开源落地门槛最低的方案之一。
|
8月前
|
机器学习/深度学习 人工智能 算法
基于YOLOv8的FPS射击类游戏人物识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
本项目基于YOLOv8与PyQt5开发,专为FPS射击类游戏人物识别设计,具备高精度、实时检测能力。包含完整训练代码、数据集及图形界面,支持图片、视频、摄像头多模式输入,提供从模型训练到部署的全流程解决方案,开箱即用,适合学术研究与AI工程实践。
基于YOLOv8的FPS射击类游戏人物识别项目|完整源码数据集+PyQt5界面+完整训练流程+开箱即用!
|
9月前
|
存储 前端开发 安全
病历单生成器在线制作,病历单生成器app,HTML+CSS+JS恶搞工具
本项目为医疗病历模拟生成器,旨在为医学教学和软件开发测试提供数据支持,严格遵守《医疗机构病历管理规定》。
|
人工智能 Devops 数据挖掘
IT项目经理的职责、能力和工具:让项目管理更高效
3分钟了解IT项目经理的主要职责和需要具备哪些专业技能。
604 5
IT项目经理的职责、能力和工具:让项目管理更高效
|
弹性计算 JavaScript Java
在 Intellij IDEA 中部署 Spring Boot / Spring Cloud 应用到阿里云
Spring Cloud 和 Spring Boot 可以说是当前最流行的微服务开发框架了,在本文中,将向读者介绍如何在 在 Intellij IDEA 中部署 Spring Boot / Spring Cloud 应用到阿里云。
14329 91
|
Ubuntu 应用服务中间件 开发工具
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
这篇文章是关于如何在Ubuntu 16.04系统上搭建GitLab服务器、pip源服务器(使用pypiserver和NGINX两种方式),以及apt源服务器的详细教程。
389 0
Ubuntu16.04搭建gitlab服务器,搭建pip源服务器(两种方式),搭建apt源服务器
|
供应链 监控 数据挖掘
ERP系统中的采购管理与供应商评估
【7月更文挑战第25天】 ERP系统中的采购管理与供应商评估
1112 3
|
人工智能 Linux 开发工具
魔搭社区GGUF模型怎么玩!看这篇就够了
近期,Qwen2系列模型家族发布了系列GGUF格式模型。通过llama.cpp/Ollama等生态的发展,很多大语言模型都支持GGUF格式,极大地简化了大语言模型的应用流程,让即便是模型领域的初学者,只有一台CPU笔记本,也能轻松上手顶尖的AI技术。
|
Java 项目管理 Maven
【揭秘】Maven聚合与继承:如何轻松实现项目依赖管理?
Maven的聚合和继承是Java开发中重要的概念。聚合允许将多个项目组合成一个构建单元,简化多模块项目的构建过程,提高构建效率。继承则让子项目重用父项目的配置和属性,避免了重复定义,增强了项目的一致性和可维护性。通过聚合和继承,Maven为多模块项目的构建和管理提供了高效且灵活的支持,减少了配置冗余,提升了开发效率。
356 0
【揭秘】Maven聚合与继承:如何轻松实现项目依赖管理?
|
安全 Java 数据库
Spring Security自定义登录认证
Spring Security自定义登录认证
702 0

热门文章

最新文章