Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
Entre para seguir isso  
gustavox1

[Resolvido] Ajuda - Trabalho Facu - VHDL sumulção

Recommended Posts

Pessoal, preciso de uma ajuda para implementação em VHDL de um pequeno circuito, e logo após fazer uma simulação.

http://img130.imageshack.us/img130/7536/laborg.jpg

Esta é a imagem do circuito e o que se pede.

Não consegui entender qual a diferença de com hierarquia e sem hierarquia.

Meu VHDL:

library ieee;

use ieee.std_logic_1164.all;

use ieee.std_logic_unsigned.all;

entity teste3 is

port(pre, clr, clk, d in std_logic;

q out std_logic);

end teste3;

architecture arq of teste3 is

signal p std_logic_vector(5 downto 0);

begin

process(pre,clr,clk,d)

begin

p(0) = not(pre and p(3) and p(1));

p(1) = not(p(0) and clr and clk);

p(2) = not(p(1) and clk and p(3));

p(3) = not(p(2) and clr and d);

p(4) = not(pre and p(1) and p(5));

p(5) = not(p(2) and clr and d);

q = p(4);

end process;

end arq;

-------------------

Meu testbench, que ta todo errado:

library ieee;

use ieee.std_logic_1164.all;

entity teste3_tb is

end teste3_tb;

architecture arq_tb of teste3_tb is

signal pree, clrr, clkk, dd, qq: std_logic;

signal pp: std_logic_vector (5 downto 0);

begin

UUT : entity work.teste3

port map ( pre => pree, clr => clrr,

clk => clkk, d => dd);

pree <= '0', '1' after 10 ns, '0' after 20 ns, '1' after 30 ns, '0' after 40 ns;

clrr <= '1', '0' after 10 ns, '1' after 20 ns, '0' after 30 ns, '1' after 40 ns;

clkk <= '0', '1' after 5 ns, '0' after 15 ns, '1' after 25 ns, '0' after 35 ns;

end arq_tb;

Compartilhar este post


Link para o post
Compartilhar em outros sites

Se fosse Verilog eu poderia ajudar melhor. Não entendo muito de VHDL... ainda mais linguagem em portugues, mas traduzindo ao pe da letra o que ele que é que você crie um bloco AND (a questão da entidade e aquitetura é so porque no VHDL ele pede para você descrever as portas de entrada e saida dentro de um entity ..... end (nome) e a descrição da logica interna dentro de um architecture ... end (nome) . Pelo que eu entendi a questão da hierarquia é simplesmente mostrar que voce criar um bloco de AND e depois instancila-lo dentro de outro bloco funciona do mesmo modo que se voce escrevesse o codigo referente as portas logicas dentro desse bloco. Ou seja voce criar blocos maiores a partir de subblocos funciona do mesmo modo que criar um bloco do zero que faça tudo. porém utilizando sub-blocos voce acaba tendo uma maior organização.. entendeu?

Eu gostaria de ajudar mais mas realmente eu normalmente uso Verilog...

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • Resolvido!

    Trabalho pronto.

    library IEEE;

    use IEEE.STD_LOGIC_1164.all;

    entity c_hierarquia is

    port (A, B, C: in std_logic;

    S: out std_logic

    );

    end c_hierarquia;

    architecture arq of c_hierarquia is

    begin

    S <= not (A and B and C);

    end arq;

    library IEEE;

    use IEEE.STD_LOGIC_1164.all;

    entity tra3 is

    port(pre, clr, clk, D: in std_logic;

    q, qn: out std_logic );

    end tra3;

    architecture arq of tra3 is

    signal p: std_logic_vector (5 downto 0);

    begin

    c1 : entity work.c_hierarquia port map

    (A => pre, B => p(3), C => p(1), S => p(0));

    c2 : entity work.c_hierarquia port map

    (A => p(0), B => clk, C => clr, S => p(1));

    c3 : entity work.c_hierarquia port map

    (A => p(1), B => clk, C => p(3), S => p(2));

    c4 : entity work.c_hierarquia port map

    (A => D, B => clr, C => p(2), S => p(3));

    c5 : entity work.c_hierarquia port map

    (A => pre, B => clr, C => p(5), S => p(4));

    c6 : entity work.c_hierarquia port map

    (A => clr, B => p(3), C => p(4), S => p(5));

    q <= p(4);

    qn <= p(5);

    end arq;

    ------------------------------------------------------------------

    library ieee;

    use ieee.std_logic_1164.all;

    use ieee.std_logic_unsigned.all;

    entity tra3 is

    port(pre, clr, clk, D: in std_logic;

    q, qn: out std_logic);

    end tra3;

    architecture arq of tra3 is

    signal p: std_logic_vector(5 downto 0);

    begin

    p(0) <= not(pre and p(3) and p(1));

    p(1) <= not(p(0) and clr and clk);

    p(2) <= not(p(1) and clk and p(3));

    p(3) <= not(p(2) and clr and d);

    p(4) <= not(pre and p(1) and p(5));

    p(5) <= not(p(2) and clr and d);

    q <= p(4);

    qn <= p(5);

    end arq;

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Caso o autor do tópico necessite, o mesmo será reaberto, para isso deverá entrar em contato com a moderação solicitando o desbloqueio.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Visitante
    Este tópico está impedido de receber novos posts.
    Entre para seguir isso  





    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×