有时,我们需要根据设计网表对逻辑进行微调,从而无需修改代码或重新合成。它可以节省设计调试时间,同时保持其他逻辑不变。在这里,我将带大家体验Vivado的ECO过程。以vivado随附的ExampleDesign为例,直接使用TCL命令修改网表,并在普通寄存器路径之间添加一个LUT级别。 1.打开Vivado界面。2.打开ExampleDesign“ Wavegen”:文件->项目-> OpenExample选择Wavegen(HDL),设备选择xcku0353。单击左侧FlowNavigator窗口中的RunImplementation按钮以完成集成实现。 4.打开ImplementedDesign(单击左侧的FlowNavigator窗口中的OpenImplementedDesign按钮)。5.选择两个寄存器之间的路径,然后运行以下命令,选择打印路径,双击以查看时序报告,使用F4键打开原理图此路径的图表%report_timing-from [get_cellsclkx_spd_i0 / meta_harden_bus_new_i0 / signal_meta_reg]-到[get_cellsclkx_spd_i0 / meta_harden_bus_new_i0 / signal_dst_reg] -delay_typemax-nametest1的布线延迟为0。路径的示意图6.断开目标寄存器的D端与net%disconnect_net_i-net-harden_bus_new_clkx_ signal_meta_reg_n_0-objects {clkx_spd_i0 / meta_harden_bus_new_i0 / signal_dst_reg / D}的连接这是如何获取操作对象(net, :在原理图中选择对象,然后断开与Net的连接,然后在下角的“属性”窗口中检查NAME属性Pin,它将在原理图上显示n / c7。创建一个LUT1并设置LUT%INIT属性。下一步是将这些引脚连接到适当的网络。 8.将LUT1的输入端口连接到先前断开的网络。 %connect_net-netclkx_spd_i0 / meta_harden_bus_new_i0 / si gnal_meta_reg_n_0-objects {clkx_spd_i0 / meta_harden_bus_new_i0 / my_lut1 / I0} 9.创建一个新的网络,以将LUT1的输出引脚与先前断开连接的寄存器Lt_en_en_en_en_en_en_建立连接到已断开的寄存器Dpin% .0 /将Dpin注册到新创建的net%connect_net-netclkx_spd_i0 / meta_harden_bus_new_i0 / my_net-objects {clkx_spd_i0 / meta_harden_bus_new_i0 / my_lut1 / Oclkx_spd_i0 / meta_hard_en_lut_my_Bel_UT_B1_UT_BUT_LUT_0_Mel_en_Lel_UTL_0在新的LUT1的两端布线。 。少量