- 加减乘可以综合,除法取余等不能(除数是2的指数例外),建议除法用
data(3 downto 0)/2 ==> data(3 downto 1)
- 非2的指数除法 转换为a*m/(2^n),简单的直接用
a <= c0 when b<x"**" else
c1 when b<x"**" and b>x"**" else
,,,
c;
- 取余,比如data/3的余数,余数用2位二进制数表示(关键点是结果为2bits)
data(1 downto 0) - 3*n
data(3 downto 0)/2 ==> data(3 downto 1)
a <= c0 when b<x"**" else
c1 when b<x"**" and b>x"**" else
,,,
c;
data(1 downto 0) - 3*n