vhdl中的8位容错加法器。我已经尝试了可用的代码,但它们似乎不起作用
“无符号8位容错加法器”,用于在“vhdl代码”中添加两个8位数字。我已经尝试了下面的代码。它给出了这些错误 **错误:C:/Modeltech_pe_edu_10.4a/examples/etl1.vhd(34):接近“信号”:语法错误 **错误:C:/Modeltech_pe_edu_10.4a/examples/etl1.vhd(41):接近“EOF”:语法错误 # 代码如下vhdl中的8位容错加法器。我已经尝试了可用的代码,但它们似乎不起作用,vhdl,vlsi,Vhdl,Vlsi,“无符号8位容错加法器”,用于在“vhdl代码”中添加两个8位数字。我已经尝试了下面的代码。它给出了这些错误 **错误:C:/Modeltech_pe_edu_10.4a/examples/etl1.vhd(34):接近“信号”:语法错误 **错误:C:/Modeltech_pe_edu_10.4a/examples/etl1.vhd(41):接近“EOF”:语法错误 # 代码如下 enter code here library ieee; use IEEE.std_logic_1164.al
enter code here
library ieee;
use IEEE.std_logic_1164.all;
use IEEE.numeric_std.all;
use ieee.std_logic_unsigned.all;
entity adr is
port (a,b: in std_logic_vector(7 downto 0);
output : out std_logic_vector(7 downto 0));
end adr ;
architecture eta of adr is
signal hn,ln: std_logic_vector(7 downto 0);
signal parta2,partb2,hno:std_logic_vector(3 downto 0);
signal parta1,partb1: std_logic_vector(3 downto 0);
signal lno:std_logic_vector(3 downto 0);
begin
process (a,b)
begin
parta1<= a(7 downto 4); -- parta1<= a(7 downto 4);
parta2<= a(3 downto 0); --parta2<= a(3 downto 0);
partb1<= b(7 downto 4); --partb1<= b(7 downto 4);
partb2<= b(3 downto 0); -- partb2<= b(3 downto 0);
hno<= std_logic_vector(unsigned(parta1)+ unsigned(partb1)); --4 bit msb
lno<= std_logic_vector((unsigned(partb2))xor(unsigned(partb2)));--4bit lsb
Signal hn: std_logic_vector(7 downto 0) := hno(3 downto 0) & B"0000";-- concatenation of hn with zeros
Signal ln: std_logic_vector(7 downto 0) := B"0000" & lno(3 downto 0);--concatenation ln with zeros
output<=(hn or ln);
end process ;
在此处输入代码
图书馆ieee;
使用IEEE.std_logic_1164.all;
使用IEEE.numeric_std.all;
使用ieee.std_logic_unsigned.all;
实体adr为
端口(a,b:标准逻辑向量(7到0);
输出:输出标准逻辑向量(7到0);
终止不良反应;
adr的体系结构是
信号hn,ln:std_逻辑_向量(7到0);
信号部分A2、部分B2、hno:标准逻辑向量(3到0);
信号部分A1、部分B1:标准逻辑向量(3到0);
信号lno:标准逻辑矢量(3到0);
开始
过程(a、b)
开始
第1部分好的,有三个问题阻止编译:
Signal hn: std_logic_vector(7 downto 0) := hno(3 downto 0) & B"0000";
在这一行中,您已经声明了hn
,并试图在这里再次声明它。您只能在声明性区域中声明一个信号,其中定义了大多数信号。第二个错误是B“0000”
;我怀疑您试图指定您的文字“0000”
是二进制的,但这是在分配给标准逻辑向量时的默认值。你的正确路线是:
hn <= hno(3 downto 0) & "0000";
hn您需要展示您尝试过的内容并提出具体问题。像“我需要x的代码”这样的问题永远不会得到答案。