1. 程式人生 > >VHDL中的數據轉換函數conv_std_logic_vector的用法

VHDL中的數據轉換函數conv_std_logic_vector的用法

知識庫 沒有 itl nan con mod 軟件 調用 數據類型

VHDL中的數據轉換函數conv_std_logic_vector的用法

技術分享 分類: std_logic_arith程序包裏定義的數據轉換函數:conv_std_logic_vector(A,位長)--INTEGER,SINGER,UNSIGNED轉換成std_logic_vector。

由於參考書上都沒有具體說明,本以為是將原來的數據類型按位矢量輸出,結果按這種用法編寫的濾波器在接實際信號時,卻使用輸出圖像全部反色,經modelsim波形仿真之後,才發現濾波器結構是正確的,可是調用了轉換函數之後,結果非預期效果。

對該轉換函數做了測試之後,才發現:該函數的轉換結果是將被轉換的數據先轉換成2進制補碼形式,然後取其低“位長”,作為輸出。

如:a<=conv_std_logic_vector(-79,6)----(-79)2c=(10110001)

b<=conv_std_logic_vector(-2,6)-----(-2)2c=(11111110)

c<=conv_std_logic_vector(100,6)-----(100)2c=(01100100)

輸出結果:a=110001,b=111110,c=100100。

VHDL中的數據轉換函數conv_std_logic_vector的用法