锆石 Hello FPGA 笔记——part1 数字电路篇

数字电路基础知识

  1. 数字量、模拟量

  2. 数制和编码
    二、八、十、十六、BCD码(2421、8421、5121、格雷码、余3码、余3循环码)

  3. 逻辑代数
    与、或、非、与非
    表示方式:函数表达式、真值表、逻辑图、卡诺图

组合逻辑电路

  • 概述
    输出仅与输入有关,无记忆功能.
  • 设计
    – 小规模集成电路(门电路)
      逻辑功能->真值表->最简函数表达式->逻辑图
    – 中规模(集成模块)
    – 大规模(可编程逻辑器件)
  • 竞争与冒险
    – 产生原因:信号有传输时间
    – 识别:同时具有原变量和反变量
      F=A A ‾ \overline{\text{A}} A  1冒险
      F=A+ A ‾ \overline{\text{A}} A 0冒险
    – 消除
      重新逻辑设计:F=A C ‾ \overline{\text{C}} C+BC+AB

组合逻辑电路模块

  1. 编码器
    二进制编码器(2n->n)-具有互相排斥输入的编码器 优先编码器
    在这里插入图片描述

  2. 译码器
    二进制译码器(n->2n)
    显示译码器
    请添加图片描述

  3. 数据选择器
    八选一数据选择器

  4. 数值比较器

  5. 加法器(基础)

  • 半加器(input A、B | output S(sum)、C(向高位的进位))
    请添加图片描述
  • 全加器
    请添加图片描述
    请添加图片描述

时序逻辑电路

概述

定义:任意时刻的输出不仅取决于当时的输入信号,而且还与以前的输入有关。

存储电路:双稳态电路——锁存器、触发器

– RS锁存器(交叉反馈结构)
 SD置位 RD复位
 置位 SD=1,RD=0;
 复位 SD=0,RD=1;
 保持 SD=0,RD=0;
 禁止出现 SD=1,RD=1;
请添加图片描述
– 门控RS锁存器(控制端C,电平触发)
请添加图片描述
– D锁存器:将输入端的单路数据D存入到锁存器中的电路
 控制门电路+RS锁存器
请添加图片描述

锁存器存在的问题——空翻
 当控制信号在一次有效状态期间,输出状态发生多次变化。
 有害,使时序电路不能按照时钟节拍工作,造成系统错误。
– 主从D触发器(边沿触发)
请添加图片描述
请添加图片描述

描述方法(RS锁存器为例)

  • 特性表(状态转换真值表)
    反映输入变量、原状态、新状态之间关系的一种真值表。
    原状态:Qn,新状态Qn+1
    如图:
    请添加图片描述
  • 特性方程
    请添加图片描述- 状态图
    请添加图片描述
  • 波形图请添加图片描述

寄存器和计数器

  • 寄存器(能够存储多位二进制数码发时序电路)
    请添加图片描述
    请添加图片描述
    • 移位寄存器(单向、双向)
      以右移寄存器为例:

请添加图片描述
请添加图片描述

  • 计数器(计数、定时、分频)
    eg:模16同步(共用1个时钟)加法计数器
    请添加图片描述
    请添加图片描述
    异步
    请添加图片描述

设计与分析

  • 分析
    根据已知的电路图写出对应的函数式(输入方程、状态方程(驱动方程)、输出方程 )
    根据得到的函数式写出对应的特性表
    根据得到的特性表画出对应的状态图
    根据得到的状态图分析出对应的逻辑规律

  • 设计
    根据已知的逻辑规律画出对应的状态图
    根据得到的状态图写出对应的特性表
    根据得到的特性表写出对应的函数式
    根据得到的函数式画出对应的电路图

把外部提供输入变量的电路称为米里型电路
把内部反馈提供输入变量的电路称为摩尔型电路——序列信号发生器(自启动电路)

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
为什么要学学习指导: 对于FPGA初学者来说,什么是FPGA?为什么要学习FPGA?怎么学习FPGA?这三个是我们最先会面对的大问题,我们只有搞明白、弄清楚了这三个问题,才能有目的、有计划的去掌握这门技术,否则,我们学习FPGA的愿望只是空中楼阁而已。学习指导包含哪些内容:该以什么是FPGA、为什么要学习FPGA、怎么学习FPGA为主线,详细的讲解了FPGA是什么、FPGA有什么用, FPGA发展前景,以及FPGA职业待遇,并且在该基础上,我们还进一步详细讲解了如何从一个什么都不会的FPGA初学者成长到无所不知、无所不能的一个FPGA工程师。 为什么要学数字电路: 数字电路FPGA的敲门砖、垫脚石,为什么这样说呢,因为数字电路主要的内容就是逻辑和时序,而逻辑与时序就是FPGA设计的核心。逻辑无非就是与门、或门、非门 ,时序无非就是锁存器、触发器、寄存器等等,再复杂的设计也就是用这些基本电路搭起来的,那么我们只有知道了这些基本电路的功能才能搭建出想要的电路。数字电路包含了哪些内容:该是从数字逻辑最基础的0和1入手,以逻辑代数为基础详细来讲解与门、或门、非门等基本门电路的功能,又以基本的门电路为基础,进一步学习了组合逻辑电路,其中不同的与或非门组合,可构造出不同的组合逻辑电路,例如编码器、译码器、数据选择器等。接下来在组合逻辑电路的基础上,我们又进一步了解学习时序逻辑电路,时序逻辑电路不同于组合逻辑电路,时序逻辑电路能做到组合电路做不到的事情,那就是让电路具有“记忆”功能,如寄存器、计数器等。最后,我们深入探讨读者最为关心的可编程器件的内部结构和原理,为进一步学习FPGA原理打下了基础。 为什么要学硬件语法: 大家都知道软件设计使用软件编程语言,例如我们熟知的C、 Java等等,而FPGA设计使用的是HDL语言,例如VHDL和Verilog HDL,说的直白点, FPGA的设计就是逻辑电路的实现,就是把我们从数字电路中学到的逻辑电路功能,使用硬件描述语言Verilog/NHDL)描述出来,这需要设计人员能够用硬件编程思维来编写代码,以及拥有扎实的数字电路功底。硬件语法包含了哪些内容:该不仅仅是介绍了Verilog HDL基本概念和语法,更着重讲解了Verilog HDL的基本设计思想及优良的代码书写规范和风格。 为什么要学软件工具: Altera的开发环境为Quartus ll, xilinx的开发环境为ISE( IntegratedSoftware Environment ),这里我们选择的是Altera的器件,所以开发环境为Quartus ll, Quartus11开发软件是Altera公司为其FPGA芯片设计的集成化专用开发工具,是Altera最新一代功能更强的集成EDA开发软件,使用Quartus 1l可完成从设计输入,综合适配,仿真验证到下载调试的整个设计过程。Quartus 11集成了Modelsim-Altera, SignalTap工具,可以直接调用来完成设计任务的仿真及调试。软件工具包含了哪些内容:该不仅讲解了如何使用Quartus 1l软件、ModelSim和SignalTapll软件,还讲解了PLL. ROM,RAM,FIFO、 DDRIP核的使用。从第一个新工程建立,管脚分配,程序下载及工程仿真,工程调试等一系列图文操作手把手带领读者掌握软件的操作,更进一步铺开来详细讲解软件的操作界面及菜单说明,功能使用。解决读者在学习上遇到的最棘手的“软”问题,为进一步学习实战奠定了基础。 为什么要学项目实战: 前面的章多为理论知识,而这一是结合开发板实物,从理论上升到实践,将前面的基础知识运用到实际的工程项目当中。项目实战包含哪些内容:我们例举三人表决器、数字时钟、多终端点歌系统、数字示波器、数码相框、USB2.0摄像头和千兆网络摄像头这七个实际的工程项目,手把手带领大家从分析工程、分解工程、到最终实现工程。通过逐个解决工程中的实际问题,来学习原汁原味的FPGA设计。本一改传统教程里逐个讲解外设的方法,巧妙的将所有外设功能放在实际项目当中讲解,使读者1意X上做到了现现,活学活用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值