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

「Verilog学习笔记」用3-8译码器实现全减器

专栏前言

本专栏的内容主要是记录本人学习Verilog过程中的一些知识点,刷题网站用的是牛客网

分析

首先列出3-8译码器和全减器的真值表 全减器真值表如下

3-8译码器真值表如下

`timescale 1ns/1nsmodule 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'b0; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b001 : beginY0n = 1'b1; Y1n = 1'b0; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b010 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b0; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b011 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b0; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b100 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b0; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b1;end 3'b101 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b0; Y6n = 1'b1; Y7n = 1'b1;end 3'b110 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b0; Y7n = 1'b1;end 3'b111 : beginY0n = 1'b1; Y1n = 1'b1; Y2n = 1'b1; Y3n = 1'b1; Y4n = 1'b1; Y5n = 1'b1; Y6n = 1'b1; Y7n = 1'b0;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    endmodulemodule decoder1(input             A     ,input             B     ,input             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[2] + ~Y[3] + ~Y[7] ;decoder_38 d1(.E (1   ),.A0(Ci   ),.A1(B   ),.A2(A   ),.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

相关文章:

  • 【Rust】快速教程——冻结表达式
  • 2.c++基础语法
  • OceanMind海睿思数据中台迎来重磅更新,使用体验全面提升!
  • Android 工厂模式距离传感器逻辑优化
  • GFS分布式文件系统
  • 波卡三季度报告:已实现白皮书目标,异步支持与应用链技术推进
  • 【Mysql系列】Mysql基础篇
  • 网络超时检测-11.9
  • 小米手环8pro重新和手机配对解决办法
  • 在Linux安装Nginx Proxy Manager并结合内网穿透工具实现远程访问管理界面
  • vscode+python开发之虚拟环境和解释器切换
  • git push 报错 The requested URL returned error: 500
  • 回顾——自我监督的 Vision Transformer 学到了什么?
  • CTFhub-RCE-过滤目录分隔符 /
  • 【owt】owt-p2p的vs工程构建
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • AngularJS指令开发(1)——参数详解
  • javascript面向对象之创建对象
  • react 代码优化(一) ——事件处理
  • Web设计流程优化:网页效果图设计新思路
  • 大整数乘法-表格法
  • 类orAPI - 收藏集 - 掘金
  • 聊聊redis的数据结构的应用
  • 码农张的Bug人生 - 初来乍到
  • 深入 Nginx 之配置篇
  • 自制字幕遮挡器
  • ​ 轻量应用服务器:亚马逊云科技打造全球领先的云计算解决方案
  • ​RecSys 2022 | 面向人岗匹配的双向选择偏好建模
  • # MySQL server 层和存储引擎层是怎么交互数据的?
  • #QT(串口助手-界面)
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (六)c52学习之旅-独立按键
  • (四)七种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (转)自己动手搭建Nginx+memcache+xdebug+php运行环境绿色版 For windows版
  • (转载)在C#用WM_COPYDATA消息来实现两个进程之间传递数据
  • (轉貼) 資訊相關科系畢業的學生,未來會是什麼樣子?(Misc)
  • **PyTorch月学习计划 - 第一周;第6-7天: 自动梯度(Autograd)**
  • *_zh_CN.properties 国际化资源文件 struts 防乱码等
  • .bat批处理(十一):替换字符串中包含百分号%的子串
  • .bat文件调用java类的main方法
  • .Net CF下精确的计时器
  • .NET Compact Framework 多线程环境下的UI异步刷新
  • .net framework profiles /.net framework 配置
  • .net 程序 换成 java,NET程序员如何转行为J2EE之java基础上(9)
  • .Net程序帮助文档制作
  • @KafkaListener注解详解(一)| 常用参数详解
  • [2]十道算法题【Java实现】
  • [20140403]查询是否产生日志
  • [2016.7.test1] T2 偷天换日 [codevs 1163 访问艺术馆(类似)]
  • [Asp.net mvc]国际化
  • [CareerCup] 12.3 Test Move Method in a Chess Game 测试象棋游戏中的移动方法
  • [FT]chatglm2微调
  • [LeetCode] Binary Tree Preorder Traversal 二叉树的先序遍历
  • [LeetCode]Pow(x,n)
  • [LeetCode系列]3元素最近和问题的O(n^2)解法