P
prashant_sharma
Guest
Hii Jeg har et problem med en prøvebænk i vhdl
Følgende er min kode til en fuld adder::
library IEEE;
brug IEEE.STD_LOGIC_1164.ALL;
brug ieee.numeric_std.all;
enhed adderwa er
generisk (n: positiv: = 4);
port (a, b: i std_logic_vector (n-1 downto 0);
CIN: i std_logic;
sum: out std_logic_vector (n-1 downto 0);
domstol: out std_logic);
udgangen adderwa;
architecture Behavioral af adderwa er
signal resultat: usigneret (n downto 0);
signal carry: usigneret (n downto 0);
konstant nuller: usigneret (n-1 downto 0): = (andre =>'0 ');
begynd
carry <= (nuller & cin);
Resultatet <= carry ('0 '& usigneret (a)) ('0' & usignerede (b));
domstol <= resultat ;
summen <= std_logic_vector (resultat (n-1 downto 0));
udgangen Behavioral;nu::
Ovenstående bliver syntetiseret og kompileret korrekt .....men problemet er prøvebænken::library IEEE;
brug IEEE.STD_LOGIC_1164.ALL;
brug ieee.numeric_std.all;enhed testeren er
udgangen enhed testeren;
arkitektur adfærd af testeren er
komponent adderwa er
generisk (n: positiv: = 4);
port (a, b: i std_logic_vector (n-1 downto 0);
CIN: i std_logic;
sum: out std_logic_vector (n-1 downto 0);
domstol: out std_logic);
udgangen komponent;
signal t_a: std_logic_vector (n-1 downto 0);
signal t_b: std_logic_vector (n-1 downto 0);
signal t_sum: std_logic_vector (n-1 downto 0);
signal t_cin, t_cout: std_logic;
begynd
g1: adderwa generiske kort (n => 4)
havn kort (a => t_a,
b => t_b,
CIN => t_cin,
sum => t_sum,
domstol => t_cout);
t_a <= "0001";
t_b <= "0110";
t_cin <='0 ';
udgangen arkitektur adfærd;Jeg får følgende fejl i prøvebænken kompileringFEJL: HDLParsers: 3312 - "C: / Xilinx92i/tp/adderwa.vhd" Line-70.Undefined symbol 'n'.
FEJL: HDLParsers: 1209 - "C: / Xilinx92i/tp/adderwa.vhd" Line-70.n: Udefineret symbol (sidste rapport i denne blok)
FEJL: HDLParsers: 3312 - "C: / Xilinx92i/tp/adderwa.vhd" Line-77. Udefineret symbolet t_a «.
FEJL: HDLParsers: 1209 - "C: / Xilinx92i/tp/adderwa.vhd" Line-77.t_a: Udefineret symbol (sidste rapport i denne blok)
FEJL: HDLParsers: 3312 - "C: / Xilinx92i/tp/adderwa.vhd" Line-78.Undefined symbol 't_b «.
FEJL: HDLParsers: 1209 - "C: / Xilinx92i/tp/adderwa.vhd" Line-78. T_b: Udefineret symbol (sidste rapport i denne blok)
FEJL: HDLParsers: 3312 - "C: / Xilinx92i/tp/adderwa.vhd" Line-80.Undefined symbol 't_sum «.
FEJL: HDLParsers: 1209 - "C: / Xilinx92i/tp/adderwa.vhd" Line-80.t_sum: Udefineret symbol (sidste rapport i denne blok)
FEJL: HDLParsers: 851 - "C: / Xilinx92i/tp/adderwa.vhd" Line-76.Formel en af adderwa uden Standardværdien må være forbundet med en egentlig værdi.
->
Total hukommelsesanvendelse er
145.168 kilobyte
Antal fejl: 9 (0 filtreret)
Antal advarsler: 0 (0 filtreret)
Antal infos: 0 (0 filtreret)Processen "sammenfatte" mislykkedes
Nu:
Det første ...Jeg har defineret t_a som std_logic_vector signal ......stadig hvorfor synthesizer sige, at signalet t_a ikke defineret ....
plus jeg vil gerne vide, hvordan skal jeg erklære en generisk i prøvebænk for signaler)
t_a: std_logic_vector (interval n-1 til 0)Hvordan kan jeg erklære ovenstående 'n' ........tak
Følgende er min kode til en fuld adder::
library IEEE;
brug IEEE.STD_LOGIC_1164.ALL;
brug ieee.numeric_std.all;
enhed adderwa er
generisk (n: positiv: = 4);
port (a, b: i std_logic_vector (n-1 downto 0);
CIN: i std_logic;
sum: out std_logic_vector (n-1 downto 0);
domstol: out std_logic);
udgangen adderwa;
architecture Behavioral af adderwa er
signal resultat: usigneret (n downto 0);
signal carry: usigneret (n downto 0);
konstant nuller: usigneret (n-1 downto 0): = (andre =>'0 ');
begynd
carry <= (nuller & cin);
Resultatet <= carry ('0 '& usigneret (a)) ('0' & usignerede (b));
domstol <= resultat ;
summen <= std_logic_vector (resultat (n-1 downto 0));
udgangen Behavioral;nu::
Ovenstående bliver syntetiseret og kompileret korrekt .....men problemet er prøvebænken::library IEEE;
brug IEEE.STD_LOGIC_1164.ALL;
brug ieee.numeric_std.all;enhed testeren er
udgangen enhed testeren;
arkitektur adfærd af testeren er
komponent adderwa er
generisk (n: positiv: = 4);
port (a, b: i std_logic_vector (n-1 downto 0);
CIN: i std_logic;
sum: out std_logic_vector (n-1 downto 0);
domstol: out std_logic);
udgangen komponent;
signal t_a: std_logic_vector (n-1 downto 0);
signal t_b: std_logic_vector (n-1 downto 0);
signal t_sum: std_logic_vector (n-1 downto 0);
signal t_cin, t_cout: std_logic;
begynd
g1: adderwa generiske kort (n => 4)
havn kort (a => t_a,
b => t_b,
CIN => t_cin,
sum => t_sum,
domstol => t_cout);
t_a <= "0001";
t_b <= "0110";
t_cin <='0 ';
udgangen arkitektur adfærd;Jeg får følgende fejl i prøvebænken kompileringFEJL: HDLParsers: 3312 - "C: / Xilinx92i/tp/adderwa.vhd" Line-70.Undefined symbol 'n'.
FEJL: HDLParsers: 1209 - "C: / Xilinx92i/tp/adderwa.vhd" Line-70.n: Udefineret symbol (sidste rapport i denne blok)
FEJL: HDLParsers: 3312 - "C: / Xilinx92i/tp/adderwa.vhd" Line-77. Udefineret symbolet t_a «.
FEJL: HDLParsers: 1209 - "C: / Xilinx92i/tp/adderwa.vhd" Line-77.t_a: Udefineret symbol (sidste rapport i denne blok)
FEJL: HDLParsers: 3312 - "C: / Xilinx92i/tp/adderwa.vhd" Line-78.Undefined symbol 't_b «.
FEJL: HDLParsers: 1209 - "C: / Xilinx92i/tp/adderwa.vhd" Line-78. T_b: Udefineret symbol (sidste rapport i denne blok)
FEJL: HDLParsers: 3312 - "C: / Xilinx92i/tp/adderwa.vhd" Line-80.Undefined symbol 't_sum «.
FEJL: HDLParsers: 1209 - "C: / Xilinx92i/tp/adderwa.vhd" Line-80.t_sum: Udefineret symbol (sidste rapport i denne blok)
FEJL: HDLParsers: 851 - "C: / Xilinx92i/tp/adderwa.vhd" Line-76.Formel en af adderwa uden Standardværdien må være forbundet med en egentlig værdi.
->
Total hukommelsesanvendelse er
145.168 kilobyte
Antal fejl: 9 (0 filtreret)
Antal advarsler: 0 (0 filtreret)
Antal infos: 0 (0 filtreret)Processen "sammenfatte" mislykkedes
Nu:
Det første ...Jeg har defineret t_a som std_logic_vector signal ......stadig hvorfor synthesizer sige, at signalet t_a ikke defineret ....
plus jeg vil gerne vide, hvordan skal jeg erklære en generisk i prøvebænk for signaler)
t_a: std_logic_vector (interval n-1 til 0)Hvordan kan jeg erklære ovenstående 'n' ........tak