2014年7月14日 星期一

VHDL Package

VHDL裡面有一些Standardpackage, textio常用在testbenchdebug上面
work 本身不是一個library,如果使用者宣告library work, 表示目前工作環境下的library

















為了要精簡code size,我們可以在module裡面定義library work, 然後不用在宣告其它modulecomponent,直接在port map上使用entity work.xxxxxxx

當我們定義了自己需要用的package,也可以用相同方式把它引入專案,top上方定義







package裡面我們可以自由的定義需要的資料型態,元件,函式,程序
資料型態可以分為兩種record type或是arrey type

arrey type可以分成一維或是二維,用來紀錄同一種資料型態的組合,但是注意2維矩陣無法在ISIM下模擬波形





record type 可以用來紀錄不同種型態的資料,但是要注意參數引用的索引




一些常用到的參數或是時間定義,只要有引用Package,就可以直接使用名稱




function可以用來做一些常用的數學運算,但是只能回傳一個值,package前要先定義



Procedure function最大的差別在於它可以回傳一個以上的值,而且可以不同型態




上面是因為在定義的時候沒有設signal ,所以系統會自動把參數設成variable,我們也可以在package裡面定義好signalvariable的關係,VHDL中就可以簡單的使用



沒有留言:

張貼留言