【教程】数电基础与Verilog设计
主页-old
>
新闻中心
>
FPGA技术教程
>
VERILOG
>
2020-03-27 人气: 作者:admin
一、
概述
二、
基本概念
2.2
硬件电路
2.2 数制
2.2.1
进制转换表
十进制
二进制
十六进制
0
0
000
0
1
0
001
1
2
0
010
2
3
0011
3
4
0
100
4
5
0101
5
6
0110
6
7
0111
7
8
1
000
8
9
1001
9
1
0
1010
A
1
1
1011
B
1
2
1100
C
1
3
1101
D
1
4
1110
E
1
5
1111
F
2.3
编码
编码顺序
二进制
格雷码
One-Hot
0
0
000
0000
0000_0000_0000_0000
1
0
001
0001
0000_0000_0000_00
1
0
2
0
010
0011
0000_0000_0000_0
1
00
3
0011
0010
0000_0000_0000_
1
000
4
0
100
0110
0000_0000_000
1
_0000
5
0101
0111
0000_0000_00
1
0_0000
6
0110
0101
0000_0000_0
1
00_0000
7
0111
0100
0000_0000_
1
000_0000
8
1
000
1100
0000_000
1
_0000_0000
9
1001
1101
0000_00
1
0_0000_0000
1
0
1010
1111
0000_0
1
00_0000_0000
1
1
1011
1110
0000_
1
000_0000_0000
1
2
1100
1010
000
1
_0000_0000_0000
1
3
1101
1011
00
1
0_0000_0000_0000
1
4
1110
1001
0
1
00_0000_0000_0000
1
5
1111
1000
1
000_0000_0000_0000
2.4
逻辑代数基础
2.4.1
布尔代数
条目
说明
发明者
G
eorge Boole乔治·布尔,英国数学家,1847年创立;
内容
仅用数值“0”和“1”实现
逻辑
的数学化;
逻辑
指事物的因果之间所应遵循的规律
应用于数电
Claude Shannoe克劳迪·香农,美国科学家,1938年用于数电;
意义
个人看法:
把事物逻辑规律,用数学准确描述,这样交给计算处理,又快又好。
2.4.2
基本逻辑运算
2.4.3
基本逻辑表达
2.4.4
逻辑函数
条目
说明
定义
把“与”、“或”、“非”这三种基本逻辑运算组合为逻辑表达式,表达式的运算结果赋于另一个变量,比如F,这个公式叫逻辑函数;
例: F = A & B | C;
可以抽象为: F = f(A,B,C);
逻辑函数和逻辑电路是相互对应的;
基本定律
运算规律:
1>>逻辑代数公理;
2>>逻辑代数基本定律;
3>>逻辑代数基本定理;
化简方法
1>>基本定律;
2>>卡诺图等;
3>>Q-M化简法;
2.5
电路分类
条目
说明
信号类型
模拟电路
数字电路
功能类型
数据处理电路
控制电路
时序特性
组合逻辑电路
时序逻辑电路
硬件类型
晶体管->门级->模块级->系统级
2.6
建模
2.6.1
建模概述
2.6.2
Verilog逻辑设计
条目
逻辑描述
Verilog描述
分类
真值表
1-真值表建模;
电路原理图
2-结构化建模;
1
>
>布尔表达式;
2
>>电平触发器;
3>
>
边沿触发器;
3-行为级建模:
1
>>基于布尔方程;
2>>基于电平触发器建模;
3>>基于边沿触发器建模;
RTL级(Register Transfer Level)寄存器传输级;
算法级建模:与硬件无关;
三、
组合逻辑电路
3.1
三态门
3.1.1
工作原理
3.1.2 行为建模
3.2
编码器
3.2.1
工作原理
3.2.2
行为建模
3.3
译码器
3.3.1
工作原理
3.2.2
行为建模
3.4
数据选择器
3.4.1
工作原理
3.4.2
行为建模
1
3.4.3
行为建模
2
3.4.3
真值表建模
3.5
数值比较器
3.5.1
工作原理
3.5.2
行为建模
1
3.5.2
行为建模
2
四、
时序逻辑电路
4.1
概述
时序逻辑电路概述
问题:
在各种复杂的数字电路中,不但需要对二进制信号进行算术运算和逻辑运算,还需要将这些信号的运算结果
保存
起来。
解决:
触发器(Filp-Flop):能够存储1位二值信号的基本逻辑单元电路统称;
触发器种类:
1
-
电平触发; 2-脉冲触发;3
-
边沿触发;
注意:
电平触发器(既电平锁存器),例如在
FPGA
设计中锁存器指的就是电平锁存器(Latch);
4.2
D型锁存器
4.2.1
工作原理
4.2.2
行为建模
4.2.3
避免锁存器
4.3
D型触发器
4.3.1 工作原理
4.3.2
复位
/
置位
D
型触器
4.3.3
行为建模
4.4
寄存器
4.4.1 工作原理
4.4.2
行为建模
4.5
移位寄存器
4.5.1 工作原理
4.5.2
行为建模
4.6
计数器
4.6.1 工作原理
4.6.2
行为建模
4.6.3
时序分析
4.7
状态机
4.6.1 概述
定义
时序电路(sequential circuit):
电路的输出同时依赖于电路
之前
的状态和
当前
输入值;
有限状态机(Finite state Machines):
时序电路的别称,简称状态机,因为时序电路的功能行为可以用有限个状态来
表示
;
描述方法
1
-
状态表(state table);
2
-
状态图(State Machine Chart);
3
-
时序图(Timing Diagram);
4
-
算法状态机流程图(Algorithmic State Machine,
ASM
);
5
-
顺序功能图(Sequential Function Chart
,
SFC
); //PLC编程中使用
应用
序列检测器(sequence detector);
流程控制;
4.6.2 SFC
4.6.3
状态机描述
4.6.4
状态机实现
4.6.5
状态机图示
五、
算术运算电路
5.1
加法器
5.1.1
半加器工作原理
5.1.2
半加器行为建模
5.1.3 1
位全加器工作原理
5.1.5 1位全加器
行为建模
5.1.6 1位全加器行
图示
5.2
减法器
5.2.1
原码
条目
原码
无符号整数
只可能是正数的数;0,
1
,
2
,
…
有符号整数
可能为正数又可能为负数的数;-
3
,-
2
,-
1
,
0
,+
1
,+
2
,+
3
;
实数
带有小数点的数;
原码表示法
数字逻辑电路输出高电平表示二进制1,输出低电平表示二进制0;
表示有符号正整数:将二进制数的最高有效位置‘0’,
0
001代表+1;
表示有符号正整数:将二进制数的最高有效位置‘
1
’,
1
001代表-1;
原码缺点
计算 -5 – 8 =?
step
1
:(-
5
),(-
8
)求绝对值,为5,
8
;
step2: 8-5=3;
s
tep3: 以绝对值大的一个数的符号作为差值符号为:-
3
;
实际电路需要:比较器,减法器;
补码解决了这个问题
5.2.1
补码
上一篇:
【技巧】阻塞赋值与非阻塞赋值的问题
下一篇:
【教程】史上最干货的Verilog语法课程_6小时掌握Verilog语法