Version 6 (modified by 4 years ago) (diff) | ,
---|
Synthèse logique de CORDIC
La lecture du cours est nécessaire pour comprendre les principes de l'algorithme CORDIC utilisé pour la rotation.
Objectifs
Dans ce TME, vous devez écrire le modèle VHDL du circuit CORDIC à partir d'une description de l'algorithme en décrit en C.
- Le circuit réalise la rotation d'un vecteur (x,y) par un un angle a.
- Le circuit prend en entrée
- les coordonnées x_p et y_p qui sont des nombres entiers signés de -127 à +127.
- L'angle a_p est exprimé en radian et il est représenté par un nombre en virgule fixe non signé 3-7.
- À l'intérieur du circuit, c'est un nombre en virgule fixe 1-8-7.
- Mais à l'interface, j'ai choisi une représentation non signée 3-7 (port a_p) pour avoir des angles entre 0 et presque 8 radians.
La conversion se fait dans le circuit en recopiant les 10 bits de a_p dans les 10 bits de poids faible d'un registre de 16 bits représentant l'angle, puis en complétant avec des
0
à gauche. C'est un choix pour réduire le nombre de broches, mais vous pouvez faire un choix plus "propre" en codant l'angle en 1-3-7 et faire une conversion avec extension du signe.
- le circuit reçoit aussi une horloge.
- Le circuit produit en sortie les coordonnées (nx_p, ny_p) du vecteur après rotation.
- Le protocole de communication en entrée et en sortie est FIFO.
Fichiers fournis
Attachments (3)
-
cercle.c (2.8 KB) - added by 4 years ago.
specification c de cordic
-
Makefile (254 bytes) - added by 4 years ago.
Complilation et exécution de cecle
-
cordic_cor.vhd (8.6 KB) - added by 4 years ago.
cordic 1 core à compléter
Download all attachments as: .zip