官方论坛
官方淘宝
官方博客
微信公众号
点击联系吴工 点击联系周老师
您的当前位置:主页 > 教程中心 > FPGA技术教程 > VERILOG >

【教程】数电基础与Verilog设计

发布时间:2020-03-27   作者:admin 浏览量:
一、 概述

二、基本概念


2.2硬件电路






2.2 数制
2.2.1 进制转换表

十进制
二进制
十六进制
0
0000
0
1
0001
1
2
0010
2
3
0011
3
4
0100
4
5
0101
5
6
0110
6
7
0111
7
8
1000
8
9
1001
9
10
1010
A
11
1011
B
12
1100
C
13
1101
D
14
1110
E
15
1111
F


2.3 编码

编码顺序
二进制
格雷码
One-Hot
0
0000
0000
0000_0000_0000_0000
1
0001
0001
0000_0000_0000_0010
2
0010
0011
0000_0000_0000_0100
3
0011
0010
0000_0000_0000_1000
4
0100
0110
0000_0000_0001_0000
5
0101
0111
0000_0000_0010_0000
6
0110
0101
0000_0000_0100_0000
7
0111
0100
0000_0000_1000_0000
8
1000
1100
0000_0001_0000_0000
9
1001
1101
0000_0010_0000_0000
10
1010
1111
0000_0100_0000_0000
11
1011
1110
0000_1000_0000_0000
12
1100
1010
0001_0000_0000_0000
13
1101
1011
0010_0000_0000_0000
14
1110
1001
0100_0000_0000_0000
15
1111
1000
1000_0000_0000_0000



2.4 逻辑代数基础
2.4.1 布尔代数


条目
说明
发明者
George 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 ChartSFC); //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’,0001代表+1;
表示有符号正整数:将二进制数的最高有效位置‘1’,1001代表-1;
原码缺点
计算 -5 – 8 =?
step1:(-5),(-8)求绝对值,为5,8
step2: 8-5=3;
step3: 以绝对值大的一个数的符号作为差值符号为:-3
实际电路需要:比较器,减法器;
补码解决了这个问题

5.2.1 补码


   拓展阅读