当前位置: 首页 > news >正文

使用3-8译码器实现全减器(Verilog详细解析设计篇)

        使用3-8译码器和必要的逻辑门实现全减器,全减器接口图如下,A是被减数,B是减数,Ci是来自低位的借位,D是差,Co是向高位的借位。

 

       

        逻辑真值表中,输入信号的每种组合对应一个输出端的高电平信号 ,即输出端为高电平(1) 时认为该输出端有输出信号。当然,根据有需要也可以定义输出端为低电平(0) 时认为该输出端有输入信号,此时称输出端低电平有效。 

        要实现次功能,首先要懂得3-8译码器的工作原理,全减器的工作原理:

一.3-8译码器工作原理

1. 3-8译码器真值表:

2. 表达式:

                                     

3. 代码: 

module decoder_38(input             E      ,input             A0     ,input             A1     ,input             A2     ,output reg       Y0n    ,  output reg       Y1n    , output reg       Y2n    , output reg       Y3n    , output reg       Y4n    , output reg       Y5n    , output reg       Y6n    , output reg       Y7n    
);always @(*)beginif(!E)beginY0n = 1'b1;Y1n = 1'b1;Y2n = 1'b1;Y3n = 1'b1;Y4n = 1'b1;Y5n = 1'b1;Y6n = 1'b1;Y7n = 1'b1;end  else begincase({A2,A1,A0})3'b000 : beginY0n = 1'b1; Y1n = 1'b0; Y2n = 1'b0; Y3n = 1'b0; Y4n = 1'b0; Y5n = 1'b0; Y6n = 1'b0; Y7n = 1'b0;end 3'b001 : beginY0n = 1'b0; Y1n = 1'b1; Y2n = 1'b0; Y3n = 1'b0; Y4n = 1'b0; Y5n = 1'b0; Y6n = 1'b0; Y7n = 1'b0;end 3'b010 : beginY0n = 1'b0; Y1n = 1'b0; Y2n = 1'b1; Y3n = 1'b0; Y4n = 1'b0; Y5n = 1'b0; Y6n = 1'b0; Y7n = 1'b0;end 3'b011 : beginY0n = 1'b0; Y1n = 1'b0; Y2n = 1'b0; Y3n = 1'b1; Y4n = 1'b0; Y5n = 1'b0; Y6n = 1'b0; Y7n = 1'b0;end 3'b100 : beginY0n = 1'b0; Y1n = 1'b0; Y2n = 1'b0; Y3n = 1'b0; Y4n = 1'b1; Y5n = 1'b0; Y6n = 1'b0; Y7n = 1'b0;end 3'b101 : beginY0n = 1'b0; Y1n = 1'b0; Y2n = 1'b0; Y3n = 1'b0; Y4n = 1'b0; Y5n = 1'b1; Y6n = 1'b0; Y7n = 1'b0;end 3'b110 : beginY0n = 1'b0; Y1n = 1'b0; Y2n = 1'b0; Y3n = 1'b0; Y4n = 1'b0; Y5n = 1'b0; Y6n = 1'b1; Y7n = 1'b0;end 3'b111 : beginY0n = 1'b0; Y1n = 1'b0; Y2n = 1'b0; Y3n = 1'b0; Y4n = 1'b0; Y5n = 1'b0; Y6n = 1'b0; Y7n = 1'b1;end default: beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;endendcase  end 
end    endmodule

 

 二.全减器工作原理

  1.  全减器真值表

     输入

输出

输出

C_i

A

B

D

C_o

0

0

0

0

0

0

0

1

1

1

0

1

0

1

0

0

1

1

0

0

1

0

0

1

1

1

0

1

0

1

1

1

0

0

0

1

1

1

1

1

 2.表达式

三.结合一二得到带3-8译码器的全减器

 1. 表达式:       

        D = Y1 + Y2 + Y4 + Y7;

        C_O = Y1 + Y4 + Y5 + Y7;

2.代码

module decoder1(input  wire       A,input  wire       B,input  wire       Ci,output wire       D,output wire       Co
);wire [7:0] Y;assign D  = Y[1] + Y[2] + Y[4] + Y[7];assign Co = Y[1] + Y[4] + Y[5] + Y[7];decoder_38 myDecoder(.E  (1   ), .A0 (B   ), .A1 (A   ), .A2 (Ci  ), .Y0n(Y[0]),.Y1n(Y[1]),.Y2n(Y[2]),.Y3n(Y[3]),.Y4n(Y[4]),.Y5n(Y[5]),.Y6n(Y[6]),.Y7n(Y[7]));
endmodule

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • React两种路由模式的实现原理
  • 2024.9.13 Python与图像处理新国大EE5731课程大作业,索贝尔算子计算边缘,高斯核模糊边缘,Haar小波计算边缘
  • SpringBoot 整合酷狗获取下载音乐(需要自己账户)
  • 基于鸿蒙API10的RTSP播放器(四:沉浸式播放窗口)
  • 微软 Azure AI 服务免费试用及申请:语音识别、文本转语音、基于视觉、语言处理、文档分析等10大场景
  • EP12 分类列表元素点击跳转
  • 医学数据分析实训 项目一 医学数据采集
  • 深入解读Docker核心原理:Namespace资源隔离机制详解
  • SPDK 部署NVMe over TCP
  • golang学习笔记19——golang做服务发现与注册的深度剖析
  • PHP在现代Web开发中的高效应用与最佳实践
  • 【C++】模拟实现string类
  • LabVIEW重构其他语言开发的旧系统
  • 个人hic分析流程搭建4—compartment模块分析
  • 切线空间:unity中shader切线空间,切线矩阵,TBN矩阵 ,法线贴图深度剖析
  • 网络传输文件的问题
  • happypack两次报错的问题
  • jQuery(一)
  • JS+CSS实现数字滚动
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • MySQL常见的两种存储引擎:MyISAM与InnoDB的爱恨情仇
  • mysql常用命令汇总
  • Python 反序列化安全问题(二)
  • Spark VS Hadoop:两大大数据分析系统深度解读
  • underscore源码剖析之整体架构
  • yii2中session跨域名的问题
  • 分布式任务队列Celery
  • 个人博客开发系列:评论功能之GitHub账号OAuth授权
  • 用element的upload组件实现多图片上传和压缩
  • 在electron中实现跨域请求,无需更改服务器端设置
  • MyCAT水平分库
  • 如何用纯 CSS 创作一个菱形 loader 动画
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • "无招胜有招"nbsp;史上最全的互…
  • # 飞书APP集成平台-数字化落地
  • #Datawhale X 李宏毅苹果书 AI夏令营#3.13.2局部极小值与鞍点批量和动量
  • (11)MSP430F5529 定时器B
  • (pycharm)安装python库函数Matplotlib步骤
  • (二)PySpark3:SparkSQL编程
  • (机器学习-深度学习快速入门)第三章机器学习-第二节:机器学习模型之线性回归
  • (一) 初入MySQL 【认识和部署】
  • (一)【Jmeter】JDK及Jmeter的安装部署及简单配置
  • (游戏设计草稿) 《外卖员模拟器》 (3D 科幻 角色扮演 开放世界 AI VR)
  • (转)Linux整合apache和tomcat构建Web服务器
  • (转载)OpenStack Hacker养成指南
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .md即markdown文件的基本常用编写语法
  • .NET Core WebAPI中使用Log4net 日志级别分类并记录到数据库
  • .net core使用RPC方式进行高效的HTTP服务访问
  • .Net IE10 _doPostBack 未定义
  • .net mvc部分视图
  • .net Signalr 使用笔记
  • .NET开发者必备的11款免费工具
  • .NET文档生成工具ADB使用图文教程
  • .NET业务框架的构建