译码器设计——Verilog HDL语言
译码器设计
- 任务描述
- 相关知识
- 3线-8线译码器的功能
- always语句
- 事件时序控制
- case语句
- 编程要求
- 源代码
任务描述
设计一个3线-8线译码器。运用Verilog HDL进行设计,完善译码器的功能描述风格代码,具备组合逻辑电路的设计仿真和测试的能力。
相关知识
- 3线-8线译码器的功能;
- 如何用always语句、case语句进行逻辑功能的描述。
3线-8线译码器的功能
译码是编码的逆过程,3线-8线译码器可以将n位二进制代码可译成2n种电路状态。译码器框图如下所示。
always语句
通俗的理解,always就是:一直运行。
always过程从关键字always开始,可以连续多次运行,当过程的最后一行代码执行完成后,再次从第一行代码开始执行。
一个模块中可以包含多个过程,各个过程相互之间是并发执行的。不过,过程不能够嵌套使用。如果过程中有多个语句,则需要使用关键字begin、end或fork、join将它们组成一个代码块。这两种关键字组合代表着顺序代码块和并行代码块。
事件时序控制
事件时序控制的意思是,如果指定的事件发生,则代码被触发执行。它的关键字为@,后面可以加变量或者事件名称。例如:
@(a or b) y = ~a; //当a或b其中任意一个变量发生变化时,则将a非赋值给y
@(posedge clk) y = 1; //在变量clk的上升沿,将1赋值给y
case语句
case语句是一个多路条件分支形式,其语法如下:
case(case_expr)
case_item_expr{ ,case_item_expr} : procedural_statement
. . .
. . .
[default: procedural_statement]
endcase
case语句首先对条件表达式case_expr求值,然后依次对各分支项求值并进行比较,第一个与条件表达式值相匹配的分支中的语句被执行。可以在1个分支中定义多个分支项;这些值不需要互斥。缺省分支覆盖所有没有被分支表达式覆盖的其他分支。
编程要求
根据提示,设计具有一位使能端的3线-8线译码器。当使能端为0时,8位输出信号全为0;如果一位使能信号为1,则输出高电平有效的译码信号。该译码器真值表如下所示。
源代码
测试平台:EduCoder
//设计具有一位使能端的3线-8线译码器。当使能端为0时,8位输出信号全为0;
//如果一位使能信号为1,则输出高电平有效的译码信号。
module decoder3e_test(a,ena,y);input [2:0] a;input ena;output [7:0] y; reg [7:0] y;// 请在下面添加代码,完成设计任务
/* Begin */always @ (a or ena)beginif(ena == 1)case(a)3'b000: y = 8'b00000001; 3'b001: y = 8'b00000010; 3'b010: y = 8'b00000100; 3'b011: y = 8'b00001000; 3'b100: y = 8'b00010000; 3'b101: y = 8'b00100000; 3'b110: y = 8'b01000000; 3'b111: y = 8'b10000000; default: y = 8'b00000000;endcaseelsey = 8'b00000000;end
/* End */
endmodule
觉得有帮助的可以点个赞再走哦!!
译码器设计——Verilog HDL语言相关推荐
- 编码器设计——Verilog HDL语言
编码器设计 任务描述 相关知识 3位二进制优先编码器的功能 always语句 事件时序控制 编程要求 源代码 任务描述 设计一个3位二进制优先编码器.运用Verilog HDL进行设计,完善3位二进制 ...
- 有限状态机设计实例之空调控制器(Verilog HDL语言描述)(仿真与综合)(附用Edraw(亿图)画状态转移图)
目录 前言 空调控制器 简介 状态转移图如下: Verilog HDL语言描述 测试文件 仿真图 ISE综合 RTL Schematic Technology Schematic 前言 关于工具的使用 ...
- 模6计数器以及模10计数器(Verilog HDL语言设计)(Modelsim仿真与ISE综合)
目录 前言 模6计数器 Verilog HDL语言描述 测试文件 仿真电路图 RTL Schematic Technology Schematic 模10计数器 Verilog HDL语言描述 测试文 ...
- spwm控制算法c语言实现,采用Verilog HDL语言与DDS技术实现SPWM控制算法的FPGA设计
其部分程序代码如下: case(state1) A: //初始化状态 begin ADDRES1<=addr1; //时分复用第一路地址 READ_EN<=1′b1; //读使能开 NEX ...
- 模24的8421BCD码计数器(Verilog HDL语言描述)(仿真与综合)
目录 前言 原理 Verilog HDL程序设计 测试代码 仿真波形图 ISE综合后 RTL Schematic Technology Schematic 前言 本博文用Verilog HDL语言描述 ...
- 级联模60计数器(Verilog HDL语言描述)(仿真与综合)
目录 前言 模60计数器 Verilog HDL语言描述 测试文件 仿真波形 RTL Schematic Technology Schematic 前言 看这篇文章前,推荐先看看模10计数器和模6计数 ...
- 通过仿真和综合认识T触发器(Verilog HDL语言描述T触发器)
这个系列的博文已经写过了两篇,分别是通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)和通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器),分析的方法是完全并行 ...
- 通过仿真和综合认识JK触发器(Verilog HDL语言描述JK触发器)
上篇博文写了用仿真和综合来认识D触发器(通过仿真和综合认识D触发器(Verilog HDL语言描述D触发器)),这篇博文采用完全并行的方式来认识JK触发器. 让我们迅速进入正题吧. J-K触发器的Ve ...
- Verilog HDL 语言基础语法
模块的结构 (1)Verilog的基本设计单元是"模块"(block). (2)一个模块由两部分组成,一部分描述接口,另一部分描述逻辑功能. (3)每个Verilog程序包括4个主 ...
最新文章
- bzoj 2588 Spoj 10628. Count on a tree (可持久化线段树)
- 玩玩.net的ildasm與ilasm (转)
- 洛谷P1140 相似基因【线性dp】
- pytorch loss inf
- tcp http socket
- system函数_自学C++基础教程【函数】
- 蓝桥杯(java)基础练习 龟兔赛跑
- vs2012 出现 无法启动IIS express的解决方案
- 标题栏透明android,android改变标题栏的透明度
- oracle blob 限制大小_Oracle的INSTANCE CAGING在数据库资源池中的作用
- Myeclipse笔记
- c语言 统计素数并求和
- 基于KNN的离群点检测算法的Matlab版实现
- 汉语言文学专业需要学计算机吗,读个汉语言文学专业,学了有什么鬼用?
- 微分几何 Class 3 曲线,曲率与挠率
- 分析游戏设计中的色彩心理学
- 产品经理——java学习之路
- 常用测试用例设计方法总结
- 利用Javascript动态生成表格的小demo
- 记疫情无聊时对老师答题网站的一次渗透(1)