[英]MyHDL: library use clauses in user-defined code
使用MyHDL用户定义的代码时,是否可以指定库使用子句?
考虑以下示例,该示例对Xilinx unisim库中可用的差分缓冲器进行建模:
from myhdl import *
def ibufds(I, IB, O):
""" Xilinx Differential Signaling Input Buffer"""
@always_comb
def output():
O.next = I
return instances()
ibufds.vhdl_code = """
IBUFDS_inst : IBUFDS
generic map (
DIFF_TERM => FALSE,
IBUF_LOW_PWR => TRUE,referenced I/O standards
IOSTANDARD => "DEFAULT")
port map (
O => O,
I => I,
IB => IB
);"""
将此模块转换为VHDL代码可以正常工作,但缺少的是VHDL文件头中的以下use子句:
library unisim;
use unisim.vcomponents.all;
我该如何解决?
是的, toVHDL()
支持use_clauses
属性。 这可以包含一个(可能是多行)字符串,该字符串将插入到适当的位置。 这只是插入的,因此您还可以添加库声明。
这是受支持的,但是我注意到我忘记将其添加到文档中-需要修复。
当前,当使用此属性时,将省略pck_myhdl*
use声明-我在需要该软件包另一个名称的项目中使用过use_clauses
。 这看起来有些混乱,也许最好使用不同的参数将功能分开。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.