Generics 使用Lattice Synthesis Engine(LSE)时,如何将字符串作为通用参数传递给VHDL顶级实体?
我是莱迪思钻石的新手,但我对Xilinx ISE、Vivado和Quartus有经验:) 我发现,就像Xilinx ISE一样,Lattice Synthesis Engine(LSE)支持顶级实体的通用参数。(右键单击“impl1”->Properties=>HDL参数) 我用整数参数测试了它,它成功了:Generics 使用Lattice Synthesis Engine(LSE)时,如何将字符串作为通用参数传递给VHDL顶级实体?,generics,vhdl,lattice-diamond,Generics,Vhdl,Lattice Diamond,我是莱迪思钻石的新手,但我对Xilinx ISE、Vivado和Quartus有经验:) 我发现,就像Xilinx ISE一样,Lattice Synthesis Engine(LSE)支持顶级实体的通用参数。(右键单击“impl1”->Properties=>HDL参数) 我用整数参数测试了它,它成功了:A_BITS=10;D_位=32 但是如何传递字符串参数呢 我的测试: A_位=10;D_位=32;FILENAME=ocram\u sdp.mem 这将导致未知文字值错误 错误-D:/git
A_BITS=10;D_位=32
但是如何传递字符串参数呢 我的测试:
A_位=10;D_位=32;FILENAME=ocram\u sdp.mem
这将导致未知文字值错误 错误-D:/git/PoC/src/mem/ocram/ocram_tdp.vhdl(82,3-82,11)(vhdl-1241)未声明ocram_sdp.mem
错误-D:/git/PoC/src/mem/ocram/ocram_tdp.vhdl(82,3-82,11)(vhdl-1363)忽略通用文件名的未知实际通用文本值ocram_sdp.mem
错误-D:/git/PoC/src/mem/ocram/ocram_tdp。vhdl(82,3-82,11)(vhdl-1081)正式文件名没有实际值或默认值
信息-D:/git/PoC/src/mem/ocram/ocram_-tdp.vhdl(78,8-78,17)(vhdl-1067)阐述ocram_-tdp(rtl)
信息-D:/git/PoC/src/mem/ocram/ocram_tdp。实体ocram_tdp的vhdl(78,8-78,17)(vhdl-1068)细化失败 当我用
\
逃离圆点时也是一样的A_位=10;D_位=32;FILENAME=“ocram\u sdp.mem”
这将导致错误的参数数错误 -sdc选项:未使用sdc文件输入。
-lpf选项:输出文件选项已打开。
错误-hdl_参数的参数数目错误。必须有对。
完成:错误代码2
A_位=10;通过HDL参数设置D_BITS=32
,并通过通用部分中的默认值设置文件名
,效果良好- 如果可能,如何将字符串传递给顶级实体?
- 是否有单独的LSE用户指南?
-hdl_参数:name=A_位,value=10
IEEE Std 1076-2008 14.2设计层次的细化第7段“一个实现可以允许,但不要求允许设计层次结构根的设计实体具有泛型和端口。如果一个实现允许这些顶级接口对象,它可能会限制它们允许的形式(即,它们是否允许是接口类型、子程序、包或对象),如果是接口对象,则以实现定义的方式限制它们允许的类型和模式。”(是,综合).没有什么理由支持字符串进行合成,这不是一个bug。