500)this.style.ouseg(this)"> 为了减少“critical”所经过的逻辑单元数,对程序进行如下的修改,使“critical”经过的"> 500)this.style.ouseg(this)"> 为了减少“critical”所经过的逻辑单元数,对程序进行如下的修改,使“critical”经过的" />
欢迎来到天天文库
浏览记录
ID:24104488
大小:52.00 KB
页数:3页
时间:2018-11-12
《fpga设计中的编程技巧》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、FPGA设计中的编程技巧
2、第1内容加载中...lunouseg(this)"> 500)this.style.ouseg(this)"> 为了减少“critical”所经过的逻辑单元数,对程序进行如下的修改,使“critical”经过的逻辑单元变为1个。 500)this.style.ouseg(this)"> 500)this.style.ouseg(this)">2.2资源共享 资源共享能减少宏单元的使用数量,因此在设计时同样可以通过编写合适的程序来达到资源共享的目的。下面举一个简单的例子来说明。 下面是1个二选一选择器和2个加法器。 500)this.styl
3、e.ouseg(this)"> 500)this.style.ouseg(this)"> 为了能够加大资源的利用率,重新书写代码已达到资源共享目的。 500)this.style.ouseg(this)"> 500)this.style.ouseg(this)">2.3为优化逻辑而进行的复制 设计人员在利用综合工具对可编程逻辑器件进行综合时,都会面临一个问题,即综合工具并不能对复杂的设计实现最佳的布局、布线结果。大多数综合工具都有一个扇出控制。因此,为了优化设计,建议在设计代码中产生复制逻辑,许多综合工具都可以优化复制,但必须告诉综合工具保持其重复逻辑。2.3.1复制组
4、合逻辑 如果一个扇出大于1的组合逻辑不能在CLB内部实现,这时需要对组合逻辑进行复制。下面给出组合逻辑复制的例子。 500)this.style.ouseg(this)"> 500)this.style.ouseg(this)"> 可以重新书写代码达到组合逻辑复制的目的。 500)this.style.ouseg(this)"> 500)this.style.ouseg(this)">2.3.2复制触发器 为了优化设计,可对大扇出信号的触发器进行复制。因为大扇出信号能减缓布线速度,并增加布线的难度。可以通过复制触发器解决2个问题:减小扇出,缩短布线延迟;复制后每个
5、触发器可以驱动芯片的不同区域,有利于布线。下面给出复制触发器的例子。 500)this.style.ouseg(this)"> 500)this.style.ouseg(this)"> 修改设计代码,可将触发器进行复制,降低tri_end的扇出。 500)this.style.ouseg(this)"> 500)this.style.ouseg(this)">2.5阶层化设计 随着人们设计的电路的逻辑越来越复杂,采用传统的平坦式设计来设计电路,已经不能满足设计人员的要求。因此出现了阶层化设计,即将设计任务分解到可控制模块中的方法形成阶层结构。采用阶层化设计有利设计的
6、保存、继承。对每一个功能模块,设计人员可以建立通用的功能模块库,既便于与其他功能模块接口,又可以再次使用,避免重复劳动。在将一个设计划分为几个模块时,最好以寄存器作为划分模块的边界。这样有利于综合器综合出速度更快的电路。下面这个例子说明了如何寄存模块的输出。 500)this.style.ouseg(this)"> 500)this.style.ouseg(this)"> 为了寄存模块的输出,可对代码进行如下的修改。 500)this.style.ouseg(this)">3结语 随着硬件描述语言HDL被广泛接受,掌握好硬件描述语言HDL对缩短开发时间,提高设计效率大有
7、裨益。
此文档下载收益归作者所有