Salve ragazzi, scusate il disturbo, per il giorno di natale poi... premetto che è da poco che programmo in VHDL, e non mi funziona un cavolo.
Per esempio volevo realizzare un circuito combinatorio per un decoder. Il codice è il seguente:
Codice:
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity decoder is --un banale decoder...dovrebbe essere banale...
Port ( input : in STD_LOGIC_VECTOR (2 downto 0);
output : out STD_LOGIC_VECTOR (7 downto 0));
end decoder;
architecture Behavioral of decoder is
signal local_output : std_logic_vector (7 downto 0);
begin
process is
begin
case_selezione:
case input is
when '000' => local_output := '10000000';
when '001' => local_output := '01000000';
when '010' => local_output := '00100000';
when '011' => local_output := '00010000';
when '100' => local_output := '00001000';
when '101' => local_output := '00000100';
when '110' => local_output := '00000010';
when '111' => local_output := '00000001';
end case case_selezione;
end process;
output <= local_output;
end Behavioral;
Solo che non mi funziona ciò e ho alcune domande... alla luce dei seguenti errori
ERROR:HDLParsers:164 - "C:/Xilinx101/Progetti/BasiVHDL/Decoder_1/decoder.vhd" Line 43. parse error, unexpected TICK
WARNING:HDLParsers:1406 - "C:/Xilinx101/Progetti/BasiVHDL/Decoder_1/decoder.vhd" Line 39. No sensitivity list and no wait in the process
che mi vengono dati quando faccio il controllo della sintassi con l'ise.
Perchè non funziona?
Ho programmato in C, C++, Java e VB. Che chiaramente non sono linguaggi per l'HW. Quindi mi trovo un pò spaesato nel comprendere "al volo" i motivi degli errori. Se mi elencate i motivi del non funzionamento in modo "pignolo" (da rompipalle per farla breve) ve ne sarei molto grato.
Buon Natale =)