类似于这样,ext(b)是一个”sign-extends"。b是一个8 bits 的input. 如何将8bit 的2s'c 编写成9bit 的?
2 回答
慕娘9325324
TA贡献1783条经验 获得超4个赞
IEEE标准库numeric_std提供位宽扩展函数resize
用法举例如下
library ieee;
use ieee.numeric_std.all;
...
...
signal a: std_logic_vector(7 downto 0);
signal b: std_logic_vector(8 downto 0);
...
b<= std_logic_vector(resize(signed(a), b'length));
...
另外还有两个函数SXT/EXT 由std_logic_arith提供 用起来更简便一些 但它们不是标准库函数
例如
USE IEEE.STD_LOGIC_ARITH.ALL;
b <= SXT(a, b'LENGTH);
慕神8447489
TA贡献1780条经验 获得超1个赞
给你几个例子吧:很简单!!!
5 rem 3 = 2
(-5) rem 3 = -2
5 rem (-3) = 2
(-5) rem (-3) = -2
所得结果赋给一个信号或变量就行。。。
eg:
signal m:integer;
m<=5 rem 3;
- 2 回答
- 0 关注
- 476 浏览
添加回答
举报
0/150
提交
取消