FPGAs and Verilog Lab Implement a chronograph 1. 2 Objective Implement in a FPGA development board a chronograph Count seconds from 0 to 99 when a switch.

Slides:



Advertisements
Apresentações semelhantes
Chapter Five The Processor: Datapath and Control (Parte B: multiciclo)
Advertisements

VI Workshop de Física e Astrofísica de Neutrinos 2009
Dep. Eng. Electrotécnica Diagramas de controle de execução.
Verilog AULA - 3.
Prof. Eduardo Leivas Bastos
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
MC Prof. Paulo Cesar Centoducatte MC542 Organização de Computadores Teoria e Prática.
DIRETORIA ACADÊMICA NÚCLEO DE CIÊNCIAS HUMANAS E ENGENHARIAS DISCIPLINA: INGLÊS FUNDAMENTAL - NOITE PROFESSOR: JOSÉ GERMANO DOS SANTOS PERÍODO LETIVO
Semana de Engenharia Introdução a Linguagem de Descrição de HW VHDL a ao Projeto Baseado em Lógica de Programação ALTERA Prof. Daniel Barros Júnior
Silberschatz and Galvin Operating System Concepts Unidade 1: Introdução O que é um sistema operacional? Systemas simples em lote (batch) Sistemas.
Trocadores de Calor Prof. Gerônimo.
Hardware Description Language (HDL)
Máquina de Estados Uma máquina de estados finitos ou autômato finito é uma modelagem de um comportamento composto por estados, transições e ações Um estado.
Fundamentos de Eletrônica Digital
Laboratório de electrónica de Raios Cósmicos (e-CRLab): Ensino e Investigação Luis Mendes.
Antonyus Pyetro Infra-estrutura de Hardware – IF674
Webots Pedro Pinheiro 12 de Novembro de Webots Pedro Pinheiro 12 de Novembro de 2004 Prepared by: Pedro Pinheiro.
Definição do MoC Subjacente a Aplicação Prof. Dr. César Augusto Missio Marcon Parcialmente extraído de trabalhos de Axel Jantch, Edward Lee e Alberto Sangiovanni-Vincentelli.
Avaliação Constituição dos grupos de trabalho:
Avalon Bus, NIOS II, SOPC Builder
10/ Daily Goal Sheet & Daily Checklist for Teachers Folha do Objetivo Diário & Checklist diário para os Professores By Por David Batty PSNC #7.
Projetos Grandes MO801/MC912. Roteiro Componentes Configurações Instanciação múltipla Instanciação condicional Atenção: Os exemplos são cumulativos.
Criptografia Problema 5. Equipe  Hallan Cosmo - hcs  Phillip César - pcas.
Divisão Serviço da Hora Laboratório Primário de Tempo e Frequência 2015 SIM TFWG Workshop and Planning Meeting January 27 – 29 Panamá City, Panamá. Building.
Hardware Description Language Aula 4 –VHDL (introdução)
fábrica de software conceitos, idéias e ilusões
© 2012 Autodesk Autodesk Revit para projetos executivos de arquitetura Módulo 5: Trabalhando em colaboração Tiago Marçal Ricotta Gerente de Projetos –
IEEE PES General Meeting, Tampa FL June 24-28, 2007 Conferência Brasileira de Qualidade de Energia Santos, São Paulo, Agosto 5-8, Chapter 6: Real-Time.
Estrutura da formação 3 aulas teórico-práticas + 1 aula de campo Aulas teórico-práticas + 1 aula de campo 3 aulas teórico-práticas (9h) - Tiago Garcia.
Heaven Bryan Adams Oh - thinkin about all our younger years Pensando nos nossos tempos de juventude There was only you and me Só existia eu e você.
IEEE PES General Meeting, Tampa FL June 24-28, 2007 Conferência Brasileira de Qualidade de Energia Santos, São Paulo, Agosto 5-8, Chapter 1: An.
Video Capítulo 8: Impasses. Silberschatz, Galvin and Gagne  Video Operating System Concepts Assuntos n Modelo de Sistemas n Carcterização de.
Sistemas Digitais Introdução ao Quartus II Monitoria Sistemas Digitais – {fbla, rgo, jpmk, thfp, fcm} at cin.ufpe.br Introdução ao Quartus II.
10 o Simpósio Brasileiro de Computação Musical3 a 6 de Outubro de A User-Friendly Graphical System for Room Acoustics Measurement and Analysis Leo.
Revisão do Quartus II e Ferramentas de Simulação
Engenharia de Sistemas Embarcados Aula 7: Analisador Lógico.
1 Hardware Description Language (HDL)  Para quê precisamos de uma Linguagem de Descrição de Hardware ?  Modelar, Representar e simular hardware digital.
PSI2653: Meios Eletrônicos Interativos I Escola Politécnica da USP Engenharia de Sistemas Eletrônicos I – Informação Digital - Gráfico Meios Eletrônicos.
Mestrando Gabriel Detoni Orientador Prof. Dante Barone Controle para Futebol de Robôs Utilizando Processamento Paralelo Plano de Estudos e Pesquisa (PEP)
Redes Sociais Online ISCTE – Instituto Universitário de Lisboa MCCTI Mónica Oliveira 13 de Março de 2013.
1. 2 Objetivos 1.Análise dos resultados da primeira avaliação. Notas importantes para futuro. 2.Comunicação de placas baseadas em FPGAs com computador.
Sistemas Microcontrolados e Programação em C Aula 12 – IO + I2C PICmicro Prof Afonso Ferreira Miguel.
By Búzios Slides Sincronizado com a Música All For Love Bryan Adams & Rod Stewart.
Limit Equlibrium Method. Limit Equilibrium Method Failure mechanisms are often complex and cannot be modelled by single wedges with plane surfaces. Analysis.
Verilog HDL. Introduzida em 1985 pela Gateway Design System Corporation Após 1990, passou a ser de domínio público, e em 1995 passou a ser padrão IEEE.
© 2007 IBM Corporation Academic Initiative 07/05/07 Aula 2 – Parte 1: Java Basics Autores: Argemiro José de Juliano Marcos
Universidade de Brasília Laboratório de Processamento de Sinais em Arranjos 1 Adaptive & Array Signal Processing AASP Prof. Dr.-Ing. João Paulo C. Lustosa.
Universidade de Brasília Laboratório de Processamento de Sinais em Arranjos 1 Adaptive & Array Signal Processing AASP Prof. Dr.-Ing. João Paulo C. Lustosa.
Na linha Tradução Rolagem automática On the Line Michael Jackson.
About Us iVenture Inc is a technology as well as comprehensive media company that facilitates businesses, institutes and individuals by providing simplified.
SISTEMA DE TRANSITIVIDADE: PARTICIPANTES PROCESSOS CIRCUNSTÂNCIAS.
Aula 6 – Um Jogo simples de desmatamento Tiago Garcia de Senna Carneiro (UFOP) Gilberto Câmara (INPE)
Clique para editar o título Arduino seu primeiro microcontrolador PMR
MELHOR VISUALIZADO NO POWER POINT 2000 There comes a time, when we hear a certain call Haverá um tempo em que ouviremos um chamado When the world must.
Abril 2016 Gabriel Mormilho Faculdade de Economia, Administração e Contabilidade da Universidade de São Paulo Departamento de Administração EAD5853 Análise.
Pesquisa Operacional aplicada à Gestão de Produção e Logística Prof. Eng. Junior Buzatto Case 4.
Sec 3.6 Determinants. TH2: the invers of 2x2 matrix Recall from section 3.5 :
Pesquisa Operacional aplicada à Gestão de Produção e Logística Prof. Eng. Junior Buzatto Case 3.
Learning english with comics …………….. Aprendendo inglês com quadrinhos.
Phases of Hackers. Module 1: Today’s Threat Landscape Module 2: Key Principles of Security Module 3: Understanding your enemy! Module 4: Phases of Hackers.
Teste e Qualidade de Software
Desenvolvimento da Eletrônica de Front End do HCAL/HF
Wondershare software On the [View] menu, point to [Master], and then click [Slide Master] or [Notes Master].
Aplicativo EBSCO eBooks Autenticação
Simple Present Tense. . In English the Simple Present is used to express actions that are made with a certain frequency, like go to school, work, study…
Introduction to density estimation Modelação EcoLÓGICA
Pesquisadores envolvidos Recomenda-se Arial 20 ou Times New Roman 21.
Eletronica Digital III
Transcrição da apresentação:

FPGAs and Verilog Lab Implement a chronograph 1

2 Objective Implement in a FPGA development board a chronograph Count seconds from 0 to 99 when a switch is up...

3 First Step Open the Quartus Software; Open the DE2_top project compile; program the board -- The DE2_top gives you the definition of all pins and signals in DE2 Do Something different... e.g. Change the value of the 7 Segments display compile program Success? Test it Lunch! Correct the bug! Yes No

4 Decode the binary and put it in 7 seg display Do a module that decodes binary to 7 segment display Use the Switches as inputs and output to Hex6 and 7 SW[3:0]  Hex6 SW[7:4]  Hex7 case (bin) //disp= "g f e d c b a“ 0: display=~7'b ; 1: display=~7'b ; 2: display=~7'b ; 3: display=~7'b ; 4: display=~7'b ; 5: display=~7'b ; 6: display=~7'b ; 7: display=~7'b ; 8: display=~7'b ; 9: display=~7'b ; default:display=~7'b ; endcase

5 Flash a LED with T=1s Produce a one second clock and change a led each second Identify the 50 MHz clock. Divide the clock using a 32 bit counter: Create a 32 bit counter and show in the LEDs Now, everytime the counter value reaches 1s/(clock period)=1s/20ns activate a flag and reset counter Now you have a pulse each second... Use it to turn on/off a LED

6 Count 1 second pulses Make two counters: seconds and tens of seconds Use the 1s pulse for the seconds. Each 10 seconds give a pulse to the tens of seconds and reset the seconds counter

7 Control the counter Use a switch to control when it counts Use a Key for reset: wire reset; assign reset=Key[0]; (posedge... or negedge reset) if (!reset) count <=0; else

Have fun with it 8

****************************** ****************************** ****************************** 9

10 Nibble to 7 segment case (nibble) 0: segment <= ~8'b ; // "a b c d e f g h" 1: segment <= ~8'b ; 2: segment <= ~8'b ; // --a-- 3: segment <= ~8'b ; // | | 4: segment <= ~8'b ; // f b 5: segment <= ~8'b ; // | | 6: segment <= ~8'b ; // --g-- 7: segment <= ~8'b ; // | | 8: segment <= ~8'b ; // e c 9: segment <= ~8'b ; // | | 10: segment <= ~8'b ; // --d-- (h) 11: segment <= ~8'b ; 12: segment <= ~8'b ; 13: segment <= ~8'b ; 14: segment <= ~8'b ; 15: segment <= ~8'b ; default: segment <= 8'bx; endcase

Software - Schematic Logic Schematic programming OutputInput 11

Software - verilog Logic Verilog Programming Output Input 12

13 Implementing a Multiplexer module mux(f, a, b, sel); output f; input a, b, sel; and g1(f1, a, nsel), g2(f2, b, sel); or g3(f, f1, f2); not g4(nsel, sel); endmodule module mux(f, a, b, sel); output f; input a, b, sel; reg f; or b or sel) if (sel) f = a; else f = b; endmodule module mux(f, a, b, sel); output f; input a, b, sel; assign f = sel ? a : b; endmodule a b a b f f

14 Hardware: buy and hack it

Hardware 15 ~200€ for academic

Hardware 16

Hardware DE2_Pin_Table.pdf 17

18

30 seconds to light a LED File  Open Project  DE2_top 19

20 Build your own computer...

Connecting modules to build complex machines 21

Modules 22

Top-Level: connect the modules 23

24 Example: A simple counter Do you know a simple way to count 10 ns pulses? Lots of them?

25 Tools - Simulation Quartus II Define the signals : Inputs – stimulus Outputs - results Define the stimulus to the system Run the simulation and you get the result

26 Tools – Measurement instruments Waveforms Logic Levels

27 Tools – Internal Logic Analyser Signal-TAP embedded Logic Analyser Quartus II Handbook Version 9.0 Volume 3: Verification 14. Design Debugging Using the SignalTap II Embedded Logic Analyzer

28 Tools – Internal Logic Analyser CONTROL The signal you want to “see” Trigger definition Clock definition

29 Tools – Internal Logic Analyser The logic analyser will collect data from the registers and output it through the JTAG programming interface Tools – Signal probe Internal signals can be extracted to output pins and connected to na external logic analyser. Signals can be exchanged easily…

30 SignalTap step by step Open DE2 default and compile it! Program DE2 Tools  Signal TapII Logic Analyser

31 Setup the hardware (choose the USB blaster) Define the clock

32

33 Choose the signals to observe. Choose Cont 25,24,23,22 Compile the project! You may need to save some files and answer some questions Program the board

34 Run Analysis  Green (acquisition in progress, acquiring data Run Analysis (1 time)Run Analysis (continuous)Stop

35 Finally: data!! Select the four signals; Edit  group Select the group Edit  Bus Display Format  Unsigned Line Chart Unzoom

36 Tools – Mega Wizard

37

38

39

40 Mega Wizard – What you get ftp://ftp.altera.com/up/pub/Tutorials/DE2/Digital_Logic/tut_lpms_verilog.pdf

41 Memories

42

43 And finally… Microprocessors The SOPC Builder is a tool used in conjuction with the Quartus II CAD software. It allows the user to easily create a system based on the Nios II processor, by simply selecting the desired functional units and specifying their parameters. ftp://ftp.altera.com/up/pub/Tutorials/DE2/Computer_Organization/tut_sopc_introduction_verilog.pdf Tools – SOPC builder Lots of tools and tutorials… e.g. NIOS IDE (Integrated Development Environment) DE2 demonstrations There are other choices of μ-processors to implements. E.g.: mips Operating systems can be used. E.g. μ-Clinux™

cronograph The lab exercise

********** ********* 45

46 SiPMs …

SiPM – Silicon PhotoMultiplier Foto-Diodo de avalanche em modo Geiger com resistência Quenching Resitor SiPM pixel SiPM Matrix SiPMs – CMOS binário 1 célula tem sempre o mesmo sinal Saída: Soma de várias células Sinais “digitalizados” Ideiais para “Single Photon Counting” Eficientes Podem ser expostos a luz Tensões baixas (<100v) Problemas: Dependência com a temperatura; Dependência com a tensão Ruído Crosstalk

No LIP… 1 p.e. 2 p.e. 3 p.e. 4 p.e. 5 p.e. Caracterização dos SiPM Sistema controlo temperatura (~ -20ºC) Sistema leitura 64 canais Substituir uma câmara de Auger: Auger: 800 mm x 800 mm = 6.4 x 10 5 mm 2 1 SiPM: 3 mm x 3 mm = 9 mm 2 Nº canais da ordem de 7 x 10 4 Ganhos: Resolução Eficiência do detector

Photon counting Threshold simples: Digital Vários Thresholds: Aumentar gama dinâmica Pode ser implementado num ASIC: Muitos Canais

O ASIC de front-end Baseline Option ASIC MAROC3 64 pré-amplificadores Ganho programável por canal 64 sinais digitais de saída ADC 12 bits

ERC - Elementary Readout Cell Asynchronous Synchronous Fotões Sinais Analógicos 64x Sinais Digitais 2x links série FPGA: trigger local; Compressão; Gestão

Aquisição de Dados em pirâmide…

L2/L3 boards Altera® Stratix® IV GX FPGA 16 x 6.25 GHz SerDes transceivers Optical Links (3.125 Gbps) or SFP+ (6.25 Gbps) 2 x 1 GB SDRAM Altera® Stratix® IV GX FPGA 16 x 6.25 GHz SerDes transceivers Optical Links (3.125 Gbps) or SFP+ (6.25 Gbps) 2 x 1 GB SDRAM Optical LinksBackplane Scalable solution PC Optical Link Board Solução Comercial: Placas MicroTCA (industria Telecomunicações) Vários links opticos por placa Podem ser instalados numa crate com bus FPGAs Rápidas Reprogramáveis As Placas podem ser programadas como placas de trigger de nível L2 ou L3

Hardware Development boards from ~$100

4 exercícios: “Olá Mundo” “Breitling” Mira Técnica Jogo 1 Trabalho final “negociado” Caderno de encargos define requisitos 3-4 semanas aulas 14 semanas laboratório PCLD

SiPM Multi-Pixel Arrays Zecotek Photonics, MAPD3-N device Gain: 7x10 4 – 1x10 5 (11-15 fC for 1 p.e.) Dark current: 1-3 MHz per 3x3 mm 2 pixel Temperature sensitivity (dM/dV) ~5%/ºC Crosstalk: 5-15% Bias supply: 90 V, common cathode 1 p.e. 2 p.e. 3 p.e. 4 p.e. 5 p.e. 6 p.e. 7 p.e. 8 p.e. 8x8 configuration CERN, Y. Musienko Anfimov et al., NIM A in press 2010

ERC - Elementary Readout Cell 64 SiPM (8x8 configuration) array 64 input channel ASIC with 64 discriminators Charge output available as option Local clock at 40/80 MHz Total bandwidth between ASIC and ERC FPGA: 2.56 Gbps at 40 MHz or 6.4 Gbps at 100 MHz ERC FPGA performs zero suppression and local threshold Asynchronous Synchronous Output serial links (LVDS, min 100 MHz) Typical payload: 64 bits + 40 bit Timestamp (clock counter) + overhead + trailer ~ b 2x100 Mbps LVDS link compatible with ~2 MHz event rate / 64 channels)

Main options Bonus: DAQ architecture can re-use standard MA-PMTs From Industry: Fast Data transfer standards. E.g. xTCA from Telecom Industry Inherent asynchronous (network switching) Data and slow-control data streams can be send over the same data lines, reducing the number of cables required Signals Digitized and time-tagged “as soon as possible”. Data max bandwith using off-the-shelf links and boards. A clock is distributed only to front-end boards, for time marker assignment Each trigger primitive has a time marker assigned by the front-end board All trigger primitives from front-end boards sent asynchronously to trigger boards via data links running at their own clocks, for maximum bandwidth In an asynchronous system, each trigger level works at its own clock frequency No timing procedures are required