为什么我在MegaWizard®生成的LPM_RAM_IO VHDL组件的ModelSim中进行功能性预置和布线仿真无法正常工作?-Altera-Intel社区-FPGA CPLD-ChipDebug

为什么我在MegaWizard®生成的LPM_RAM_IO VHDL组件的ModelSim中进行功能性预置和布线仿真无法正常工作?

如果发生以下任一情况,MegaWizard生成的LPM_RAM_IO可能会提供不正确的仿真结果:

  • 在Quartus TM软件版本2000.05及更低版本中,MegaWizard生成的LPM_RAM_IO组件中的dio端口可以​​声明为OUT类型。此端口是bidir,应更改为输入INOUT 。 Quartus软件版本2000.09中修复了此问题。
  • ModelSim可能在识别将dio (在顶层)与lpm_ram_io组件连接的sub_wire0信号时出现问题。

要解决此问题, sub_wire0在MegaWizard文件中注释以下对sub_wire0引用:

--SIGNAL sub_wire0:STD_LOGIC_VECTOR(7 DOWNTO 0);
--dio <= sub_wire0(7 DOWNTO 0);

另外,在LPM_RAM_IO组件实例化中将dio端口直接映射到自身:

lpm_ram_io_component:lpm_ram_io
通用映射(
LPM_WIDTH => 8,
LPM_WIDTHAD => 8,
LPM_INDATA =>“已注册”,
LPM_ADDRESS_CONTROL =>“已注册”,
LPM_OUTDATA =>“UNREGISTERED”,
LPM_HINT =>“USE_EAB = ON”
)
港口映射(
outenab => outenab,
地址=>地址,
inclock => inclock,
我们=>我们,
dio => dio  - 用dio替换sub_wire0,仿真将起作用
);

这些更改将确保正确的仿真。

请登录后发表评论

    没有回复内容