Un exemple de l'algorithme de Little pour le problème du voyageur ...
ENS L3 : Systèmes numériques : de l'algorithme aux circuits
Transcript of ENS L3 : Systèmes numériques : de l'algorithme aux circuits
![Page 1: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/1.jpg)
ENS L3 : "Systèmes numériques :de l'algorithme aux circuits"
Leçon : langages de description de matériel
Sylvain GUILLEY6 décembre 2016
![Page 2: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/2.jpg)
Programme
● EDA (Electronic Design Automation)● Verilog● Exemples
– Elements de base
– C-element
– Table de substitution d'AES
– Pipelines de processeurs
● Synthétisabilité● Exercices : TD en ligne
![Page 3: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/3.jpg)
EDA
![Page 4: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/4.jpg)
EDA
![Page 5: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/5.jpg)
Commands
![Page 6: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/6.jpg)
Test des circuits intégrés
Deux modes, en fonction de TEN
![Page 7: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/7.jpg)
Test des cartes électroniquesBoundary-scan, défini dans le standard IEEE Std.-1149.1
![Page 8: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/8.jpg)
Vérifications finales
DRC : Design Rules CheckLVS : Layout Versus Schematic
![Page 9: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/9.jpg)
Niveaux de description
● Transaction-Level Model● Register-Transfert Level :
– Comportemental
– dataflow
● Netlist (structurel)
![Page 10: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/10.jpg)
Langages
● System-C (IEEE 1666)
– Testbench
– Dimensionnement de performances
● Verilog (IEEE 1076), VHDL (IEEE 1364)
– Simulation + synthèse
– Netlist
![Page 11: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/11.jpg)
SystemC
![Page 12: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/12.jpg)
Syntaxe Verilog
![Page 13: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/13.jpg)
Syntaxe Verilog
![Page 14: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/14.jpg)
Syntaxe Verilog
![Page 15: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/15.jpg)
Syntaxe Verilog
Syntaxic sugar :
Il y a 123 mots réservésdans verilog !
![Page 16: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/16.jpg)
Syntaxe Verilog
![Page 17: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/17.jpg)
Syntaxe Verilog
Ternaires :
![Page 18: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/18.jpg)
Syntaxe Verilog : combinatoire
![Page 19: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/19.jpg)
Syntaxe Verilog : sequentiel
● ez : compteur modulo 2● q : compteur modulo 23, avec enable sur ez● ex : est affecté 2x, mais sous des conditions différentes
![Page 20: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/20.jpg)
Petits exemples de codes en Verilog
![Page 21: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/21.jpg)
Petits exemples de codes en Verilog
![Page 22: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/22.jpg)
Petits exemples de codes en Verilog
![Page 23: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/23.jpg)
![Page 24: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/24.jpg)
C-Element : comportemental
![Page 25: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/25.jpg)
C-Element : structures en transistors
![Page 26: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/26.jpg)
C-Element : structures en transistors
![Page 27: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/27.jpg)
C-Element : structures en transistors
![Page 28: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/28.jpg)
Sboxes en cryptographie (sym.)
AES : Advanced Encryption Standard
NIST FIPS 197Included in ISO/IEC 18033-3 standard
![Page 29: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/29.jpg)
![Page 30: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/30.jpg)
![Page 31: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/31.jpg)
![Page 32: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/32.jpg)
![Page 33: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/33.jpg)
![Page 34: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/34.jpg)
SubBytes = Substitute Bytes
![Page 35: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/35.jpg)
Hardware view
![Page 36: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/36.jpg)
Synthèse logique [1/2]
![Page 37: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/37.jpg)
Synthèse logique
![Page 38: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/38.jpg)
![Page 39: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/39.jpg)
Decode – Permute - Encode
![Page 40: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/40.jpg)
Algebraic structure
Sbox : a → b=a-1, then b → b'
![Page 41: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/41.jpg)
Conclusion for AES
![Page 42: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/42.jpg)
Pipeline de processeurs
● Example on 6502 processor (8 bit) :– download here : https://github.com/chenxiao07/vhdl-nes/tree/master
– read in file vhdl-nes-master/src/free6502.vhd lines 765 to 772
765
772
![Page 43: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/43.jpg)
Pipeline de processeursExample on LEON processor (32 bit) :
see gaisler/leon3v3/iu3.vhd
![Page 44: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/44.jpg)
Synthétisabilité
![Page 45: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/45.jpg)
Assistance à la synthèse
● VHDL– attribute keep of clock_signal_name: signal is "true";
● Verilog– // synthesis attribute keep of clock_signal_name is true;
● Comme des scripts :– set_dont_touch [get_cells I_cdnuser_cts/S_CKsunderM_DLY_1 ]
![Page 46: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/46.jpg)
Fibonacci
● U0 = 0
● U1 = 1
● U2 = U1+U0
● U3 = U2+U1
● ...
![Page 47: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/47.jpg)
Fibonacci en SystemVerilog
![Page 48: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/48.jpg)
Simulation
● vlog fibonacci.sv fibonacci_tb.sv
● vsim fibonacci_tb
![Page 49: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/49.jpg)
Exercice d'arithmétique
![Page 50: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/50.jpg)
Exercice d'arithmétique
Lemmas :
● (x+y) = (x | y) + (xy)● (xy) = (x | y) – (x & y)
![Page 51: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/51.jpg)
Exercice d'arithmétique
Lemmas :
● (x+y) = (x | y) + (xy)● (xy) = (x | y) – (x & y)
Otherwise, consider(a>>1) + (b>>1) + ((a%2 + b%2)>>1)
![Page 52: ENS L3 : Systèmes numériques : de l'algorithme aux circuits](https://reader035.fdocument.pub/reader035/viewer/2022062410/62acbdb41948574e3f726339/html5/thumbnails/52.jpg)
TD (Travaux Dirigés)
● Exercices :– http://perso.telecom-paristech.fr/~guilley/ENS/2016
1206/TP/
● Entrainement de type MOOC :– http://hdl.telecom-paristech.fr/