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


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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM