微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 嵌入式设计讨论 > FPGA,CPLD和ASIC > 怎么样实现地址加1?

怎么样实现地址加1?

时间:10-02 整理:3721RD 点击:
地址是6位的矢量,即STD_LOGIC_VECTOR(5 DOWNTO 0)形式,要求来一个时钟地址增一,这是一个六位的矢量不能直接加1啊,是要先转化为整数形式加1,然后再转回矢量吗?

怎么样实现地址加1?
定义一个6位的变量,让变量加1,最后复制给6位的信号

怎么样实现地址加1?
是这样吗:
SIGNAL ORI_ADDR:STD_LOGIC_VECTOR(5 DOWNTO 0);
.
.
LAST_ADDR<=ORI_ADDR+"000001";

怎么样实现地址加1?
use IEEE.STD_LOGIC_ARITH.ALL ;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
加上这两个库,就可以随便用xxx + 1 了

怎么样实现地址加1?
VHDL麻烦就麻烦在这些地方。

怎么样实现地址加1?
我刚用vhdl的时候也很烦这个,后来觉得强类型还是个不错的东东,也就忍了。

怎么样实现地址加1?
强类型可以防止编程人犯很多低级错误,习惯就好了

怎么样实现地址加1?
vhdl语法定义得很严谨

怎么样实现地址加1?
对啊。IEEE.STD_LOGIC_UNSIGNED.ALL; 定义了运算符的重载,可以直接使用的。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top