微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 赛灵思公司提供的Verilog(FPGA/CPLD)设计小技巧

赛灵思公司提供的Verilog(FPGA/CPLD)设计小技巧

时间:02-11 来源:网络整理 点击:

关键路径你是否可以在核生成器中产生一个核来提高键路径性能

使有限状态机FSM保持在层次中的自己所在的那一级? 为了允许综合工具完全优化你的FSM它必须在它自己的块中优化如果不是这样的话这将使得综合工具将FSM逻辑和它周围的逻辑一起优化? FSM不能包括任何的算术逻辑数据通路逻辑或者其它与状态机不相关的组合逻辑

使用两个进程或always块的有限状态机? 下一个状态和输出译码逻辑必须放在独立的进程或always块中这将不允许综合工具在输出和下一个状态译码逻辑之间共享资源

使用一位有效编码有限状态机FSM? 一位有效编码通常会在富含寄存器的FPGA中提供最高性能的状态机

为每一个叶级leaf-level块提供寄存输出? 叶级块是可以推论逻辑的块而结构级(structural-level)的块仅例化较 底层的块这样就建立了层次? 如果叶级块被锁存输出则可使综合工具保留层次这可使分析这些代码 的静态时序变得比较容易? 对边界进行寄存可以使得各个块之间有确定的时序关系

利用有适当管脚定位约束的数据流? Xilinx器件中的数据流是在水平方向上的这里部分的原因是进位链是在垂直方向上的另外还有其它的原因三态缓冲线在水平方向上排列块之间也有水平方向上的直接连接? 为了利用数据流地址和数据管脚必须放在芯片的左侧或右侧同时注意因为进位链是自下而上的所以将最低位放在最下面控制信号放在芯片的上部和下部**不同的计数器风格? 二进制计数器是非常慢的如果你的二进制计数器是关键路径可以考虑使用不同的风格的计数器LFSRPre-scalar或Johnson**设计是层次化的被分成不同的功能块和技术块? 设计必须被划分成不同的功能块首先是较顶层的功能块然后是较底层的块你也应该包括特定技术的块? 设计层次化必须使得设计更可读更易调试更易复用**复制的高扇出网络? 这可以通过你的综合工具来进行控制然而为了更紧地控制复制你可以选择复制寄存器**利用四种全局约束来对设计进行全局的约束周期对每个时钟偏置输入偏置输出管脚-到-管脚? 你也许会有针对多周期路径失败路径和关键路径的其它约束但是你必须总要从指定四个全局约束开始

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top