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. Redwood City,1994.

         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

1

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:

Lista 3: projeto com pipeline, memorias,meta-estabilidade, circuitos assincronos, conversores e VHDL.

 

Lista 4: exercicios

 

 

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 MIPSmono ciclo.

H duasdescries do MIPS, uma sem falha (gold_MIPS)e outra com uma falha de descrio (fault_MIPS).O testbench desenvolvido deve tentar exercitar ao mximo a funcionalidade doprocessador e mostrar se a falha no MIPS pode ser detectada. Note que h umarray de 8 instrucoes descrito no MIPS como se fosse uma ROM interna, porem,pede-se para colocar o ROM externamente ao processador, sendo assim gerado pelotestbench. (como mostra na figura), o mesmo deve ser feito com a memoria RAM.As memorias RAM e ROM sero descritas em VHDL com comandos do tipo process ecase.

 

Apresentaoem slides, 10 min de apresentao que inclui, mostrar o VHDL do testbench, oprograma que esta sendo rodado no MIPS(instrucoes), mostrar um esquematico da parte operativa no MIPSmarcando em colorido o que o testbench est exercitando (olhar no livro doPatterson e slides de ORGB), a simulao do gold_MIPSe do fault_MIPS e concluses. Os dados derea e desempenho do MIPS devem serapresentados tambem na apresentacao. Mas notem, o testbench no sersintetizado, ele so para verficao funcional da descrio.

 

ReferenciaOPCODE: http://www.student.cs.uwaterloo.ca/~isg/res/mips/opcodes  / http://www.d.umn.edu/~gshute/spimsal/talref.html

 

 

 

Download do MIPSsem falhas (gold): mono_MIPS_sem_falha.zip e MIPS_memoria_extendida.zip

 

Download do MIPScom Falha:

 

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