数字IC系统逻辑设计这部分主要介绍两个方面,一个是RTL的设计基础;另一方面是verilog基本语法。这一篇文章主要介绍一下RTL的设计基础。

RTL设计都是采用同步电路设计方式,了解同步电路的设计要求是RTL设计的第一步。下图是一个同步电路的示例:

其中,组合逻辑实现设计所需要的功能,寄存器用于暂存数据用时钟控制。只有当时钟进行有效跳变时,才将新的数据所存起来,否则数据保持原值。时钟相当于同步电路中的指挥。时钟一般是由晶振产生,或者由外部输入,如果需要还需要用锁相环进行倍频、相移等操作。

下面对寄存器做一个介绍,一个寄存器的结构如下图所示:

寄存器的功能如下图所示:

由图可得,该寄存器在时钟的跳变沿锁存数据,然后数据会保持直到下一个跳变沿。寄存器要正常工作,必须保证D端的数据变化与时钟的有效沿不能距离太近,否则有可能锁存错误的数据。在综合库中,规定了数据变化端跟时钟跳变沿最短的时间要求,即建立时间约束和保持时间约束。建立时间规定,在时钟沿到达前的某段时间内,数据必须稳定;保持时间定义了在时钟沿之后的某段时间之后,数据才能发生变化。如下图所示:

对于一个寄存器来说,除了数据端与时钟端有时序要求。异步复位端与时钟端也有要求。假设一个寄存器是已不复位的,复位信号低电平有效。当复位信号是低电平时,寄存器被初始化。当异步复位信号跳高时,寄存器在时钟跳变沿锁存新的数据。如果异步复位信号跳高的时刻距离时钟有效沿太近,寄存器可能继续保持复位状太,也可能锁存新的数据。因此有必要定义时钟有效沿与异步复位无效沿之间的时序要求,这就是recovery/removal的时序要求,如图所示;

寄存器中建立时间/保持时间、recovery/removal的时序要求, 对设计的最大组合逻辑延时、时钟树的构造、复位树的构造都提出了要求。复位树、时钟树一般由后端工具进行处理。 对RTL设计者来说,最需关注的是建立时间的问题。 设计中的时序违例通过静态时序分析工具可以检查出来。

在IC系统中, 复位的目的是为了将芯片强制到一个已知的状态。 同步复位与异步复位都能达到这个目的。两者的差别在于: 同步复位需要时钟有效沿到达时才能起作用,而异步复位不需要。如下,是同步复位电路:

同步复位的优点在于:

1)在采用基于周期的仿真器场合,同步复位简单

2)寄存器可以滤掉复位上的毛刺

缺点:1)需要时钟,在某些场合带来不便。假如设计中包含三态总线,总线上接着许多寄存器。当上电后,晶振还未起振,锁相环还未稳定,这时候没有时钟,所以复位还没有起作用,因此会导致总线上发生冲突。只有增加上电复位电路才能解决此问题。

2)采用同步复位,复位成为路径组合逻辑的一部分,由于复位的负载比较大,因此会使得复位树的延迟比较大,从而导致在路径上的延迟比较大。

异步复位的优点是不需要时钟,且复位不会影响到路径延时。缺点是:复位上的毛刺不能被由它复位的寄存器过滤掉;复位的无效沿与时钟之间存在时序要求。

将同步复位和异步复位优点结合起来:给出了一种异步复位,同步释放的复位方法,如下图所示:

该电路的原理是:当复位信号有效时,两个同步器都为低,因此同步器的输出立即变低,而不管此时是否存在时钟。当复位信号变高后,经过时钟跳变沿后才能将高电平锁存到同步器的输出,也就是说,同步器的输出的无效沿是与时钟同步的。

RTL设计基础(一)相关推荐

  1. tb文件 vivado_Vivado FPGA设计基础操作流程:Vivado的基本使用

    Vivado FPGA设计基础操作流程 当然在介绍的过程当中会给大家推荐一些对于工具深入使用的Xilinx官网资料.这里以流水灯的控制为例. Vivado的基本使用 (一) 打开Vivado新建工程: ...

  2. 硬件工程师面试集锦 模拟电路 数字电路 IC设计基础 单片机 信号与系统 DSP 嵌入式

    模拟电路   1.基尔霍夫定理的内容是什么?(仕兰微电子)   2.平板电容公式(C=εS/4πkd).(未知)   3.最基本的如三极管曲线特性.(未知)   4.描述反馈电路的概念,列举他们的应用 ...

  3. (转)硬件工程师面试集锦 模拟电路 数字电路 IC设计基础 单片机 信号与系统 DSP 嵌入式

    模拟电路  1.基尔霍夫定理的内容是什么?(仕兰微电子)  2.平板电容公式(C=εS/4πkd).(未知)  3.最基本的如三极管曲线特性.(未知)  4.描述反馈电路的概念,列举他们的应用.(仕兰 ...

  4. 2018-2019-1 20165214 《信息安全系统设计基础》第六周学习总结

    20165214 2018-2019-1 <信息安全系统设计基础>第六周学习总结 教材学习内容总结 1.输入操作是从I/O设备复制数据到主存,而输出操作是从主存复制数据到I/O设备 2.U ...

  5. 2017-2018-1 20155204 《信息安全系统设计基础》第十一周学习总结

    2017-2018-1 20155204 <信息安全系统设计基础>第十一周学习总结 教材学习内容总结 9.1物理和虚拟地址 物理地址:计算机系统的主存被组织成一个人由M个连续的字节到校的单 ...

  6. 2017-2018-1 20155202 《信息安全系统设计基础》第9周学习总结

    2017-2018-1 20155202 <信息安全系统设计基础>第9周学习总结 第6章 存储器层次结构 教材学习内容总结 随机访问存储器(Random-AccessMem)分为两类:静态 ...

  7. c语言程序设教材计 乌云高娃,C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt...

    C语言程序设计教学课件作者第3版乌云高娃演示文稿C语言程序设计教学课件作者第3版乌云高娃演示文稿演示文稿第1章C语言程序设计基础课件.ppt 主要内容 课程概述 为什么选择C语言作为入门课程? C语言 ...

  8. C02-程序设计基础提高班(C++)第9周上机任务-类和对象

    第9周:阅读教材第8章(p231-262),主要内容是类和对象,学会定义类和对象解决问题,完成第9周上机任务: (回到C02-程序设计基础提高班(C++)学习安排) 实践任务: [任务1]阅读.运行下 ...

  9. 20145231 《信息安全系统设计基础》第11周学习总结

    20145231<信息安全系统设计基础>第11周学习总结 教材学习内容总结 异常 异常是异常控制流的一种形式,由硬件和操作系统实现.简单来说,就是控制流中的突变. 出现异常的处理方式: 1 ...

  10. 在c语言中,函数中的自动变量可以赋初值,每调用一次,赋一次初值,计算机二级考试 程序设计基础试题及答案三...

    <程序设计基础>考试试卷三 1. 判断下面标识符中哪个是C语言中合法的用户定义标识符: A. a-b B. #abd C. typedef D. _max 2. -b?在内存中占个字节,& ...

最新文章

  1. linux图形登陆报拒绝权限,Linux-权限被拒绝?
  2. 皮一皮:充实的一天...
  3. Python中的eval,exec以及其相关函数
  4. redis-高级特性
  5. 方舟手游服务器设置文件翻译,方舟生存进化手游界面翻译 方舟生存进化手机版中文对照翻译一览...
  6. MPEG的完整形式是什么?
  7. nginx(三)status状态页面的相关信息及配置,以及nginx的访问控制配置
  8. 【数学建模】基于matlab无线可充电传感器网络充电路线规划【含Matlab源码 750期】
  9. JAVA计算机毕业设计在线购书商城系统Mybatis+源码+数据库+lw文档+系统+调试部署
  10. 基于matlab的gmsk,基于matlab的gmsk
  11. 【洛谷P1228】地毯填补问题【分治】【递归】【DFS】
  12. bandit-Python代码审计工具
  13. CAD内容很少,文件很大清理无效
  14. 加入先进制造的追光者-探索现代机械设计团队的高效协作方式
  15. html构建复选框标签,什么标签用于在表单中构建复选框_HTML表单复选框INPUT标签...
  16. tokenizer.encode、tokenizer.tokenize、tokenizer.encode_plus的用法差异
  17. 2019云栖大会:逍遥看巅峰,张勇提“百新”,平头哥“再亮剑”
  18. [C语言]口令比较填空:阅读程序,按要求在空白处填写适当的表达式或语句,使程序完整并符合题目要求。 下面程序比较用户键盘输入的口令userInput与内设的口令password是否相同。若相同,
  19. React自定义组件使用onClick传参注意:onClick只是一个名字而已!
  20. 提交apk到小米应用商店,monkey测试未通过被拒

热门文章

  1. 缓冲流、转换流、序列化流、装饰设计模式、comms-io工具包
  2. Day2:数据类型介绍及相关使用方法
  3. git回退到某个commit
  4. google书签删除了怎么恢复?谷歌浏览器删除的书签怎么恢复?
  5. [NISACTF 2022]上
  6. 计算机本地硬盘满了,本地磁盘C盘满了怎么清理?
  7. 迷信一把:三才数理吉凶
  8. PS怎么做出水彩油画喷溅效果图片
  9. python database is locked_解决SQLite database is locked
  10. PCI/PCIe硬件相关知识