Mudanças entre as edições de "PROJETO FINAL - SST"
Ir para navegação
Ir para pesquisar
(→Código) |
(→Código) |
||
(13 revisões intermediárias pelo mesmo usuário não estão sendo mostradas) | |||
Linha 7: | Linha 7: | ||
=WaveForm= | =WaveForm= | ||
− | [[Arquivo:waveform.jpg]] | + | [[Arquivo:waveform.jpg|980px|thumb|left]] |
=Pinagem= | =Pinagem= | ||
Linha 16: | Linha 16: | ||
;Método adotado: | ;Método adotado: | ||
− | |||
− | + | *A abordagem utilizada foi Behavioral. Modela como as saídas do sistema irão reagir às entradas do sistema.Dessa forma ficou mais simples e fácil de entender; | |
+ | *O relógio possui 2 estados: Estado = '0', significa que ele esta no processo de contagem. Estado = '1', ele esta no processo de ajuste; | ||
+ | *Cada unidade e dezena de hora,minuto e segundo são atreladas a uma variável para uma eventual exibição no display de 7 segmentos; | ||
+ | * Como a saída da máquina depende do estado presente e também das entradas, o sistema é uma máquina de Mealy; | ||
+ | * Foram utilizados dois processos sendo o mesmo o coração da abordagem behavioral; | ||
+ | * O primeiro processo define a troca dos estados, já o segundo realiza a seleção do estado para realização de suas atividades (Contagem ou ajuste). | ||
+ | |||
+ | |||
{{collapse top | '''Código VHDL''' - Clicar no "+" para expandir }} | {{collapse top | '''Código VHDL''' - Clicar no "+" para expandir }} | ||
Linha 103: | Linha 109: | ||
clock := clock + 1; | clock := clock + 1; | ||
− | --Quando a frequencia do | + | --Quando a frequencia do CLK chegar em seu valor maximo o mesmo sera zerado e inicia a contagem |
IF (clock = FCLK) then | IF (clock = FCLK) then | ||
Linha 111: | Linha 117: | ||
--Realizaçao da contagem | --Realizaçao da contagem | ||
− | IF (segundo1 = 10) then | + | IF (segundo1 = 10) then |
segundo1 := 0; | segundo1 := 0; | ||
segundo2 := segundo2 + 1; | segundo2 := segundo2 + 1; | ||
Linha 146: | Linha 152: | ||
-- | -- | ||
-- IF (CLK'event AND CLK='1') then | -- IF (CLK'event AND CLK='1') then | ||
− | -- | + | -- clock_cronometro := clock_cronometro + 1; |
-- | -- | ||
-- IF (clock_cronometro = FCLK) then | -- IF (clock_cronometro = FCLK) then | ||
-- clock_cronometro := 0; | -- clock_cronometro := 0; | ||
-- segundo1_cronometro := segundo1_cronometro + 1; | -- segundo1_cronometro := segundo1_cronometro + 1; | ||
− | -- | + | -- IF (segundo1_cronometro = 10) then |
− | -- | + | -- segundo1_cronometro := 0; |
− | -- | + | -- segundo2_cronometro := segundo2_cronometro + 1; |
-- IF (segundo2_cronometro = 6) then | -- IF (segundo2_cronometro = 6) then | ||
-- segundo2_cronometro := 0; | -- segundo2_cronometro := 0; | ||
Linha 188: | Linha 194: | ||
-- horas1_cronometro :=0; | -- horas1_cronometro :=0; | ||
-- horas2_cronometro :=0; | -- horas2_cronometro :=0; | ||
− | -- | + | -- END IF; |
--END IF; | --END IF; | ||
Linha 209: | Linha 215: | ||
− | + | if (falling_edge (Ajuste_hora)) then --Mesma logica do ajuste minuto | |
horas11 := horas1 +1; | horas11 := horas1 +1; | ||
if (horas11 = 10) then | if (horas11 = 10) then |
Edição atual tal como às 10h27min de 23 de junho de 2015
Alunos: Leonardo, Nicole e Rogério
Máquina de Estados
WaveForm
Pinagem
Código
- Método adotado
- A abordagem utilizada foi Behavioral. Modela como as saídas do sistema irão reagir às entradas do sistema.Dessa forma ficou mais simples e fácil de entender;
- O relógio possui 2 estados: Estado = '0', significa que ele esta no processo de contagem. Estado = '1', ele esta no processo de ajuste;
- Cada unidade e dezena de hora,minuto e segundo são atreladas a uma variável para uma eventual exibição no display de 7 segmentos;
- Como a saída da máquina depende do estado presente e também das entradas, o sistema é uma máquina de Mealy;
- Foram utilizados dois processos sendo o mesmo o coração da abordagem behavioral;
- O primeiro processo define a troca dos estados, já o segundo realiza a seleção do estado para realização de suas atividades (Contagem ou ajuste).
Código VHDL - Clicar no "+" para expandir |
---|
|