|
平常我们编写程序的时候可能对同步复位还是异步复位,是需要复位信号还是不需要复位信号都没有研究太多(至少我自己是这样子的)多数是根据程序功能来决定的。但是我们忽略了复位信号还与器件资源(resource)有关系。
比如我们设计了如下代码:
always @(posedge iClk)
sr <= {sr[14:0], iDat};
这段代码没有复位信号,这时刚好在FPGA内部有专用模块资源可以用于此处。但是如果换作以下代码
always @(posedge iClk)
if(!iReset) sr <= 0;
else sr <= {sr[14:0], iDat};
此时有复位信号,就不能够使用FPGA内部的专用资源,需要通过简单的触发器组合而成,这就会增加逻辑资源的使用量以及布线的复杂度。
所以对门级如何实现设计的了解非常有利于优化资源。同时这里讲到的还只是一个简单的方面,你平时对FPGA的资源特点了解多少,对门级实现方式了解多少呢?
|
|