Exercício 5.6.7 |
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
ENTITY c04_e04 IS PORT (ck, d : IN BIT; q1, q2 : OUT BIT); END c04_e04; ARCHITECTURE teste OF c04_e04 IS BEGIN p_d1: PROCESS BEGIN WAIT UNTIL ck'EVENT AND ck = '1'; q1 <= d; END PROCESS; p_d2: PROCESS BEGIN WAIT UNTIL ck'EVENT AND ck = '0'; q2 <= d; END PROCESS; END teste; |
|
|
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 |
ENTITY atr_usua5
IS PORT (clk, rst, set : IN BIT; -- sinais intenos clk_sai, rst_sai, set_sai : OUT BIT); -- sinais de saida -- atributo: tempo de propagacao de nivel baixo para nivel alto -- declaracao do atributo: tempo_lh ATTRIBUTE tempo_lh : TIME; -- especif. do valor do atributo de clk_sai ATTRIBUTE tempo_lh OF clk_sai : SIGNAL IS 20 ns; -- especif. do valor do atributo dos itens restantes imediatamente decl.: clk, rst, set, rst_sai e set_sai ATTRIBUTE tempo_lh OF OTHERS : SIGNAL IS 30 ns; -- atributo: tempo de subida de nivel alto para nivel baixo -- declaracao do atributo: tempo_hl ATTRIBUTE tempo_hl : TIME; -- especif. do valor do atributo de todos itens imediatamente decl.: clk, rst, set, clk_sai, rst_sai e set_sai ATTRIBUTE tempo_hl OF ALL : SIGNAL IS 10 ns; END atr_usua5; ARCHITECTURE teste OF atr_usua5 IS BEGIN -- (_____/------ subida de clk) clk_sai <= clk AFTER clk_sai'tempo_lh WHEN(clk'EVENT AND clk = '1') ELSE clk AFTER clk_sai'tempo_hl; -- (_____/------ subida de rst) rst_sai <= rst AFTER rst_sai'tempo_lh WHEN(rst'EVENT AND rst = '1') ELSE rst AFTER rst_sai'tempo_hl; -- (_____/------ subida de set) set_sai <= set AFTER set_sai'tempo_lh WHEN(set'EVENT AND set = '1') ELSE set AFTER set_sai'tempo_hl; END teste; |