第5章数字系统设计方法祥解.ppt

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

* * * * * * * * * * * * * * * * * * * * * * 例:带优先级的多路选择器 假设该选择器的真值表如下: Sel(0) Sel(1) Sel(2) Sel(3) z x x x 1 d x x 1 0 c x 1 0 0 b 1 0 0 0 a 0 0 0 0 0 a b c d sel z * 正常的描述方法1:多if语句 Process(a, b, c, d, sel) Begin z = ‘0’; -- 要记得初始化! if( sel(0) = ‘1’ ) then z = a; end if; if( sel(1) = ‘1’ ) then z = b; end if; if( sel(2) = ‘1’ ) then z = c; end if; if( sel(3) = ‘1’ ) then z = d; end if; End process; * 正常的描述方法2:单if语句 Process(a, b, c, d, sel) Begin if ( sel(3) = ‘1’ ) then z = d; elsif( sel(2) = ‘1’ ) then z = c; elsif( sel(1) = ‘1’ ) then z = b; elsif( sel(0) = ‘1’ ) then z = a; else z = ‘0’; end if; End process; * 综合后的电路图 可以发现这样的规律:这种简单if语句描述生成的硬件中,条件优先级别越高的模块往往越靠近输出端。 1 0 1 0 1 0 1 0 0 a Sel(0) b c d z Sel(1) Sel(2) Sel(3) * 调整情况1:数据到达延迟(b? b_late) 1 0 1 0 1 0 1 0 0 a Sel(0) b_late c d z Sel(1) Sel(2) Sel(3) 假设分析发现,b到达多路选择器的时间比a, c, d晚,那么如何改变设计,以使得时序更加优化? * 优化目标 1 0 1 0 1 0 1 0 0 a Sel(0) b_late c d z Sel(1) Sel(2) Sel(3) 优化目标:针对b_late进行优化,减小该信号到达z的延迟。 * 优化思路 1 0 1 0 1 0 1 0 0 a Sel(0) b_late c d z Sel(1) Sel(2) Sel(3) * 优化后的电路图 1 0 1 0 1 0 1 0 0 a Sel(0) c d b-late z Sel(2) Sel(3) Sel(3:1) 控制 逻辑 * 避免出现意外锁存器 在同步电路设计中要尽量避免出现锁存器。 锁存器对毛刺敏感,不能异步复位,因此在上电后处于不确定的状态。 条件判断语句表述的不完整,而造成设计中会出现意想不到的锁存器。 * 流水线技术的使用 基本思想是对经过多级逻辑的长数据通路进行重新构造,把原来必须在一个时钟周期内完成的操作分成在多个周期内完成。这种方法提高了工作频率。 操作的关键在于时序设计的合理安排、前后级接口间数据的匹配。 如果前级操作时间等于后级操作的时间,直接输入即可; 如果前级操作时间小于后级操作时间,则需要对前级数据进行缓存,才能输入到后级; 如果前级操作时间大于后者,则需要串并转换等方法进行数据分流,然后再输入到下一级。 * 专用代码风格 时钟信号的分配策略 触发器资源的分配技术 信号反相的处理策略 * 时钟信号的分配策略 使用全局时钟,可为信号提供最短的延时和可忽略的偏斜(Skew) FPGA特别适合于同步电路设计,尽可能减少使用的时钟信号种类。 减小时钟摆率的另一种更有效方法是使用一个时钟信号,生成多个时钟使能信号,分别驱动触发器的时钟使能端,所有触发器的数据装入都由同一个时钟控制,但只有时钟使能信号有效的触发器才会装入数据,时钟使能信号无效的触发器则保持数据。 * 触发器资源的分配技术 应尽量使用库中的触发器资源。 有效利用资源 其次,在设计状态机时,应该尽量使用ONE-HOT状态编码方案,不用2进制状态编码方案。 有利于触发器资源的利用 * 信号反相的处理策略 在处理反相信号时,在设计时应尽可能地遵从分散反相原则。 如果输入信号需要反相,则应尽可能地调用输入带反相功能的符号,而不是用分离的反相器对输入信号进行反相。 如果一个信号反相后驱动了多个负载,则应将反相功能分散到各个负载中实现。 * 设计原则 “面积”和“速度”

文档评论(0)

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

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

1亿VIP精品文档

相关文档