類似于這樣,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 關注
- 576 瀏覽
添加回答
舉報
0/150
提交
取消