VHDL:conv_std_logic_vector的用法
来源:互联网 发布:csgo低配置优化 编辑:程序博客网 时间:2024/06/08 18:00
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。
由于参考书上都没有具体说明,本以为是将原来的数据类型按位矢量输出,结果按这种用法编写的滤波器在接实际信号时,却使用输出图像全部反色,经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。
阅读全文
0 0
- VHDL:conv_std_logic_vector的用法
- VHDL中的数据转换函数conv_std_logic_vector的用法
- 【VHDL】VHDL设计n的全加器
- 学好VHDL的重要性
- fpga的vhdl设计
- VHDL的基础概念
- 分频器的VHDL描述
- 计数器的 VHDL 程序
- D触发器 的VHDL
- 好的VHDL网站
- VHDL常见的错误!!!!
- VHDL数据类型的转换
- VHDL程序设计的基础知识
- VHDL的代码风格
- SPI的VHDL实现
- VHDL数据类型的转换
- VHDL数据类型的转换
- 虐心的VHDL
- codeforces 886D. Restoration of string (字符串处理+类拓扑排序)
- 变化检测的基础算法与实现
- 企业级zabbix详解
- Java总结第三章
- 1.引用 / typedef /enum
- VHDL:conv_std_logic_vector的用法
- POJ3617 Best Cow Line
- 用cuda实现向量点乘
- CCF 1037 个位数
- Python版飞机大战
- UVA
- UnsupportedOperationException之Collections$UnmodifiableList异常
- python学习手册(第四章:介绍python对象类型)
- unityShader之CG标准函数库