算术移位

J

jene2in

Guest
嗨,

pp0“= std_logic_vector(无符号(p0)SRL跟2);
这是我用来左移逻辑
, 它完美的作品。当我尝试做“储备金帐户”而不是“SRL跟”我得到的错误。我意识到负整数我的程序交易
, 以及所以我必须执行算术移位。有人可以帮助我在正确的语法。
谢谢

 
Youd没有告诉既不是使用的资料库
, 也不是你的错误经验。

假设你使用ieee.numeric_std,它没有特别资源()函数的。相反Srl公司(),分别是同义词SHIFT_RIGHT()是确定的数据类型的符号位处理。使用签名的类型
, 你会得到签名的行为。

 
您曾使用ieee.std_logic_unsigned和ieee.std_logic_arith?

 
您可能需要从这里使用工作,这将带给你你想要做的完全控制,而不会混淆你如何使用图书馆?
http://www.vlsiip.com/intel/fun_pkg.vhd

 
使用IEEE.NUMERIC_STD.ALL;

这是我使用的图书馆。4分钟后添加:我改变了命令从
pp0“= std_logic_vector(无符号(p0)SRL跟2);使用
pp0“= std_logic_vector(签名(p0)SRL跟2);这是行不通的。它编译罚款
, 但仍转移权利
, 并增加了零不会复制的标志。/

 
是的,我没有看到图书馆评论彻底。shift_right从SRL跟不同的表现。这个工程:
代码:

pp0“= std_logic_vector(shift_right(签名(p0),2));
 
由于它woked像魅力。我正在使用一个签署divder执行了4分
, 因为我不能得到算术右移工作一大堆感谢!

 

Welcome to EDABoard.com

Sponsor

Back
Top