簡體   English   中英

MyHDL:用戶定義代碼中的庫使用子句

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM