一、数字电路技术基础
1.学习内容:典型的组合电路模块(2)
2.学习目标:掌握翻译设计原理,使用翻译设计组合逻辑电路
3.学习总结:
二、HDLBits练习
三、Verilog HDL数字集成电路设计原理及应用
一、数字电路技术基础
1.学习内容:典型的组合电路模块(2)
2.学习目标:掌握翻译设计原理,使用翻译设计组合逻辑电路
3.学习总结:
3.1 译码器的基本原理
n位二进制译码器是在输出端给出n变量的所有最小项。对于任何函数,结合n位二进制译码器输出的最小项,可以获得任何形式的输入变量不大于n的组合函数。Y=Σm i。
例子:对于拥有A,B,C,D四位二进制译码器的最小原因A'B'C'D‘——ABCD共计十六个,则该译码器可实现不大于四个输入的任意最小项之和。
3.2 二-十进制译码器
二进制译码器,即将四位二进制输入的0-90个变量翻译成十个高低电平输出信号。
3.3 多输出组合逻辑电路步骤采用译码器设计。
① 将指定的输出逻辑函数表达式转换为最小项之和。Z = Σm(1,2,3,4)
② 写出最小项之间的相和形式。Z = Σm(m1 m2m3m4)
③ 建造电路。特别注意未使用的端口(如高电平或接地)也需要处理
3.3 显示译码器
二进制输入变量转为十进制输出步骤
① 写出真值表
② 列逻辑式
③ 画卡诺图简化逻辑
④ 搭建电路
二、HDLBits练习
三、Verilog HDL数字集成电路设计原理及应用
1.数据类型
物理数据类型:连接类型、寄存器类型和存储数据类型
1.1 连线型
功能 | |
wire,tri | 标准连线(若未声明则默认为该类型) |
wor,trior | 多重驱动时,具有“线或”特性的连线型 |
wand,trand | 多重驱动时,具有“线与”特性的连线型 |
trireg | 具有电荷保持特性的连线型数据类型(特例) |
tri 1 | 上拉电阻 |
tri 0 | 下拉电阻 |
supply 1 | 电源线,用于对电源建模为高电平 1 |
supply 0 | 电源线,用于对“地”建模为低电平 0 |
1.2 连线型数据类型的声明结构
<net_declaration><drive_strength><range><delay>[list_of_variables]
<net_declaration> 可为wire,tri,tri 0,wand……任意一种
<drive_strength> 表示连线类型的驱动强度
<range> 用来指定数据为标量或矢量。默认为1位标量,大于1则为矢量形式。
[list_of_variables] 变量名称,一次可以定义多个名称,之间用逗号隔开。
1.3寄存器型(声明结构与连线型数据类型类似)
寄存器型数据类型为数据存储单元的抽象类型,其对应的硬件电路元件具有状态保持作用能够储存数据,如触发器,锁存器等
reg型变量常用于行为级描述,由过程赋值语句对其进行赋值。
1.4 储存器型(RAM,ROM)
声明结构 reg <range 1><name_of_register><range 2>
<range 1><range 2>为可选项,缺失则为1
<range 1> 表示储存器中的寄存器位宽
<range 2> 位深,寄存器的个数,格式为[msb:lsb],即有 msb-lsb+1个寄存器
<name_of_register> 名称
2.运算符和表达式,分为逻辑运算符和按位逻辑运算符
3.模块(module)
一个模块主要包括
① 模块的开始于结束,以module开始,以endmodule结束
② 模块端口定义,定义输入input,输出output,双向端口inout
③ 模块数据类型说明,wire,reg,memory,parameter,localparameter等
④ 模块逻辑功能的描述,用来产生逻辑,initial,always,子模块实例化语句等