节通过硬件描述语言verilog hdl对二十进制编码器的描述,介绍verilog hdl程序的基本结构及特点。
二十进制编码器及verilog hdl描述
二十进制编码器是数字电路中常用的电路单元,它的输入是代表0~9这10个输入端的状态信息。输入信号为高电平时,输出相应的bcd码,因此也称为10线4线编码器。其功能表及电路符号如图3-1所示。
图3-1 二十进制编码器
【例3-1】利用verilog hdl对二十进制编码器进行设计。
verilog hdl程序的基本构成
从例3-1可以看出,一个完整的verilog hdl程序由3个基本部分构成,分别是:模块端口定义部分、信号类型说明部分和逻辑功能描述语句部分。其结构图如3-2所示。
图3-2 verilog hdl程序基本结构
模块端口定义部分
对于硬件描述语言来说,一个程序代表了一个具有某种逻辑功能的电路,模块端口定义部分描述了该电路的接口部分的信息,即输入输出信号的信息。
模块端口定义部分的语法结构如下:
module模块名(端口信号1,端口信号2,端口信号3,端口信号4,……);
input[width:0]端口信号1,端口信号3,……;
output[width:0]端口信号2,端口信号4,……;
程序以关键词module引导,模块名是设计者对于设计的电路所取的名字,在模块端口定义的第1行列出了所有进出该电路模块的端口信号,在第2行和第3行中定义了各端口信号流动方向。流动方向包括输入(input)、输出(output)和双向(inout),[width:0]表示信号的位宽,如果位宽没有特别说明,则系统默认为1位宽度。
【例3-2】模块端口定义举例。
信号类型说明部分
在verilog hdl语法中,信号共有两种数据类型,分别为:网线类型(net型)和寄存器类型(register型)。在信号类型说明部分除了要对输入/输出端口的信号类型进行说明之外,还要对程序中定义的中间量的数据类型进行说明。
信号类型说明部分的语法结构如下:
wire[width:0]信号1,信号2,……;
reg[width:0]信号3,信号4,……;
【例3-3】信号类型说明举例。
逻辑功能描述语句部分
逻辑功能描述语句部分对输入/输出信号之间的逻辑关系进行了描述,是verilog hdl程序设计中最主要的部分,在电路上相当于器件的内部电路结构。在verilog hdl语言中,常用的逻辑功能描述语句可以分为以下3种:
例化语句:调用已进行元件化封装的程序。这种语句常应用于层次化设计的顶层文件设计中。
【例3-4】例化语句举例。
该语句分别调用了一个非门和与门电路模块。
连续赋值语句:描述信号之间简单的赋值关系。在连续赋值语句中,右边表达式使用的操作数无论何时发生变化,右边表达式都重新计算。这类描述通常以关键词assign引导。
【例3-5】连续赋值语句举例。
该语句描述了输出信号与输入信号的赋值关系。
过程语句:以关键词always、initial等关键词引导的语句,描述了一定条件下信号之间的赋值关系。这种变量数据被赋值后,其值保持不变,直到下一次条件具备时对它们重新赋值。
【例3-6】过程语句举例。
与连续赋值语句一样,always和initial也描述了输出信号与输入信号的赋值关系,但是这种赋值往往是一种比较复杂的条件赋值,例如,例3-6就用了if……else语句描述了输出信号与输入信号的条件关系。
存储器和寄存器的区别
三星推出一款平板电脑GalaxyTabS5e 搭载10.5英寸SuperAMOLED显示屏及7040mAh超大电池
神山1海桩近海运输船投运,为阜宁风电产业发展注入新活力
苹果和华为该如何选择,根据自己的需求选择
使用多个时钟时,如何改善系统性能?
二十进制编码器及Verilog HDL描述 Verilog HDL程序的基本结构及特点
以C8051F340单片机为核心的USB数据采集系统设计
基于材料的热敏电阻类型
深入剖析火花塞
攻克技术难关!三菱机电研发出在极端天气下无人驾驶新技术
区块链将会成为偷税漏税状况的克星
电筒险炸盲港一男子 专家:发现故障应取走电池
基于DSP和ST7920的液晶显示模块的实现
Q1季度云托管设备的出货量比去年同期猛增超过20%
5G R16 版本将于近日正式冻结和发布,5G时代何去何从
锂合金的亲锂位点对锂电镀过程的影响
年轻人消费观大变:理直气壮地抠搜,买中高端电视只看国货
工业机器人的主要组成部分、运动学构型、常用材料与控制系统
一碰传输 华为新款MateBook X Pro值得拥有
探析AI读取人脸表情的正确打开方式