UNIVERSIDADEFEDERAL DO RIO GRANDE DO SUL
INSTITUTO DEINFORMTICA
Disciplina:
Sistemas Digitais paraComputao - A
- 2009-2
Pgina:
www.inf.ufrgs.br/~fglima/sistemas.htm
Professor: Fernanda Gusmo
de Lima Kastensmidt (fglima ...at... inf dot..ufrgs dot.. br)
Monitor:
Cdigo: INF01175
Pr-requisito: Tcnicas Digitais para Computao
Carga Horria: 4 horas
aula/semana
1. Smula
Computador visto como um
sistema digital Unidades operacional e decontrole Estruturas de controle:
harwired, microprogramada, com PLA, etc Sistemas sncronos e assncronos
Comunicao entre sistemas Estudo de casos(controle):
"carry-lookahead", interrupo em multiprocessamentoentrada/sada,
etc.
2.Objetivos da disciplina
O objetivo da disciplina
capacitar o aluno a compreender diferentesmtodos de sntese de sistemas
digitais complexos. Para tanto sero enfatizadosmtodos e ferramentas de
sntese para circuitos combinacionais (para circuitosregulares e para circuitos
irregulares) e seqenciais (tipicamente mquinas deestado utilizadas para
seqenciamento e controle). A linguagem de descrio dehardware VHDL ser
utilizada para descrio de sistemas digitais complexos, bemcomo para simulao
e sntese destes sistemas. A abordagem apresentadaconsidera a diviso de um
sistema digital entre parte operativa e parte decontrole. Mtodos e ferramentas
de sntese especficos so apresentados para aparte operativa e para a parte de
controle. Ao final da disciplina o alunodevera estar apto a compreender um
computador como um sistema digital complexo,bem como ter uma viso geral das
tcnicas e ferramentas de projeto para taissistemas.
3.Critrios de avaliao
O conceito final ser obtido
atravs de duas provas escritas (P1 e P2) ede dois trabalhos T1 e T2,
utilizando-se a seguinte ponderao:
Mdia = (P1 + P2 + T1 + T2)
/ 4ou Mdia = (2xExame + T1 + T2) / 4
Ser considerado aprovado o aluno que obtiver uma mdia final igual ou
superiora 6.0 (seis), sem ter zerado nenhuma das notas. S poder fazer
examequem tiver (P1 + P2)/2 < 6. Todas as verificaes escritas so SEMconsulta.
4.Bibliografia Bsica
StephenBrown & Zvonko Vranesic. Fundamentals
of DigitalDesign with VHDLDesign. McGraw-Hill.
MilosErcegovac, Tomas Lang & Jaime Moreno.
Introduoa Sistemas
Digitais. Bookman.
CARRO: L.Carro. Projetoe prototipao de Sistemas Digitais.
Editora daUFRGS.
5.Bibliografia Adicional
HAMBLEN:
J.O.Hamblen, M.D.Furman. RapidPrototyping of Digital Circuits. Kluwer.
HARRIS:
D.Harris. Skew-TolerantCircuit Design.Morgan Kaufmann.
KATZ: Randy
H. Katz. ContemporaryLogic Design.Benjamin/Cummings Publishing
Company, Inc.
ASHENDEN:
P.J. Ashenden. The designersguide to VHDL.Morgan Kaufmann.
MALVINO: A.Malvino. Microcomputadorese Microprocessadores.
McGraw-Hill.
TAUB: HerbertTaub. Circuitos Digitais e Microprocessadores.
Mc-Graw-Hill.
M.Morris
Mano & Charles R. Kime. Logic and Computer Design
Fundamentals. Prentice Hall.
Notasde Aula
6.
Software Utilizado
Xilinx ISE 8.1 (WEB edition). Licenas gratuitasdisponveis
na pgina da Xilinx (www.xilinx.com). Tutorial1,
Altera QuartusII WEB edition. Licenas gratuitasdisponveis
na pgina da Altera (www.altera.com).
Simulador ModelSim (Mentor Graphics), versoestudante (www.modelsim.com)
Actel Libero (WEB Edition). Licenas gratutasna pgina da
Actel (www.actel.com)
Placas Digilent da Xilinx (www.digilent.com)
7.Contedo Programtico e Cronograma de
Aulas
|
Aula |
Data |
sala |
TPICOs |
|
18/8 |
113 |
Apresentao
da disciplina. Noes de temporizao: circuitos sncronos e freqncia de
relgio. Reviso diagrama de estados e mquinas de estados. Tecnologia de
implementao: circuitos programveis (FPGAs), clulas de base, roteamento
interno. |
|
|
2 |
20/8 |
105 |
Implementaes
de mquinas de estado e analise de rea, desempenho e potencia. Codificao
das maquinas de estado. Uso de ferramentas de sntese para FPGA, analise de
posicionamento, roteamento, rea, desempenho, potncia e simulao. |
|
3 |
25/8 |
113 |
Fluxograma
ASM (Algorithm State Machine). Exemplos de fluxogramas ASM: multiplicadores,
extratores de razes quadrada e clculo de mnimo mltiplo comum. |
|
4 |
27/8 |
105 |
Projeto
RTL: parte operativa (PO) e parte de controle (PC). Otimizaes para os fluxogramas ASM
vistos anteriormente. |
|
5 |
01/9 |
113 |
Noes de VHDL: atribuies concorrentes. Declarao e
instanciao de componentes. |
|
6 |
03/9 |
105 |
Implementaes
em VHDL com simulao funcional |
|
7 |
08/9 |
113 |
Noes de
VHDL: atribuies seqenciais. |
|
8 |
10/9 |
105 |
Implementaes
em VHDL com simulao funcional |
|
9 |
15/9 |
113 |
Circuitos
aritmticos: noes bsicas. Testbench. |
|
10 |
17/9 |
105 |
Implementao
e comparao de circuitos aritmticos em VHDL. Construo de Testbenchs. |
|
11 |
22/9 |
113 |
Descrio
de mquinas de estados em VHDL.
Sntese de maquinas de estado em VHDL: codificao de estados, minimizao de estados e escolha dos
FFs. |
|
12 |
24/9 |
105 |
Implementao
de mquinas de estados em VHDL |
|
13 |
29/9 |
113 |
Bancos de
registradores, Memrias, Tipos de memrias e Uso de componentes BRAM. |
|
14 |
1/10 |
105 |
Implementaes
de memrias em VHDL |
|
15 |
6/10 |
113 |
Projeto
Parte Operativa (PO) e Parte de Controle (PC) de algoritmos e suas descries
em VHDL RTL, Paralelo x Serial,
rea x desempenho. Projeto de PO-PC em linguagem de descrio de hardware.
Descrio comportamental x estruturada. |
|
16 |
8/10 |
105 |
Descrio
RTL e anlise das partes de controle em VHDL dos fluxogramas ASM visto
anteriormente. Exemplo raiz.zip (PC-PO) e raiz_h.rar (algoritmo) Implementao de algoritmos e suas descricoes
em VHDL RTL, Paralelo x Serial,
Area x desempenho. |
|
17 |
13/10 |
113 |
Verificao
1 |
|
18 |
15/10 |
105 |
VHDL com
implementao no kit de prototipao da Xilinx: interfaces de utilizao:
leds, display 7-segmentos, chaves, portas ps/2 e outros. |
|
19 |
20/10 |
113 |
Apresentao
Trabalho 1 |
|
20 |
22/10 |
105 |
VHDL com
implementao no kit de prototipao da Xilinx: interfaces de utilizao:
leds, display 7-segmentos, chaves, portas ps/2 e outros. (continuao) |
|
21 |
27/10 |
113 |
Conceito
de Pipeline |
|
22 |
29/10 |
105 |
Circuitos
de alto desempenho: insero de pipeline na parte operativa. Exemplos. |
|
23 |
3/11 |
113 |
Meta-estabilidade
e clk skew (meta-estabilidade.pdf) |
|
24 |
5/11 |
105 |
Sintese
em ASIC usando biblioteca de clulas. Estimativa de desempenho e potncia. |
|
25 |
10/11 |
113 |
Introduo
a comunicao assncrona, protocolo de hand-shake (2 e 4 fases, single and
dual rail) |
|
26 |
12/11 |
105 |
Implementaes
de comunicao assincrona |
|
27 |
17/11 |
113 |
Conversores
Analogico/Digital e Digital/Analogico |
|
28 |
19/11 |
105 |
Uso de estruturas analgicas em FPGAs e em ASICs |
|
29 |
24/11 |
113 |
Verificao
2 |
|
30 |
26/11 |
105 |
Apresentao do trabalho 2 com
sesso interativa de questionamento |
|
31 |
10/12 |
113 |
Recuperao
Exame |
|
|
15/12 |
|
Divulgao
dos resultados |
LISTA DEEXERCICIOS PARA VERIFICAO 1:
Lista 1 : projeto FSM, algoritmos ASM emparte operativa e parte de controle
Lista 2 : linguagem de hardware VHDLe gabarito_extra
LISTA DEEXERCICIOS PARA VERIFICAO 2:
Especificao do Trabalho 1 2008/2. (em dupla)
TRABALHO RAMSES: descrio doprocessador RAMSES em VHDL, sntese em
FPGA ou ASIC com resultados de rea,desempenho e potencia para um determinado
programa teste que utilize grande partedas instrues. Uso de BRAM e outros
componentes embarcados se necessrio nocaso de FPGA.
Instrues para a entrega eapresentao do trabalho:
1- Apresentao:cada dupla tem 10 min para
apresentar em slides a arquitetura do RAMSES, dados derea e desempenho no FPGA
escolhido, simulao, e programa que usou para testaro processador (testbench).
2- Entrega do trabalho: enviar para fglima@inf.ufrgs.bro seguinte: nomedosalunos_trab1.zip contendo o ppt, todos os VHDLs
etestbenches para que eu possa reproduzir a simulacao e os dados apresentados.
Especificao do Trabalho 2 2008/2. (em dupla)
Descrio de um dado algoritmo Bubble Sort emVHDL, sntese em FPGA ou ASIC com resultados de rea, desempenho e potencia. Eimplementao deste algoritmo no RAMSES para comparao de rea, desempenho epotencia. Faa o download das instrues trab2_2008-2.pdf
Especificao do Trabalho 1 2008/1. (em dupla)
TRABALHO NEADER--------------------- INSTRUES: neander_vhdl.pdf
Especificao do Trabalho 2 2008/1. (em dupla)
Multiplicacao de matrizes, onde Ma(4x4) com dadosde 8 bits, Mb(4x4) com dados de 8 bits, resultado Mc(4x4) com dados de 8 bits.Usar memoria BRAM. Hardware dedicado. Comparar com o desempenho do software noNeander.
---------------------------------------------------------------------------------------------------------------
Especificao do Trabalho 1 2007/1. (em dupla)
Descrioem VHDL, verificao funcional atraves de
simulao lgica com vetores deentrada (testbench), avaliao de rea e
desempenho em uma familia de FPGA.
Todas asentradas e saidas devem estar em memoria(s)
embarcadas no tipo BRAM.
1) Adicao esubtrao em ponto flutuante testbech l realiza operaes
para 10dados gravados na memoria e escreve os valores em endereos desta
memoria.
2) Multiplicacao e divisao emponto
flutuante - testbech l realiza operaes para 10 dados gravados namemoria e
escreve os valores em endereos desta memoria.
(referenciaponto flutuante) http://www.cs.wisc.edu/~smoler/x86text/lect.notes/arith.flpt.html
3)Multiplicador Booth de 16 bits Ref: http://paginas.fe.up.pt/~aja/PSD2004_05/slides/181-218.pdf- testbech l realiza operaes para 10 dados gravados na memoria e escreve osvalores em endereos desta memoria.
4) Seno ouCosseno (Algoritmo Cordic) Ref: http://www.andraka.com/files/crdcsrvy.pdf,http://www.cs.ucla.edu/digital_arithmetic/files/ch11.pdf- testbech l realiza operaes para 10 dados gravados na memoria e escreve osvalores em endereos desta memoria.
http://en.wikipedia.org/wiki/CORDIC,http://www.opencores.org/projects.cgi/web/cordic/overview
5) Somadore Subtrator de numeros BCDs (mostrar como colar eles em cascata) Algoritmo deHellermann - testbech l realiza operaes para 10 dados gravados na memoria eescreve os valores em endereos desta memoria.
Ref: http://tams-www.informatik.uni-hamburg.de/applets/hades/webdemos/20-arithmetic/10-adders/bcd-adder.html,http://www2.cs.uh.edu/~jhuang/JCH/LD/Lab/lab4.html
6)Multiplicacao de matrizes, onde Ma(32x32) com dados de 8
bits, Mb(32x32) comdados de 8 bits
-----------------TRABALHODE TESTE--------------------------------------------------------------------------
Especificao do Trabalho 2 2007/1
Desenvolvimentode um testbench em VHDL para simular a
descrio VHDL do processador
H duasdescries do
Apresentaoem slides, 10 min de apresentao que inclui,
mostrar o VHDL do testbench, oprograma que esta sendo rodado no
ReferenciaOPCODE: http://www.student.cs.uwaterloo.ca/~isg/res/mips/opcodes / http://www.d.umn.edu/~gshute/spimsal/talref.html
Download do
Download do
Grupo1: mono_MIPS_com_falha_grupo1.zip
Grupo2: mono_MIPS_com_falha_grupo2.zip
Grupo3: mono_MIPS_com_falha_grupo3.zip
Grupo4: mono_MIPS_com_falha_grupo4.zip
Grupo5: mono_MIPS_com_falha_grupo5.zip
Grupo6: mono_MIPS_com_falha_grupo6.zip
Grupo7: mono_MIPS_com_falha_grupo7.zip
Grupo8: mono_MIPS_com_falha_grupo8.zip
Grupo9: mono_MIPS_com_falha_grupo9.zip
Grupo10: mono_MIPS_com_falha_grupo10.zip
Grupo11: mono_MIPS_com_falha_grupo11.zip
Download do modelo de
apresentao .ppt: template_projeto2.ppt