sesion 5 (sopc builder y nios ii)
TRANSCRIPT
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
1/46
Diseo de un procesador NIOS II a medida usando lasherramientas SOPC Builder.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
2/46
2
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
3/46
3
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
4/46
4
CPU
CONTROL
DATAPATH
Unidad de Procesamiento
CPU Memoria
Memoria
Aporta lainteligencia al S.E.
Con/sin memoriainterna.
Usar/no memoriaexterna.
Arquitecturaespecfica.
Perifricos de E/S.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
5/46
5
Lenguaje C para
(sistemasembebidos)S.E.
Programas portables yrobustos.
Tener cdigo C rpido ypequeo.
Identificar loselementos crticos encada programa.
Desarrollar softwarepara el control deHardware: Firmware.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
6/46
6
ASICs: Application Specified Integrated Circuit.
Lgica Reconfigurable: FPGA, CPLD, ...
Procesadores: MPUs, MCUs, DSPs,
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
7/46
CONFIGURACION DEL HARDWARE
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
8/46
Los ncleos de procesadores se pueden implementar
en hardware o software.
Procesadores en hardware: Usan un ncleo deprocesador embebido en silicio dedicado y ofrecen
ventajas hibridas entre FPGA y ASIC.
Procesadores en software: Usan elementos lgicos
programables existentes en el FPGA para implementarla lgica del procesador.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
9/46
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
10/46
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
11/46
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
12/46
Amigobot robot controlado por una FPGA con un procesador Nios.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
13/46
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
14/46
14
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
15/46
15
Utilizando el software EDA de diseo digital Quartus II, laherramienta SOPC (System on Programmable Chip) Builder, elentorno de desarrollo integrado Nios II IDE, todos de AlteraCorporation, implementar la especificacin de un sistema embebido
en el FPGA Cyclone II EP2C20F484C7 que sea capaz de leer de
un puerto un valor pseudo random de 8 bits que sirva comodireccin de memoria SRAM para escribir datos, para que luego
estos datos sean leidos generndose direcciones de manera
secuencial ascendente. La especificacin final debe quedar en
lenguaje de descripcin VHDL, y la implementacin del programapara escritura y lectura en SRAM debe implementarse en lenguaje
ANSI C. El tope de jerarqua del proyecto ser grfico y el nombredel proyecto se llama genera.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
16/46
16
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
17/46
17
Tomar nota que en la figura anterior se tienen los siguientes bloques:
a) debounce.- Este bloque implementa un circuito para eliminar rebotes
causados por la presin de un pulsador (seal key_reset). Cada vez que sepresiona el pulsador, la seal key_reset pasa a 0 pero con rebotes, y alsoltar el pulsador, la seal key_reset pasa a 1 pero con rebotes. La sealdb_button produce un pulso (activo nivel bajo) libre de rebotes por efecto delpresionado y soltado del pulsador. La seal resetn es un reset ascrono delcircuito y la seal clk_50MHz es el reloj del circuito con una frecuencia de50MHz. (este bloque ser entregado)
b) lfsr8bits.- Este bloque implementa dos circuitos. El primero de ellos es uncontador de 8 bits hacia arriba. El segundo es un generador pseudo random
de 8 bits usando la tcnica LFSR (LinearFeedback Shift Register). Cuando laseal sel es 0, la seal salida[7..0] tiene valores pseudo random, ycuando la seal sel es 1, la seal salida[7..0] tiene valores de un contadorhacia arriba. La generacin de los valores de cuenta (pseudo random o
secuenciales) se producen con el flanco de subida de la seal clock. Cuandola seal resetn es 0, ambos circuitos vuelven al valor00H de maneraasncrona. Cuando la seal resetn es 1, permite la operacin sncrona.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
18/46
18
c) procesador.- Este bloque es generado por la herramienta SOPCBuider. Tiene un puerto de entrada de 8 bits llamado lfsr_in_pio (que leeel valor generado por el bloque lfsr8bits) y dos puertos de salida de 1 bit.Uno de estos se llama clock_out_pio (para generar seales de reloj viaprograma en ANSI C) y el otro se llama sel_out_pio para generar laseal sel a ser aplicada al bloque lfsr8bits (tambin via programa en
ANSI C). Tambin tiene interfaz hacia memorias SDRAM y SRAM.
d) clk_pll.- Este bloque es un PLL que sirve para generar la seal de reloja ser aplicada la memoria SDRAM de la tarjeta DE1 de Altera donde se
implementar el proyecto. De los 3 PLLs disponible en la megafucin
ALTPLL, utilizar solo uno y que corresponde a la salida c0.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
19/46
19
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
20/46
20
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
21/46
21
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
22/46
22
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
23/46
23
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
24/46
24
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
25/46
25
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
26/46
26
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
27/46
27
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
28/46
28
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
29/46
29
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
30/46
30
(lfsr_in_pio, clock_out_pio,sel_out_pio)
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
31/46
31
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
32/46
32
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
33/46
33
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
34/46
34
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
35/46
35
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
36/46
36
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
37/46
37
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
38/46
38
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
39/46
39
a) En la barra de men seleccionarSystemAuto-AssignBase Addresses. Con esto los campos de Base y End dela figura 2 se actualizan, para que no exista traslape de
direcciones. Igualmente, seleccionarSystemAuto-Assign
IRQs, para actualizar la lista de IRQs.
b) En la barra de men seleccionarFileSave, salvandotodos los cambios.
c) Presionar el botn Next y luego el botn Generate paragenerar el bloque procesador. Al final, seleccionarFileSave de la barra de men.
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
40/46
40
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
41/46
41
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
42/46
42
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
43/46
43
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
44/46
44
-
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
45/46
45
http://www.palabrasydefiniciones.com/electronica/m.htm
http://users.ece.gatech.edu/~hamblen/book/bookse.htm
http://www.alteraforum.com/
http://www.worldlingo.com/ma/enwiki/es/Nios_II
file:///C:/altera/81/nios2eds/documents/index.htm(cambiar numero segn versin instalada, ejm: 81, 91)
http://www.altera.com/literature/lit-index.html
http://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.html
http://www.palabrasydefiniciones.com/electronica/m.htmhttp://users.ece.gatech.edu/~hamblen/book/bookse.htmhttp://www.alteraforum.com/http://www.worldlingo.com/ma/enwiki/es/Nios_IIhttp://c/altera/81/nios2eds/documents/index.htmhttp://www.altera.com/literature/lit-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/products/software/quartus-ii/modelsim/qts-modelsim-index.htmlhttp://www.altera.com/literature/lit-index.htmlhttp://www.altera.com/literature/lit-index.htmlhttp://www.altera.com/literature/lit-index.htmlhttp://c/altera/81/nios2eds/documents/index.htmhttp://www.worldlingo.com/ma/enwiki/es/Nios_IIhttp://www.alteraforum.com/http://users.ece.gatech.edu/~hamblen/book/bookse.htmhttp://www.palabrasydefiniciones.com/electronica/m.htm -
7/29/2019 Sesion 5 (Sopc Builder y Nios II)
46/46
46