·
Ciência da Computação ·
Organização de Computadores
Send your question to AI and receive an answer instantly
Recommended for you
4
Atividade Individual Avaliativa em Arquitetura dos Computadores
Organização de Computadores
UVA
33
Interrupções no Timer do ATmega328: Funcionamento e Configuração
Organização de Computadores
UFAM
9
Marie-resumo
Organização de Computadores
UNIFEI
67
Máquinas de Estado: Circuitos Sequenciais Síncronos e FSM
Organização de Computadores
UECE
1
Representacao de Instrucoes e Opcode em Arquitetura de Computadores
Organização de Computadores
UEPB
226
But How Do It Know: The Basic Principles of Computers for Everyone
Organização de Computadores
UNIFACID WYDEN
1
Código de Instrução e seu Significado
Organização de Computadores
UNIFACID WYDEN
42
Máquinas de Estados e Circuitos Lógicos
Organização de Computadores
UECE
4
Trabalho Prático 2 - Organização de Computadores 2022 1
Organização de Computadores
UFOP
Preview text
Universidade Federal do Mato Grosso Campus Universitário de Várzea Grande Curso de Engenharia de computação Disciplina Organização de Computadores Professor Ronaldo Luiz Alonso Questão 1 Valor 30 Considere que temos um componente do tipo somador completo conforme ilustado na figura abaixo Faça a descrição estrutural em VHDL de um somador de 8 bits usando 8 componentes que são somadores completos de 1 bit descritos conforme a figura acima Example 12a half adder library IEEE use IEEESTDLOGIC1164all use IEEESTDLOGICunsignedall entity halfadd is port a in STDLOGIC b in STDLOGIC c out STDLOGIC s out STDLOGIC end halfadd architecture halfadd of halfadd is begin s a xor b c a and b end halfadd Example 12b adder8 library IEEE use IEEEstdlogic1164all entity adder8 is port a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 cin in STDLOGIC cout out STDLOGIC s out STDLOGICVECTOR7 downto 0 end adder8 architecture structural of adder8 is signal cout0 stdLOGIC signal cout1 stdlogic signal cout2 STDLOGIC signal cout3 stdlogic signal cout4 stdlogic signal cout5 stdlogic signal cout6 stdlogic component fulladd port a in STDLOGIC b in STDLOGIC cin in STDLOGIC cout out STDLOGIC s out STDLOGIC end component begin U0 fulladd port map a a0 b b0 cin cin cout cout0 s s0 U1 fulladd port map a a1 b b1 cin cout0 cout cout1 s s1 U2 fulladd port map a a2 b b2 cin cout1 cout cout2 s s2 U3 fulladd port map a a3 b b3 cin cout2 cout cout3 ss3 U4 fulladd port map a a4 b b4 cin cout3 cout cout4 s s4 U5 fulladd port map a a5 b b5 cin cout4 cout cout5 s s5 U6 fulladd port map a a6 b b6 cin cout5 cout cout6 s s6 U7 fulladd port map a a7 b b7 cin cout6 cout cout end structural Questão 2 Valor 20 Faça a descrição de um multiplexador de duas entradas de 8 bits para uma saída de 8 bits usando a construção casewhen mux 88 library IEEE use IEEEstdlogic1164all library EXAMPLE6 entity mux88 is port s in stdlogic a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 y out STDLOGICVECTOR7 downto 0 end mux88 architecture mux88 of mux88 is begin process s begin case s is when 0 y a when others y b end case end process end mux88 Questão 3 Valor 10 Faça a descrição de um registrador de 8 bits usando a construção ifelse library IEEE use IEEEstdlogic1164all entity reg is port clk in stdlogic clr in stdlogic d in stdlogicvector 7 downto 0 q out stdlogicvector 7 downto 0 end reg architecture reg of reg is begin process clk clr begin if clr 1 then q others 0 else if clkevent and clk 1 then q D end if end if end process end reg Questão 4 Valor 40 Uma das maneiras de implementar um registrador contador de 8 bits é ter a saída do registrador comum de 8 bits ligada a uma das entradas de somandor de 8 bits sendo que a outra entrada é a constante igual a 1 Um multiplexador escolherá qual será o próximo valor do registrador se é o valor anterior do mesmo incrementado ou se é o valor da entrada também de 8 bits conforme mostra a figura Observação O somador pode ser o mesmo da questão 1 pois não faz diferença na simulação conforme explicado abaixo Estou colocando aqui um somador diferente por que ele não necessáriamente precisa ser igual e outras variações serão consideradas O item b dessa questão foi anulado conforme explicação abaixo a 40 Crie uma entidade registradorcontador com base na figura acima As setas grossas tem 8 bits e as setas finas de seleção e de clock tem 1 bit seleçãos entradae valor do registrador r constante 1 r1 somador multiplexador registrador clockclk Example 12b adder behavioral library IEEE use IEEEstdlogic1164all use ieeestdlogicunsignedall use ieeestdlogicarithall entity adder is port a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 cin in STDLOGIC cout out STDLOGIC s out stdlogicvector 7 downto 0 end adder architecture behavioral of adder is begin process abcin variable temp stdlogicvector 7 downto 0 begin temp ab if cin 1 then temp temp 1 end if s temp cout 0 end process end behavioral registrador contador library IEEE use IEEEstdlogic1164all entity regcount is port s in stdlogic clk in stdlogic clr in stdlogic d in stdlogicvector 7 downto 0 q out stdlogicvector 7 downto 0 adderout out stdlogicvector 7 downto 0 end regcount architecture structural of regcount is signal fulladderout stdlogicvector 7 downto 0 signal regout stdlogicvector 7 downto 0 signal muxout stdlogicvector 7 downto 0 component reg port clk in stdlogic clr in stdlogic d in stdlogicvector 7 downto 0 q out stdlogicvector 7 downto 0 end component component mux88 port s in stdlogic a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 y out STDLOGICVECTOR7 downto 0 end component component adder port a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 cin in STDLOGIC cout out STDLOGIC s out STDLOGICVECTOR7 downto 0 end component begin ADDERBEHAVIORAL adder port map a X01 b regout cin 0 cout não conectado s fulladderout MUX mux88 port map s s a d b fulladderout y muxout R reg port map clk clk clr clr d muxout q q adderout fulladderout end structural b 00 Faça a simulação desse circuito no software ModelSim do ambiente Quartus II da altera e tire print do resultado obs simulações exatamente iguais serão consideradas plágio seja criativo nos valores e tempos Aqui temos um problema a saída da ula é sempre um Não importa se o aluno estiver utilizando a ULA com descrição comportamental ou a ULA com a descrição estrutural da questão 1 O resultado é sempre e não foi possível determinar a causa pelo menos não fiz testes minunciosos pois estou com pouco tempo Arquivo regsimvwf Resultado da simulação Observe que o somador sempre solta 1 como resultado e não a soma da saída do registrador com a constante X01 Não adianta também definir a porta como buffer isto é em VHDL temos o tipo buffer quando uma saída de um circuito é realimentado na entrada Para que isso funcione é preciso que a arquitetura seja modificada Observe que na simulação do NEANDER no modelsim não tivemos esse problema pois o registrador acumulador estava conectado a entrada da ULA e não a saída Sendo pois um erro conceitual esse item será anulado e os 4 pontos ficarão com apenas com o item a Porém se alguem conseguiu fazer isso funcionar terá pontos extras no trabalho
Send your question to AI and receive an answer instantly
Recommended for you
4
Atividade Individual Avaliativa em Arquitetura dos Computadores
Organização de Computadores
UVA
33
Interrupções no Timer do ATmega328: Funcionamento e Configuração
Organização de Computadores
UFAM
9
Marie-resumo
Organização de Computadores
UNIFEI
67
Máquinas de Estado: Circuitos Sequenciais Síncronos e FSM
Organização de Computadores
UECE
1
Representacao de Instrucoes e Opcode em Arquitetura de Computadores
Organização de Computadores
UEPB
226
But How Do It Know: The Basic Principles of Computers for Everyone
Organização de Computadores
UNIFACID WYDEN
1
Código de Instrução e seu Significado
Organização de Computadores
UNIFACID WYDEN
42
Máquinas de Estados e Circuitos Lógicos
Organização de Computadores
UECE
4
Trabalho Prático 2 - Organização de Computadores 2022 1
Organização de Computadores
UFOP
Preview text
Universidade Federal do Mato Grosso Campus Universitário de Várzea Grande Curso de Engenharia de computação Disciplina Organização de Computadores Professor Ronaldo Luiz Alonso Questão 1 Valor 30 Considere que temos um componente do tipo somador completo conforme ilustado na figura abaixo Faça a descrição estrutural em VHDL de um somador de 8 bits usando 8 componentes que são somadores completos de 1 bit descritos conforme a figura acima Example 12a half adder library IEEE use IEEESTDLOGIC1164all use IEEESTDLOGICunsignedall entity halfadd is port a in STDLOGIC b in STDLOGIC c out STDLOGIC s out STDLOGIC end halfadd architecture halfadd of halfadd is begin s a xor b c a and b end halfadd Example 12b adder8 library IEEE use IEEEstdlogic1164all entity adder8 is port a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 cin in STDLOGIC cout out STDLOGIC s out STDLOGICVECTOR7 downto 0 end adder8 architecture structural of adder8 is signal cout0 stdLOGIC signal cout1 stdlogic signal cout2 STDLOGIC signal cout3 stdlogic signal cout4 stdlogic signal cout5 stdlogic signal cout6 stdlogic component fulladd port a in STDLOGIC b in STDLOGIC cin in STDLOGIC cout out STDLOGIC s out STDLOGIC end component begin U0 fulladd port map a a0 b b0 cin cin cout cout0 s s0 U1 fulladd port map a a1 b b1 cin cout0 cout cout1 s s1 U2 fulladd port map a a2 b b2 cin cout1 cout cout2 s s2 U3 fulladd port map a a3 b b3 cin cout2 cout cout3 ss3 U4 fulladd port map a a4 b b4 cin cout3 cout cout4 s s4 U5 fulladd port map a a5 b b5 cin cout4 cout cout5 s s5 U6 fulladd port map a a6 b b6 cin cout5 cout cout6 s s6 U7 fulladd port map a a7 b b7 cin cout6 cout cout end structural Questão 2 Valor 20 Faça a descrição de um multiplexador de duas entradas de 8 bits para uma saída de 8 bits usando a construção casewhen mux 88 library IEEE use IEEEstdlogic1164all library EXAMPLE6 entity mux88 is port s in stdlogic a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 y out STDLOGICVECTOR7 downto 0 end mux88 architecture mux88 of mux88 is begin process s begin case s is when 0 y a when others y b end case end process end mux88 Questão 3 Valor 10 Faça a descrição de um registrador de 8 bits usando a construção ifelse library IEEE use IEEEstdlogic1164all entity reg is port clk in stdlogic clr in stdlogic d in stdlogicvector 7 downto 0 q out stdlogicvector 7 downto 0 end reg architecture reg of reg is begin process clk clr begin if clr 1 then q others 0 else if clkevent and clk 1 then q D end if end if end process end reg Questão 4 Valor 40 Uma das maneiras de implementar um registrador contador de 8 bits é ter a saída do registrador comum de 8 bits ligada a uma das entradas de somandor de 8 bits sendo que a outra entrada é a constante igual a 1 Um multiplexador escolherá qual será o próximo valor do registrador se é o valor anterior do mesmo incrementado ou se é o valor da entrada também de 8 bits conforme mostra a figura Observação O somador pode ser o mesmo da questão 1 pois não faz diferença na simulação conforme explicado abaixo Estou colocando aqui um somador diferente por que ele não necessáriamente precisa ser igual e outras variações serão consideradas O item b dessa questão foi anulado conforme explicação abaixo a 40 Crie uma entidade registradorcontador com base na figura acima As setas grossas tem 8 bits e as setas finas de seleção e de clock tem 1 bit seleçãos entradae valor do registrador r constante 1 r1 somador multiplexador registrador clockclk Example 12b adder behavioral library IEEE use IEEEstdlogic1164all use ieeestdlogicunsignedall use ieeestdlogicarithall entity adder is port a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 cin in STDLOGIC cout out STDLOGIC s out stdlogicvector 7 downto 0 end adder architecture behavioral of adder is begin process abcin variable temp stdlogicvector 7 downto 0 begin temp ab if cin 1 then temp temp 1 end if s temp cout 0 end process end behavioral registrador contador library IEEE use IEEEstdlogic1164all entity regcount is port s in stdlogic clk in stdlogic clr in stdlogic d in stdlogicvector 7 downto 0 q out stdlogicvector 7 downto 0 adderout out stdlogicvector 7 downto 0 end regcount architecture structural of regcount is signal fulladderout stdlogicvector 7 downto 0 signal regout stdlogicvector 7 downto 0 signal muxout stdlogicvector 7 downto 0 component reg port clk in stdlogic clr in stdlogic d in stdlogicvector 7 downto 0 q out stdlogicvector 7 downto 0 end component component mux88 port s in stdlogic a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 y out STDLOGICVECTOR7 downto 0 end component component adder port a in STDLOGICVECTOR7 downto 0 b in STDLOGICVECTOR7 downto 0 cin in STDLOGIC cout out STDLOGIC s out STDLOGICVECTOR7 downto 0 end component begin ADDERBEHAVIORAL adder port map a X01 b regout cin 0 cout não conectado s fulladderout MUX mux88 port map s s a d b fulladderout y muxout R reg port map clk clk clr clr d muxout q q adderout fulladderout end structural b 00 Faça a simulação desse circuito no software ModelSim do ambiente Quartus II da altera e tire print do resultado obs simulações exatamente iguais serão consideradas plágio seja criativo nos valores e tempos Aqui temos um problema a saída da ula é sempre um Não importa se o aluno estiver utilizando a ULA com descrição comportamental ou a ULA com a descrição estrutural da questão 1 O resultado é sempre e não foi possível determinar a causa pelo menos não fiz testes minunciosos pois estou com pouco tempo Arquivo regsimvwf Resultado da simulação Observe que o somador sempre solta 1 como resultado e não a soma da saída do registrador com a constante X01 Não adianta também definir a porta como buffer isto é em VHDL temos o tipo buffer quando uma saída de um circuito é realimentado na entrada Para que isso funcione é preciso que a arquitetura seja modificada Observe que na simulação do NEANDER no modelsim não tivemos esse problema pois o registrador acumulador estava conectado a entrada da ULA e não a saída Sendo pois um erro conceitual esse item será anulado e os 4 pontos ficarão com apenas com o item a Porém se alguem conseguiu fazer isso funcionar terá pontos extras no trabalho