Exercício 14.6.1 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
LIBRARY ieee;![]() USE ieee.std_logic_1164.ALL; USE STD.TEXTIO.ALL; ENTITY asser_2 IS PORT (d : IN std_logic_vector(3 DOWNTO 0)); END asser_2; ARCHITECTURE teste OF asser_2 IS FUNCTION para_string(d_std : std_logic_vector) RETURN string IS VARIABLE d_stg : string(d_std'LENGTH DOWNTO 1); -- acumula dados da iteracao TYPE std_para_caracter IS ARRAY(STD_LOGIC) OF CHARACTER; -- vetor com tipos character, indice tipo std_logic -- limites do vetor 'U' TO '-' CONSTANT tabela : std_para_caracter := -- tabela de conversao ('-' =>'-', 'Z'=>'Z', 'W' =>'W', 'L'=>'L', 'H' =>'H', '0'=>'0', '1'=>'1','U' =>'U', 'X'=>'X'); BEGIN -- d_std: n-1 ... 0 retorna: d_stg n ... 1 -- |-|H|L|...|U|1|X| std_logic_vector |-|H|L|...|U|1|X| string FOR i IN 0 TO d_std'LENGTH-1 LOOP -- valido para mesma ordem d_stg(i+1) := tabela(d_std(i)); -- leitura do valor na tabela, tipo_character <= tabela(tipo_std_logic) END LOOP; RETURN d_stg; END; BEGIN verifica: PROCESS BEGIN ASSERT FALSE REPORT "Dado convertido: " & para_string(d) SEVERITY NOTE; WAIT UNTIL d'ACTIVE; END PROCESS; END teste; |
|
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
-- arquivo
conf_e2.vhd![]() -- Configuracao da entidade de projeto "xor_3" - "arquivo conf_e1.vhd" CONFIGURATION ver_77 OF xor_3 IS FOR alta --{1} FOR nome_arquitetura FOR m1: local_xor_2 --{2} FOR identificador_componenete : nome_componente USE ENTITY WORK.xor_2; -- definicao do elo do componente "m1" FOR media --{3} FOR configuracao_bloco_do_componente FOR u1 : local_xor_1 --{4} FOR identificador_componenete : nome_componente USE ENTITY WORK.xor_1; -- definicao do elo do componete "u1", interno de "m1" END FOR; -- fim configuracao componente de "m1" {4} FOR u2 : local_xor_1 --{5} FOR identificador_componenete : nome_componente USE ENTITY WORK.xor_1; -- definicao do elo componete "u2", interno de "m1" END FOR; -- fim configuracao componente de "m1" {5} END FOR; -- fim configuracao bloco interno ao componente {3} END FOR; -- fim configuracao componente "m1" {2} END FOR; -- fim arquitetura "alta" de "xor_3" {1} END ver_77; |