我正在进行一项设计,我认为可能会出现一些我需要处理的溢出问题.为了解决我的问题,我需要了解VHDL如何处理二进制溢出.下面是一些示例代码.
signal temp : std_logic_vector (7 downto 0) := "11111111";
signal temp_2 : std_logic_vector (7 downto 0) := "11111111";
signal result : std_logic_vector (8 downto 0) := "000000000";
result <= temp + temp_2 ;
Run Code Online (Sandbox Code Playgroud)
显然,这没有调用相关的库,但它给出了我正在使用的代码的概念.我的问题是:这个二进制加法如何工作(temp + temp_2),即result运行此代码后信号会是什么?现在,我在编译中遇到错误,因为它result是9位,它期望8位.任何关于这个二进制加法如何工作的解释都会非常有用!