Cambiar asignaciones a pines de un proyecto usando pin planner

Cuestiones generales sobre uso de Quartus y diseño digital con él (las cuestiones que sean específicas de UnAmiga, dirigirlas a "Desarrollo" del foro UnAmiga)
Responder
Avatar de Usuario
Subcritical
Spartan 3
Mensajes: 225
Registrado: 24 Ago 2018, 14:52

Cambiar asignaciones a pines de un proyecto usando pin planner

Mensaje por Subcritical » 04 Dic 2018, 15:07

Secuencias de imágenes para cambiar pines en un proyecto ejemplo en unamiga cambiar led de salida naranja por rojo
001-Asignaciones.png
001-Asignaciones.png (194.33 KiB) Visto 10127 veces
Abrir el proyecto pwm sobre un led.
002-Abrir proyecto.png
002-Abrir proyecto.png (231.14 KiB) Visto 10127 veces
003-Cambiar Localizaciones de los pines en pin planner.png
003-Cambiar Localizaciones de los pines en pin planner.png (276.74 KiB) Visto 10127 veces
Ejecutrar en el menú assignements --> Pin planner.
004-Compilar.png
004-Compilar.png (195.22 KiB) Visto 10127 veces
Una vez cambiada la asignación del pin dar a --> Start Compilation.

Avatar de Usuario
jepalza
Spartan 3
Mensajes: 226
Registrado: 14 Ago 2018, 18:51

Re: Cambiar asignaciones a pines de un proyecto usando pin planner

Mensaje por jepalza » 05 Dic 2018, 06:58

Yo lo hago "a mano", que aunque parezca mentira, es mil veces mas rápido que con quartus. Editas con un editor de textos (notepad++) el fichero con el nombre del proyecto y extensión QSF, y puedes copiar/pegar en bloques todo de golpe. En 1 minuto has preparado un core de otro sistema, si tienes una plantilla guardada, como tengo yo. Me hice una para cada una de las placas que he usado para portar cores (U16 y MIST sobretodo), y solo tengo que copiar/pegar y cambiar cuatro cosas.

ejemplo QSF:

Código: Seleccionar todo

#
# reloj principal de 50mhz
set_location_assignment PIN_E1 -to CLOCK_50
#
# RESET PRINCIPAL
set_location_assignment PIN_J16 -to KEY[0]
#set_location_assignment PIN_J15 -to KEY[1]
#
# LED HD, FD, sistema
set_location_assignment PIN_C2 -to LEDS[0]
set_location_assignment PIN_B1 -to LEDS[1]
#set_location_assignment PIN_M8 -to LEDS[2]
#
# ALTAVOZ PIEZOLECTRICO
#set_location_assignment PIN_M6 -to PIEZO
#
# RATON
set_location_assignment PIN_T4 -to PS2_MCLK
set_location_assignment PIN_R5 -to PS2_MDAT
#
# TECLADO
set_location_assignment PIN_E7 -to PS2_CLK
set_location_assignment PIN_F1 -to PS2_DAT

Avatar de Usuario
Subcritical
Spartan 3
Mensajes: 225
Registrado: 24 Ago 2018, 14:52

Re: Cambiar asignaciones a pines de un proyecto usando pin planner

Mensaje por Subcritical » 30 Ene 2019, 14:37

Imagen


Mirando los repositorios de multicore2 al unamiga le faltaba una memoria sram de 8bit y 512kbytes de ram igual a la que tiene el zxuno, me fijé en vectrex y cuando estuvo disponible dicha sram apliqué el concepto de plantilla, si he logrado verlo en el unamiga-con-sram pero no se si he cometido errores porque no veo un menú por ningún lado.
Sí funciona tanto el mando de juegos con ayuda de benitoss así como el teclado.

El hithub de multicore2:
https://gitlab.com/victor.trucco/Multicore

En vectrex el qsf que he aplicado es este que he hecho y que se puede aplicar como plantilla como bien dices Joseba ya que he visto que el vic20 funciona:
mc2.zip
(3.23 KiB) Descargado 516 veces
Pisando directamente el fichero mc2.qsf hay versión de vectrex para unamiga-sram pero sin menú de carga para roms o no he conseguido habilitarlo.

Algunas pantallas:
photo_2019-01-30_14-39-25.jpg
photo_2019-01-30_14-39-25.jpg (140.37 KiB) Visto 10024 veces
photo_2019-01-30_14-39-41.jpg
photo_2019-01-30_14-39-41.jpg (56.04 KiB) Visto 10024 veces
Usando parte de dicho fichero para sintetizar el vic20:
photo_2019-01-30_14-48-36.jpg
photo_2019-01-30_14-48-36.jpg (95.06 KiB) Visto 10020 veces

Avatar de Usuario
Subcritical
Spartan 3
Mensajes: 225
Registrado: 24 Ago 2018, 14:52

Re: Cambiar asignaciones a pines de un proyecto usando pin planner

Mensaje por Subcritical » 01 Feb 2019, 11:03

He creado la siguiente plantilla csv para portar los juegos de multicore_I, se usa como fuente para importar asignaciones en quartus, y es el fichero más minimalista donde aparecen dos columnas To la variable y Location el nombre del pin.
Esta información puede ser tratada por bases de datos así como hojas de cálculo, es a todos los efectos una plantilla interesante.

Como muestra de que funciona el galaxian corriendo en unamiga una vez aplicada la plantilla y sintetizado:
photo_2019-02-01_11-14-13.jpg
photo_2019-02-01_11-14-13.jpg (143.28 KiB) Visto 9985 veces
Como nota curiosa las variables definidas en multicore_I siguen la misma nomenclatura en multicore_II por lo que hace la tarea mucho más fácil.
Adjuntos
plantilla_multicore_I.zip
(604 Bytes) Descargado 408 veces

Responder

Volver a “Quartus”