VHDL中的數據轉換函數conv_std_logic_vector的用法
阿新 • • 發佈:2017-08-16
知識庫 沒有 itl nan con mod 軟件 調用 數據類型
VHDL中的數據轉換函數conv_std_logic_vector的用法
2017-04-10 11:58 501人閱讀 評論(0) 收藏 舉報 分類: 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的用法