Académique Documents
Professionnel Documents
Culture Documents
FPGA
FPGA
Grgory ESTRADE
http://torlus.com/
En pratique
Bases
Portes logiques Latches, Flip-flops Horloge, Bus...
Source : Wikipedia
Circuits avancs
ROM, RAM CPU, DSP (audio, vido, tlcoms ), MCU (Microcontrleurs) Contrleurs USB, Ethernet ASIC DAC, ADC, capteurs, servo-moteurs
Logique programmable
PAL, GAL CPLD, FPGA
Logique programmable
Synthse combinatoire
A B Ci
Co
Ci 0 1 0 1 0 1 0 1
A 0 0 1 1 0 0 1 1
B 0 0 0 0 1 1 1 1
S 0 1 1 0 1 0 0 1
Co 0 0 0 1 0 1 1 1
Source : Wikipedia
Synthse combinatoire
Gate Array (PAL, PLA, GAL) ROM Microcontrleur ( http://www.schells.com/intellicart.shtml )
Fonction de Transition
Etat futur
Mmoire d'Etat
Etat courant
Fonction de Sortie
Composants : CPLD
Apparition dans les 80s. Capacit : 10000 portes (500 macrocells). Configuration stocke on-chip . Langages de haut niveau (HDLs).
Composants : FPGA
Extension des CPLD, architecture plus flexible Capacit : millions de portes Configuration stocke sur EEPROM externe lments ddis : RAM, multiplicateurs, CPU cores...
Source : http://www.chrec.ufl.edu/
Verilog
Origine : industrie Syntaxe proche du C Plus simple dapprentissage, plus concret
Saisie de schmas
Remdes
Simulation Rapports de synthse Visualisation loscilloscope, analyseur logique
-- horloge et reset asynchrone process(clk, reset) if (reset = 0) then elsif clkevent and clk = 1 then end if; begin end process;
-- simulation : gnration dune horloge process begin clk <= 0; wait for 20ns; clk <= 1; wait for 20ns; end process;
Exemple dinterface
Caractres lire et crire Signal de demande dcriture Signal busy en criture Signal de demande de lecture Signal avail en lecture Reset
begin
process(clk, reset) begin if reset = 0 then -- rinitalisation (non dtaille) elsif rising_edge(clk) then -- gestion des signaux de contrle (non dtaille) serclk_cnt <= serclk_cnt + 1; if serclk_cnt = 103 then serclk_cnt <= (others => '0'); -- unit de rception -- unit dmission end if; end if; end process; end rtl;
Divers
http://jeanfrancoisdelnero.free.fr/floppy_drive_emulator/index.html Emulation de lecteur de disquette avec interface USB Custom CPUs http://www.tripoint.org/kevtris/ (le site de Kevin Horton : NES, Intellivision, SID) http://torlus.com/ (Blog ddi au dveloppement)
En pratique
Outils et composants Interfaage avec dautres systmes Ralisation de PCB
Divers
Plaques de cuivre simples Feutres pour CI Gomme abrasive