基于o2o的旅游网站建设,wordpress搜索词结果按文章标题,wordpress 负载,安徽住房和城乡建设部网站首页移位寄存器优化用于改善移位寄存器单元#xff08;SRLs#xff09;与其他逻辑单元之间的负裕量路径的时序。如果存在对移位寄存器单元#xff08;SRL16E或SRLC32E#xff09;的时序违规#xff0c;优化会从SRL寄存器链的开始或结束位置提取一个寄存器#xff0c;并将其放…移位寄存器优化用于改善移位寄存器单元SRLs与其他逻辑单元之间的负裕量路径的时序。如果存在对移位寄存器单元SRL16E或SRLC32E的时序违规优化会从SRL寄存器链的开始或结束位置提取一个寄存器并将其放置在逻辑结构中以改善时序。这种优化缩短了原始关键路径的布线长度。 下图1是由一个LUT构成的最高支持32位移位的移位寄存器SRLC32E结构。 SRLC32E的引脚说明
CLK时钟CE时钟使能高电平有效SHIFTIND数据输入A[4:0]移位长度配置支持1~32位需要1。如9位移位则A[4:0]需配置成1801000SHIFTOUT32个长度移位后的数据输出可用来与其他SRLC32E级联形成更大长度的移位寄存器OUTPUTQ当移位长度被确定后数据就会出现在Q端
一、移位寄存器优化的条件
移位寄存器的优化仅仅是将寄存器从移位寄存器移动到逻辑结构中但永远不会将寄存器从逻辑结构移动到移位寄存器因为后者不会改善时序。 要使此优化发生必须满足以下条件 • SRL地址移位长度必须为1或更大以便有寄存器级可以从SRL中移出。 • SRL地址必须是一个常数值由逻辑1或逻辑0驱动。 • 必须存在从SRL单元开始或结束的时序违规该SRL单元位于最坏的关键路径中。 某些电路拓扑结构不会被优化 • 通过链接在一起的SRLC32E形成的更大移位寄存器不会被优化。 • 使用Q31输出引脚的SRLC32E。 • 结合成一个LUT的SRL16E并且同时使用了O5和O6输出引脚。
二、FDRE单元
从SRLsShift Register Lookup Tables移至逻辑结构中的寄存器通常是FDREFlip-Flop D-type with Reset Enable单元。在移动这些寄存器的同时FDRE和SRL的INIT属性以及SRL的地址都会相应地进行调整。 具体来说当SRL中的寄存器级被提取并放置到逻辑结构中作为独立的FDRE单元时FDRE的初始状态需要与原来SRL中对应寄存器级的初始状态保持一致。因此FDRE的INIT属性会根据SRL的原始INIT属性进行设置以确保数据的一致性和正确性。 同时由于寄存器级的移除SRL本身的长度发生了变化因此SRL的地址也需要进行调整。这是为了确保剩余的寄存器级能够正确地对齐并且任何依赖于SRL地址的逻辑操作都能够按照预期进行。 这些调整都是自动进行的通常由FPGA开发工具如Xilinx的Vivado在优化过程中完成。工具会分析设计的时序性能识别出可以进行优化的SRLs并自动执行寄存器提取、FDRE放置和属性调整等操作以改善设计的时序性能。 总的来说从SRLs到逻辑结构的寄存器移动是FPGA优化中的一个关键步骤它有助于减少信号传输的延迟、优化关键路径的性能并最终提高整个系统的时序性能。
三、移位寄存器优化步骤
图2是一个从移位寄存器SRL16Esrl_inst开始的关键路径示例。 当一条关键路径从移位寄存器SRL16Esrl_inst开始到逻辑单元logic_cell_out结束并且存在时序违规时会触发移位寄存器优化来改善这条路径的时序。假设SRL地址是一个常数值3优化过程所采取的步骤如下 1、识别关键路径和时序违规 Vivado工具首先会分析设计并确定从srl_inst到logic_cell_out的路径为关键路径且存在时序违规。 2、检查SRL地址和输出 优化器检查srl_inst的SRL地址确认它是一个常数值3。 3、提取寄存器 根据SRL地址和时序违规的情况优化器决定从srl_inst的开头或结尾提取一个寄存器。由于地址是3说明至少有三个寄存器级在SRL内部。优化器会选择提取一个或多个寄存器级以最短化关键路径的布线长度。 4、将寄存器放置到逻辑结构中 提取出来的寄存器可能是FDRE单元会被放置到逻辑结构中通常是在srl_inst和logic_cell_out之间的某个位置以改善时序性能。优化器会选择合适的插入点使得寄存器的加入能够最大程度地减少关键路径上的延迟。 5、调整INIT属性和SRL地址 由于寄存器的移动可能需要调整SRL的INIT属性以确保在寄存器被移除后SRL的初始状态仍然正确。同时如果优化器移动了多个寄存器阶段可能还需要调整SRL的地址值以反映剩余的寄存器阶段数量。 6、重新评估时序 完成上述优化步骤后Vivado会重新评估设计的时序以确保时序违规已经被解决或至少得到了显著改善。 请注意实际的优化步骤和结果可能会根据具体的FPGA架构、设计约束和时序要求而有所不同。因此在进行此类优化时建议仔细评估其对整体设计的影响并确保最终设计满足所有的性能、时序和资源要求。 经过移位寄存器优化后的关键路径示例如图3所示。
四、移位寄存器优化的优点
在进行了移位寄存器优化后srl_inst SRL16E的地址被递减以反映内部寄存器阶段减少了一个。原来的关键路径现在变得更短了因为srlopt寄存器被放置得更靠近下游的单元并且FDRE单元具有相对更快的时钟到输出延迟。 这个优化过程中由于将SRL16E的最后一个寄存器级移出并作为一个独立的FDRE单元放置在逻辑结构中SRL16E的内部寄存器级数量减少了一个。因此SRL16E的地址需要相应地递减以确保后续的读取或写入操作能够正确地定位到剩余寄存器级中的数据。 优化后的设计将FDRE单元放置在更靠近logic_cell_out的位置从而减少了信号从SRL16E到逻辑输出单元所需经过的物理路径长度。这有助于减少信号传输的延迟进而改善时序性能。 此外FDRE单元通常具有比SRL16E内部寄存器阶段更快的时钟到输出延迟。这意味着当信号到达FDRE单元时它能够更快地将其传递给下游的逻辑单元。这也是优化能够改善时序的一个重要因素。 综上所述通过递减SRL16E的地址、将寄存器阶段移动到逻辑结构中并利用FDRE单元较快的时钟到输出延迟成功地缩短了关键路径的长度从而改善了设计的时序性能。