64115 - 为什么我找不到 ISE 中存在的 SIMPRIM 库?

27 阅读1分钟

标题

64115 - 为什么我找不到 ISE 中存在的 SIMPRIM 库?

描述

浏览到 Vivado 中的库位置(即,<Vivado_Install_Location>\data\verilog\src)时,可以看到其中不含名为 simprims 的文件夹,而在 ISE 的位置 <ISE_Install_Location>\ISE_DS\ISE\verilog\src 处则存在此文件夹。

为什么我找不到 ISE 中存在的 SIMPRIM 库?

解决方案

Vivado 进一步统一了仿真库,现在单一原语不再需要两个仿真文件。在 ISE 中,原先使用的文件如下:

Unisims 文件夹 - AND2.v - 用于行为/网表仿真

Simprims 文件夹 - X_AND2.v - 仅用于时序仿真

这两个文件现已合并,所得文件存在于 unisims 文件夹内,该文件夹所在位置为:<Vivado_Install_Location>\data\verilog\src\unisims

这是使用 XIL_TIMING 宏来完成的。

Vivado 中的 AND2 示例:

module AND2B1L #(
  `ifdef XIL_TIMING //Simprim
  parameter LOC = "UNPLACED",
  `endif
  ...)(
  ..
  ..
  ..
  specify
  (DI => O) = (0:0:0, 0:0:0);
  (SRI => O) = (0:0:0, 0:0:0);
`ifdef XIL_TIMING
    $width (negedge SRI, 0:0:0, 0, notifier);
    $width (posedge SRI, 0:0:0, 0, notifier);
`endif
    specparam PATHPULSE$ = 0;
  endspecify
endmodule
 
因此,Vivado 中无需像 ISE 那样的 simprim 文件夹。