马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
1关于静态功耗和动态功耗 fpga中有丰富的逻辑资源和IP,在资源许可的情况下,怎么使用都没有限制,工具也不会优化提示。但对于嵌入式应用来说,要时时刻刻关注低功耗设计指标。
针对现在设计过程中的动态功耗,有以下几点措施:对于多位宽的信号赋值时要加上使能信号,尽量不要赋无意义的值,比如说一个64位宽的赋值操作,在复位后清零,在使能信号下赋值,没有else,这样能减少动态功耗,因为减少了信号的翻转率。
2关于变量,reg和wire 在满足要求的情况下,使用满足情况的最小位宽就足够,减少寄存器的使用。 3、关于异步信号的处理 要根据情况进行同步处理,防止竞争冒险等不稳定的状态发生,针对多位宽对信号时,在资源允许的条件下,可以使用异步fifo来同步。 4、流水线设计 流水线设计的一个关键在于整个设计时序的合理安排,要求每个操作步骤的划分合理。如果前级操作时间恰好等于后级的操作时间,设计最为简单,前级的输出直接汇入后级的输入即可;如果前级操作时间大于后级的操作时间,则需要对前级的输出数据适当缓存才能汇入到后级输入端;如果前级操作时间恰好小于后级的操作时间,则必须通过复制逻辑,将数据流分流,或者在前级对数据采用存储、后处理方式,否则会造成后级数据溢出。 5、握手机制 模块A和模块B进行数据通信,模块B可以接收数据时向模块A发送ready信号,模块A检测到后可以发送数据,若ready无效,停止发送数据,这样的握手机制高效并且简单。对于接口也比较容易调试和设计。
这是这段时间的一些经验总结,后续继续补充,要不断的学习,不断的学习,这样才能有更大的进步! |