Documente Academic
Documente Profesional
Documente Cultură
TELECOMMUNICATIONS Electronics I
Developed by:
Alex Murillo Ruiz (nota proposada 7,5)
- First minimum control: deadline: March 23rd 19:00. Grades will be available on March, 26th.
- Questions about the exam: Monday 12:00-14:00; Tuesday 15:00-16:00, 18:00-19:00 ; Thursday 10:00-12:00
- VERY IMPORTANT: Follow general instructions1 to solve the problem
CI2
A[5..3]
X[2..0]
GT
GT
B[5..3] EQ
Y[2..0] EQ
LT
LT
Gi
Ei
CI1 Li
W1
W2
W3
A[2..0] COMP3
X[2..0]
GT
B[2..0]
Y[2..0] EQ
LT
Gi
Gi
Ei
Ei
Li
Li
COMP3
a) b)
Fig. 1 a) Entity for the 6-bit expandable comparator. b) Example of an internal architecture based on a structure of
smaller elements of the same kind.
X[2..0] Y[2..0] Gi Ei Li GT EQ LT
X>Y x x x 1 0 0 X is grater than Y
X<Y x x x 0 0 1 X is lesser than Y
1 0 0 1 0 0 GI input decides
X=Y 0 1 0 0 1 0 EI input decides
0 0 1 0 0 1 LI input decides
Fig. 2 Function table for the cascadable 3-bit comparator COMP3 which is used as a basic component
1
http://epsc.upc.edu/projectes/sed/SED/grups_classe/05-06_Q1/2AT4/COMPORTAMENT_INDIVIDUAL.pdf. Student interview
about the submitted work may be also requested
Design Flow: metodología de trabajo Fig. 3
Desing Flow
Estudiamos las especificaciones de nuestro
proyecto: Cuantas entradas, y cuantas
salidas tendrá, cual debe ser su
funcionamiento..
Simulación
Desing Flow
Project with ispLever
Desarrollo del código VHD a partir de Cuando tengamos escrito nuestro fichero VHDL
nuestras funciones lógicas, truthtable’s… (extensión .VHD), utilizaremos el programa ispLever
OPTIMIZADAS / SIMPLIFICADAS para programar nuestro chip GAL22V10
No funciona!
Sí funciona!
Si no funciona revisaremos
de nuevo la tabla de la
Con este archivo programaremos
verdad y la volveremos a Obtenemos
nuestro chip en ISIS-Proteus para
escribir. nuestro fichero
realizar las comprobaciones
.jed
pertinentes.
Simulación
No podemos garantizar que el fallo haya sido en ISIS- Comparamos los resultados que
de la implementación del JED file, Proteus obtengamos en la simulación de ISIS-
estudiaremos el sistema desde el principio Proteus con la turthtable incial
revisando todos nuestros pasos.
Fig. 4 Diagrama de bloques con la especificación de los pasos para desarrollar un proyecto en ispLever
2. Write down the high level or behavioural VHDL code directly as a single block as in Fig. 1a planning
writing first an algorithm or a flowchart.
Hemos desarrollado en código VHDL (Fig. 5) directamente el bloque representado en Fig. 1 como bloque
comparador de 9 Bits de entrada y 3 de salida, repartidos de la siguiente forma:
Inputs
o A[2..0] Bus de datos de 3 cables.
o B[2..0] Bus de datos de 3 cables.
o Gi Indicación de que A > B (ambos buses contienen número en binario natural)
o Ei Indicación de que A = B
o Li Indicación de que A < B
Outputs
o Go Indicación de que A > B
o Eo Indicación de que A = B
o Lo Indicación de que A < B
Código .VHD Comparador 3 Bits Tested on: ispLever, Quartus, ModelSim, ISIS-Proteus
---------------------------------------------------
-- VHDL Comparator_3Bits_Escalable By Murillo ^^
-- alex@murilloruiz.com // no SPAM!
---------------------------------------------------
LIBRARY ieee;
USE IEEE.STD_LOGIC_1164.all;
ENTITY COMPARADOR_3BITS IS
PORT (
A,B : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
Gi,Ei,Li : IN STD_LOGIC;
Go,Eo,Lo : OUT STD_LOGIC
);
END COMPARADOR_3BITS;
BEGIN -- architecture
END PROCESS;
END Comportamiento;
Un circuito comparador combinatorio compara dos entradas binarias (A y B de n bits) para indicar la relación
de igualdad o desigualdad entre ellas. Compara las entradas utilizando las relaciones siguientes: A igual B, A
mayor que B y A menor que B. Cada una de estas relaciones se activara solo cuando la relación a la que
corresponde sea verdadera, es decir, su salida será 1 y las otras dos producirán una salida igual a cero.
Para desarrollar dicho circuito, primero necesitaremos definir su funcionamiento, en nuestro caso hemos
elegido desarrollar una truthtable (Fig. 6) que nos permita determinar su funcionamiento.
end
Fig. 6 TruthTable que define el funcionamiento de nuestro circuito adaptado para Minilog.exe
Una vez simplificada la truthtable (Fig. 7) podemos pasar a adaptar nuestras salidas a un archivo VHDL y
compilar este mismo en ispLever para poder adaptar el archivo .JED (jed file) de salida del compilador en
nuestro chip simulado en ISIS-Proteus.
Debido a las limitaciones del GAL22V10 solo 22 entradas, implementaremos un comparador de 3 bits y
lo escalaremos para obtener el de 6 Bits usando nuestro VHDL programado anteriormente (véase Fig. 5)
Fig. 7 Archivo de salida de Minilog.exe con las funciones simplificadas.
A continuación compilamos nuestro VHDL (Fig. 5) en ispLever obteniendo un .JED como archivo de salida
(véase Fig. 8), gracias al cual podremos programar nuestro chip GAL22V10 y simularlo para comprobar su
funcionamiento.
Finalmente solo nos queda testear el GAL22V10 implementado en ISIS-Proteus y programado con nuestro
archivo .JED, comprobamos que efectivamente funciona correctamente, tal y como determinamos que debería
funcionar Fig. 9.
Fig. 8 JED File resultado de nuestro comparador de 3 Bits.
Desing Flow
Project with Altera Quartus
Desarrollo del código VHD a partir de Cuando tengamos escrito nuestro fichero VHDL
nuestras funciones lógicas, truthtable’s… (extensión .VHD), utilizaremos el programa ispLever
OPTIMIZADAS / SIMPLIFICADAS para programar nuestro chip MAX7128S
No funciona!
Sí funciona!
Si no funciona revisaremos
de nuevo la tabla de la
Con este archivo simularemos el
verdad y la volveremos a Obtenemos
funcionamiento del sistema con el
escribir. nuestro fichero
programa ModelSim de la
.pof
compañía Altera.
Simulación
No podemos garantizar que el fallo haya sido Altera Comparamos los resultados que
de la implementación del VHDL, ModelSim obtengamos en la simulación del Altera
estudiaremos el sistema desde el principio ModelSim con la turthtable incial
revisando todos nuestros pasos.
Fig. 10 Diagrama de bloques que representa la implementación de nuestro poyecto para Quartus + ModelSim.
5. Write down a structured design as in Fig. 1b using several components. For instance, Fig. 2 shows the
truth table for a 3-bit cascadable comparator Fig. 11.
6. Implement the elemental COMP1 using the logic equations derived from Minilog (single output mode,
sum of products, table output format). Verify your equations using WolframAlpha.
7. Create a multiple-file VHDL-based project in Quartus-II for the MAX EPM7128SLC84-7 CPLD. Test
and simulate your design using ModelSim and a do macro written in TCL language.
8. Print the RTL netlist so that your synthesised circuit can be compared to the initial block diagram proposed
in 5) Fig. 12.
Fig. 12 Salida del Wave al simulador con Altera ModelSim nuestro VHDL
9. Assign pins and generate the output configurations files if the circuit has to be prototyped into a UP2
board.
Pendiente
10. Document your design using the same quality standards and templates for other course exercises. Upload
to your web portfolio your “docx” solution and the other project files and drawings before the due date.
Create a comments section bellow the solution of your exercise, and use it to annotate all commentaries or
problems found during the design process. And finally, if each one of the ten sections in this problem has to be
assessed with a mark of 1 point, suggest your own final mark.