A==BFPGA设计与应用基本时序电路.ppt

  1. 1、本文档共29页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
A==BFPGA设计与应用基本时序电路.ppt

CSE of SEU 系统结构实验室 如果IO读写的同时,定时或者计数到了,那么你说,我们是应该认为是前面的定时/计数是有效的呢,还是无效? FPGA开发平台是一个可重构的硬件平台。 通过一定的方法,我们可以把我们设计的电路下载到FPGA芯片中去。 像以前我们电子电工实验课里所有手工搭建的电路,都可以下载到里面去。FPGA及其编程下载工具,能够帮助我们简化电路设计的过程:它只要我们提交逻辑电路,而不需要我们去手工搭建具体的电路。 我们使用Verilog HDL进行FPGA开发。如果把行为描述比作高级语言的C++,Java等,那么进行RTL和门级开发,就像用汇编语言开发直接操作硬件。Verilog HDL既提供了行为描述语言,也提供了底层的RTL和门级描述支持。 要想设计的出速度面积功耗都比较出色电路,最好是采用RTL和门级描述。 下面我们关于FPGA设计优化的话题将主要围绕RTL和门级描述来展开。 触发器一般可用来实现寄存器,RAM等临时存储设备,也是实现流水线,提高系统效率的关键元件。 我会在后面如何把组合逻辑的电路改成流水线的有关章节中给大家详细介绍触发器的作用。 大家在上接口和单片机等课程的时候,我不知道大家有没有注意到为什么很多信号都是采用低电平有效? 比如说片选信号CS,8086里存储器读MEMR,MEMW信号,上面都有一横,表示低电平有效。 那采用与正常思维相反的负逻辑有什么样好处呢?这里可以给大家解释一下,通过这张表我们看到MOS管制造工艺中各种基本门电路需要的晶体管数目和延迟级数。 同步时序电路控制起来比较简单,但是两个触发器之间的关键路径长度存在不均衡。 可能导致有的路径分配时间大于实际使用时间的浪费。 异步时序电路不存在这样的浪费,用多少是多少,但是存在不同时钟驱动模块之间数据同步的问题。 这个问题在后面会给大家具体讲述。 这张图中,加法器也是采用分组的方法。为了讲述方便,我们分成低位加法器和高位加法器两组。 红色部分表示该部分加法器的向上进位。 这里我们不直接利用低位的进位,而是采用并行的预测方法。设置两个高位加法器,一个进位为0,一个进位为1。 这个看得懂吧,低位进位肯定要么为0,要么为1。低位进位的结果用来进行数据选择,选择这两个高位加法器的预测结果。 这个电路的时间复杂性为组内电路的延迟加上一路数据选择的常数时间,这样就大大的降低了整个电路的延迟。但是缺点是多了并行预测的冗余电路,是典型的空间换时间的例子。 在组成原理里我们学过这么几种加法器,串行进位最差,总的时序延迟最大。并行进位从理论上来说是最好的,他的每位都是单独计算的,但是因为门电路的扇入系数的限制,所以不允许后面的位有那么多的输入。分组方案是对扇入系数限制的一种折中方案。 在实际应用中,还存在其他很多加法器,比如流水线加法器等等。这里我给大家介绍一种新的加法器。 我们用C++,Java写应用程序的时候,有用空间换时间,或者时间换空间的例子。 在硬件电路设计里面,也存在这样的情况。这里给大家举两个例子,希望能给大家的电路设计一点启发。 我们用C++,Java写应用程序的时候,有用空间换时间,或者时间换空间的例子。 在硬件电路设计里面,也存在这样的情况。这里给大家举两个例子,希望能给大家的电路设计一点启发。 我们用C++,Java写应用程序的时候,有用空间换时间,或者时间换空间的例子。 在硬件电路设计里面,也存在这样的情况。这里给大家举两个例子,希望能给大家的电路设计一点启发。 这个比刚才的电路要好 我们这个综合课程设计往年有做单周期,有做多周期,也有做流水线的。 但是我想现在肯定对如何去做,没有任何的概念。杨老师的课件里提供了一个单周期的例子。 可么这么讲,单周期的例子,我们认为他基本上是用组合逻辑实现的,取指,译码,执行,访存和IO操作,寄存器回写,一杆子通到底,一个周期内完成。 那么流水是怎么做的呢?流水线就是把刚刚说的一杆子通到底的组合逻辑拆开来,中间结果用寄存器保存。 以前组合逻辑是直接把结果给后面了,然后前面的组合逻辑就不操作了,这个是一个很大的浪费。 在流水线中,相邻的寄存器之间的组合逻辑,比如说我们这里的组合逻辑1和组合逻辑2基本上无关的。 他只与前一级用寄存器保存的状态和其他反馈电路有关。 我们来看一下流水线的概念。 时序电路的设计不可避免会碰到异步时钟驱动模块之间的同步。 比如在PC里存在挂在总线上的设备有高速设备和低速设备,这两种设备就不可能采用同一个时钟进行驱动。 但是在我们的综合课程设计中,因为比较简单,所以基本上不存在高速设备和低速设备的问题。但是也存在异步时钟模块同步的问题,比如说定时计数器里计数脉冲和定时脉冲就有可能不一样。所以这里给大家简单的讲一讲,主要分两种情况。 电路存在延迟,是想告诉大家,我们的

文档评论(0)

wendang_12 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档