数字逻辑与eda设计

amzz amzz     2023-04-27     727

关键词:

-------------读《数字逻辑与EDA设计》(广工版)小结

第一章 数字逻辑基础

1.1数制与码制★★★

数制

n进制:0~n-1,小数点左边,从右向左位权:n^0,n^1.....,小数点右边,从左向右位权:n^(-1),n^(-2)....

16进制是用0~9,A~F

数制之间的转换

码制

  1. 顺序二进制编码

  2. 格雷码

    n位二进制数的顺序二进制为B=B_n-1.....B_0,则G_i=B_i⊕B_i+1

  3. 独热码

    只有一个二进制位为1,其余为0

  4. 二-十进制编码/BCD码(用每个四位的二进制表示十进制一位的0~9)

    8421,2424,5211属于位权码,余三码是二进制码+3,余三格雷码是格雷码+3

1.2基本及常用的逻辑运算★★

AB与,A+B或,A⊕B异或

1.2逻辑函数表示方法★★

  1. 逻辑表达式
  2. 真值表
  3. 卡诺图
  4. 逻辑图

1.3逻辑函数的化简★★★

  1. 最小项及标准与或式(类似于离散数学中的极小项与主析取范式)

    常将最小项记作:m1,m2......

    求取方法:1.通过公式变换表达式 2.列出函数真值表,直接写出标准与或式

  2. 逻辑函数的最简与或式

  3. 利用公式和定理化简逻辑函数

    1. 并项法 AB+A~B=A
    2. 吸收法 A+AB=A
    3. 消项法 AB+~AC+BC=AB+~AC
    4. 消因子法 A+~AB=A+B
    5. 配项法 A+A=A , A+~A=1
  4. 卡诺图(变量少于6个)

    n个变量逻辑函数的卡诺图就有2^n个最小项,就有2^n个方格

    格雷码的顺序在行列端及列左端处写出变量取值

    几何相邻:1.相接 2.相对 3.相重

    几何相邻的最小项必为逻辑相邻,可以合并消去变量

    2^n个最小项合并成一项时,可以消去n个变量

    合并所消去的是包围圈内变量取值不同的,保留取值相同的

  5. 存在无关项的逻辑函数

    约束项用集合d表示

    其约束项和任意项统称无关项,在卡诺图用X表示,其化简时视为1还是0,应以得到的包围圈最大且包围圈个数最少为原则

1.4常用74HC系列门电路芯片★

  1. 74HC00——2输入与非门
  2. 74HC02——2输入或非门
  3. 74HC04——非门
  4. 74HC08——2输入与门
  5. 74HC32——2输入或门
  6. 74HC86——2输入异或门

sb知识:CMOS三态门能实现分时传送数据逻辑功能

第二章 组合逻辑电路

? 组合电路特点:

? 1.逻辑功能上:任意时刻的电路输出,仅取决于该时刻各个输入变量的取值,与电路原来的工作状态无关

? 2.电路结构上:电路中输出到输入之间无反馈连接,电路由逻辑门电路组成,不包含任何可以存储信息的具有记忆功能的逻辑元器件

2.1组合逻辑电路的分析方法★★★

  1. 根据给定的逻辑电路,写出输出函数的逻辑表达式
  2. 表达式变换及化简
  3. 根据表达式列出真值表
  4. 对给定电路的功能进行逻辑描述

2.2常用的组合逻辑电路(多考察各种器的输入输出端设计)

1.编译器★

? 简单来说就是将多个输入信号(I_0~I_m-1)变成较少的对应输出编码(Y_n-1~Y_0)
? 为保证编码位数最短,即输出最少,m与n满足:

? 2^(n-1)<m<=2^n

? 二进制编码器:n个输出对应2^n个输入

2.译码器★

? 与编译器刚好相反

3.数据选择器

? 作为一种多路开关常用于将并行数据转换位串行数据输出

? 2^n路输入1路输出的多路选择器有n个选择控制变量,选择控制端的二进制值m对应第m个输出端口D_m

? 即是有n个选择控制输入端,2^n个数据输入端

4.数值比较器

? 基本功能:输入两个位数相同的数A,B,比较大小后输出结果:G,E,S(对应> = <)

? 有符号优先比较符号,多位数从高位比较起

? n位数值比较器需要2n位数据输入及3位输出信号

5.加法器★

1位二进制加法器
  1. 半加器:只考虑两个加数本身,不考虑由低位来的进位
  2. 全加器:除了考虑连个加数本身,还考虑由低位来的进位(会叠加上去)

2.3组合逻辑电路的设计方法★★★

  1. 分析设计要求,将文字描述抽象成输出变量与输入变量的逻辑关系
  2. 列真值表
  3. 根据真值表写出逻辑表达式并进行化简
  4. 根据所选择的门电路的类型,变换最简表达式
  5. 根据逻辑表达式画出逻辑电路图

2.4组合逻辑电路的时序分析★★★

  1. 波形图

  2. 时序分析

    实际中信号经过任何一个门电路都会产生时间延迟,称为传输延迟

    传输延迟除了会影响电路速度,还会引起电路的竞争问题

  3. 竞争冒险

    当输入信号发生变化后,在输出达到稳定前,输出端可能出现异常的虚假信号(干扰脉冲)

    解决方案:1.选通法 2.滤波法 3.增加冗余项法

第三章 时序逻辑电路

? 时序电路特点(注意与组合电路的不同):

1.逻辑功能上:任意时刻电路的稳定输出,不仅取决于该时刻各个输入变量的取值,还取决于电路原来的状态

2.电路结构上:通常包含组合电路+存储电路,存储电路由具有记忆功能的锁存器或触发器构成,存储电路的输出状态必须反馈到组合电路的输入端,共同决定组合电路的输出

? 按触发器的时钟脉冲控制方式分类

? 1.同步时序电路: 所有触发器状态的改变都在同一个时钟脉冲控制下同时发生

? 2.异步时序电路: 触发器由两个或及以上的时钟脉冲Clk控制或无Clk控制

? 按输出与输入的关系分类

? 1.Mealy型时序电路: 输出信号不仅取决于存储电路的状态,还与输入直接相关

? 2.Moore型时序电路: 输出信号仅仅取决于存储电路的状态

3.1时序电路逻辑功能的表示方法★★

  1. 逻辑表达式

    1.输出函数,用Y=...表示

    2.驱动函数,用Z=...表示

    3.状态函数,用Q^(n+1)=...表示 //Q^n表示现态 Q^(n+1)表示次态

  2. 状态表(有些需要先编码,再列出真值表的形式)

    包括时钟Clk,输入,现态,次态,输出

  3. 状态图

    圆圈代表一个存储状态,圈中文字代表状态名字,箭头表示状态之间的转换关系,箭头上有:斜线左边表示转换条件/输入信号,右边是输出信号

  4. 时序图

3.2锁存器与触发器

锁存器是电平敏感的存储元件,即是存储状态随着输入信号的高低电平变化而变化

触发器是时钟脉冲边沿触发的存储元件,即是存储状态仅在时钟脉冲边沿可能发生变化

触发器(双稳态)★★

1.D触发器,特性函数:Q^(n+1)=D Clk上升有效

2.JK触发器, 特性函数: Q^(n+1)=J~Q^n+~KQ^n Clk下降有效

3.RS触发器,特性函数:1. Q^(n+1)=S+~RQ^n 2. RS=0(约束条件)

4.T触发器,特性函数:Q^(n+1)=T⊕Q^n

当置位或清零信号一产生就立刻进行操作的是异步方式,

当置位或清零信号产生后,还要等待时钟脉冲信号的有效边沿到来才进行操作的是同步方式

带有异步置位Set和异步清零Clr的触发器需遵守约束条件:**Set*Clr=0**

求n个触发器构成的计数器有几个无效状态,用2^n-计数容量=无效状态个数

3.3时序电路的分析方法★★★

  1. 写函数表达式,包括输出函数和各触发器的驱动函数(Clk处无小圆圈为上升沿触发,有为下降沿触发)

  2. 将各触发器的驱动函数代入各自的特性函数中,求触发器的状态函数

  3. 列出状态表

  4. 画状态图及时序图(利用状态表)

  5. 结合输入信号的含义,进一步对电路功能进行分析,以及对电路是否能自启动进行分析

    ? 凡是没被利用的状态称为无效状态,构成的循环称为无效循环,在时序电路中若存在无效循环,则电路有缺陷.时序电路能否自启动取决于是否存在无效循环

3.4常用的时序逻辑电路

寄存器

1.基本寄存器

实现数据的并行输入及并行输出

2.移位寄存器

在移位脉冲的操作下,依次右移或左移数据,主要实现数据的串行输入,输出,也可以并行

分为右移,左移和双向移位寄存器

计数器★

主要由触发器组成 , n个触发器构成的m进制的计数器,计数容量为m^nN进制计数器的计数容量为N

m进制计数器有m个状态,最少满足: 2^(n-1)<m<=2^n

使用集成的计数器设计N进制计数器★★

1.清零法:当计数器计数值达到N时,利用组合逻辑电路产生清零信号,使计数值变为0,可分同步置零与异步置零

2.置数法:通过设计计数的初始值,改变计数容量,如将容量为16的74HC161初始值设为4,以设计12进制计数器

3.级联方式设计:当待设计的计数器计数容量大于集成计数器容量时,

通过将n片m位N进制计数器级联的方式最多组成 (N^m)^n进制的计数器

3.5时序电路的设计方法★★★

  1. 分析设计要求,建立原始状态图

  2. 进行状态化简,消去多余状态

    (相同输入下有相同输出,且都转换到同一个次态,可合并)

  3. 状态分配,画出编码后的状态图

    n个触发器共有2^n种状态组合,固需要M个状态时,至少满足:

    ? 2^(n-1)<M<=2^n

  4. 选择触发器类型,求出电路的状态函数,输出函数及驱动函数

    (可画状态表更方便求取)

  5. 如果电路存在无效状态,则需判断是否为能自启动电路

    (可将无效状态代入输出函数和状态函数计算是否能返回有效循环)

  6. 画逻辑图

3.6时序逻辑电路时序分析的基本概念(详见课本)★

1.时钟脉冲信号 2.建立时间,保持时间和最大传播延迟时间 3.稳态和亚稳态 4.分辨时间

5.时钟偏差

第四章 硬件描述语言 Verilog HDL★★★

1.标识符

? 包括字母,数字,$和_的组合,区分大小写,首字符必须字母或下划线

2.代码格式

? 自由,可同行或多行,注释从C

3.模块和端口(类似C中函数与函数参数的概念)

? module 模块名(端口1,。。。)

? 。。。

? endmodule

? 端口列表所有端口须在模块中声明,根据流动方向分为:input,output和inout(双向)

? 端口默认声明wire型,若希望输出端口能保存数据,需显示声明为reg型(input和inout不能为reg)

端口调用

直接传参,需要按顺序传,用名字传参,如:(.端口名1(信号名1)。。。),则不必按顺序

4.系统任务和系统函数$

$display(=printf) $monitor(动态监视,发生变化就输出) $stop和$finish(使仿真挂起,进行调试)

$time,$stime,$realtime(分别以64,32位,实数返回当前仿真时间) $random

5.常用编译器指令(以`开头)

define和undef,include,timescale(定义延迟单位与延迟精度),

6.数据类型,操作符和表达式

3种常量:整型(Integer), 实数(Real), 字符串型(String)

整型格式:[指定位宽]‘[有s/S表示有符号数] base(o/O-8, b/B-2, d/D-10, h/H-16) value

数据类型

基本值:1. 0(逻辑0/假) 2. 1(逻辑1/真) 3. x(X)//未知状态 4.z(Z) //高阻状态

线网类型:wire

常量类型:reg(寄存器类型,保持最后一次赋值结果),integer,time,real,realtime

数组类型:

参数:可用parameter定义常数

位选和部分位选:可从上述数据类型中拿取一部分数据,数据按高位在左

如:reg[3:0]pa;reg[2:0]Z

? pa=4‘b1010;

? Z=pa[3:1];//3‘b101

操作符

==逻辑相等 ===全等 != !==(逻辑不等与非全等)

<< ,>>(逻辑左移与右移,空位填0)

<<<,>>>(算术左移和右移,左移填0,右移有符号数填符号位)

拼接和复制

如:X=pa,pb[2:0],pc;

? Z=3pa;//=pa,pa,pa

7.行为级建模

1.过程结构(可加入敏感事件,延迟控制)

initial: 0时刻开始执行,只执行一次,可以在变量声明时对reg赋值

always : 0时刻开始,重复执行

2.时序控制

delay://延迟控制

@(事件表达式) 执行语句;//事件控制

事件表达式:

<信号名>:发生变化就执行

posedge<信号名>:信号正跳

negedge<信号名>:信号负跳

wait(条件) //电平敏感事件控制,条件为真就执行

? 执行语句;

3.语句块

顺序:begin...end

并行:fork...join

4.过程性赋值

阻塞性过程赋值:=

非阻塞性过程赋值:<=

5.分支语句

if, case(分支不用break), forever(用disable跳出), while, for

repeat(循环次数)

? 执行语句

8.结构级建模

内置基本门级元件

多输入门:and(与门),nand(与非门),or(或门),nor(或非门),xor(异或门),xnor(异或非门)

多输出门:buf(缓冲器),not(非门)

数字电路逻辑设计笔记:逻辑代数基础

数字电路逻辑设计笔记(2):逻辑代数基础参考教材:《数字电路逻辑设计》欧阳星明人民邮电出版社参考教程:中国大学MOOC西安工业大学《数字电子技术基础》文章目录数字电路逻辑设计笔记(2):逻辑代数基础§2.1逻辑代数基础一.逻... 查看详情

《verilog数字系统设计教程》第3版夏宇闻(代码片段)

目录[toc]第1章Verilog的基本知识数字电路系统设计:从上到下(从抽象到具体)逐层描述自己的设计思想,用一系列分层的模块来描述极其复杂的数字系统。利用EDA工具逐层进行仿真验证将需要编程具体物理电路的模块组合经过... 查看详情

从spec.到芯片_(数字ic模拟icfpga/cpld设计的流程及eda工具)

...IC设计大致分类;2、IC设计需要考虑的因素;3、数字ICASIC设计流程及EDA工具;4、 查看详情

eda设计软件主要都有哪些

...能,一般可用于几个方面,例如很多软件都可以进行电路设计与仿真,同进还可以进行PCB自动布局布线,可输出多种网表文件与第三方软件接口。(下面是关于EDA的软件介绍,有兴趣的话,旧看看吧^^^)下面按主要功能或主要应用场... 查看详情

什么是eda软件

...估生产情况的设计服务公司。EDA工具也应用在现场可编程逻辑门阵列的程序设计上。扩展资料eda的历史发展在电子设计自动化出现之前,设计人员必须手工完成集成电路的设计、布线等工作,这是因为当时所谓集成电路的复杂程... 查看详情

eda软件,啥是eda软件

...信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或P... 查看详情

什么是eda软件?

...信息处理及智能化技术的最新成果,进行电子产品的自动设计。利用EDA工具,电子设计师可以从概念、算法、协议等开始设计电子系统,大量工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或P... 查看详情

基于quartusii软件fpga与pc之间的串行通信系统开发(9000+字)

...(EDA)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机科学领域的大... 查看详情

第十二届蓝桥杯eda设计与开发项目省赛(设计详细解读)

...包和文件的在下面留下邮箱即可总的来说就是封装、电路设计、PCB生成考的都是围绕stm32的你把32原理图的封装都画一遍基本没什么难度,电路设计也是对着原理图去看,去看看哪些细微的差别,在这套试卷的蜂鸣器... 查看详情

一款设计和模拟数字逻辑电路的logisim工具

1.LogiSim简介Logisim是一种用于设计和模拟数字逻辑电路的教育工具。凭借其简单的工具栏界面和构建它们时的电路仿真,它非常简单,有助于学习与逻辑电路相关的最基本概念。由于能够从较小的子电路构建更大的电路,并通过... 查看详情

一款设计和模拟数字逻辑电路的logisim工具

1.LogiSim简介Logisim是一种用于设计和模拟数字逻辑电路的教育工具。凭借其简单的工具栏界面和构建它们时的电路仿真,它非常简单,有助于学习与逻辑电路相关的最基本概念。由于能够从较小的子电路构建更大的电路,并通过... 查看详情

xin片设计的中的数学问题

...拼音替代)概述EDA简介EDA的主要工具和相关数学问题数字全流程工具数学问题定制电路全流程工具数学问题晶圆制造工具数学问题写在后面的话概述EDA与光刻机均被称为“xin片之母”,一个是xin片设计的必备工具,一... 查看详情

xin片设计的中的数学问题

...拼音替代)概述EDA简介EDA的主要工具和相关数学问题数字全流程工具数学问题定制电路全流程工具数学问题晶圆制造工具数学问题写在后面的话概述EDA与光刻机均被称为“xin片之母”,一个是xin片设计的必备工具,一... 查看详情

数字电路逻辑设计笔记:基础知识

数字电路逻辑设计笔记(1):基础知识参考教材:《数字电路逻辑设计》欧阳星明人民邮电出版社参考教程:中国大学MOOC西安工业大学《数字电子技术基础》文章目录数字电路逻辑设计笔记(1):基础知识一.引入计算机层次架构二.数字... 查看详情

数字电路逻辑设计笔记:chap5集成触发器

数字电路逻辑设计笔记(5):chap5集成触发器本章关注的是触发器的功能如同门是组合逻辑电路的基本单元一样,触发器是时序逻辑电路的基本单元组合逻辑电路的输出仅仅取决于当时的输入时序逻辑电路的输出不仅仅取决于当... 查看详情

数字ic前后端设计中setup违反的修复方法

...转自:自己的微信公众号《集成电路设计及EDA教程》 数字IC设计中Setup的分析与优化贯穿前后端设计中,最好在开始后端设计之前就获得一个没有Setup违反的网表,下面按照从前到后的流程逐一讲解每个阶段如果出现Setup违反... 查看详情

求高人翻译

...使用硬件描述语言(HDL)来完成系统的设计文件,应用VHDL的数字电路实验降低了数字系统的设计难度,这在电子设计领域已得到设计者的广泛采用。本设计就是针对交通信号灯控制器的设计问题,提出了基于VHDL语言的交通信号灯系... 查看详情

论数字电路与逻辑的重要性

最近在学习数字电路与逻辑,发现学起来还是有些难度的,那么这门课到底有什么用呢?首先这么课程是计算机和电子信息专业的一门硬件基础课1.有什么用其理论性和实践性很强,尤其强调工程应用。数字电路又是现代电子技... 查看详情