Logotipo de Zephyrnet

Generador de sistemas Xilinx para DSP Chronicles: generación de diseño RTL

Fecha:

Xilinx System Generator para DSP proporciona un entorno de diagrama de bloques para el diseño basado en modelos y una plataforma de integración de sistemas que permite que los componentes RTL, Simulink®, MATLAB® y C / C ++ de un sistema DSP se unan en un único entorno de simulación e implementación para Xilinx FPGA dispositivos.

Se compone de un conjunto de bloques predefinidos, optimizados y listos para usar para modelar, simular y analizar los algoritmos y generar el banco de pruebas, los vectores de prueba y finalmente el código HDL para acelerar el desarrollo de FPGA.

System Generator admite los siguientes destinos de compilación para la generación automática de código:

  • Lista de redes HDL
  • Catálogo de IP
  • Punto de control sintetizado
  • Co-simulación de hardware

Configuración de MATLAB

Antes de comenzar, debemos instalar MATLAB y asegurarnos de que MATLAB esté configurado para Vivado Design Suite.

Esto se hace de la siguiente manera:

En Windows:

Abierto (como administrador) Inicio> Todos los programas> Xilinx Design Tools> Vivado 2019.x> System Generator> System Generator 2019.x Configurador MATLAB.

Cuando aparezca la ventana de configuración de MATLAB, seleccione la casilla de verificación de la versión adecuada de MATLAB.

Haga Clic en Aplicá luego DE ACUERDO.

matlab_config.png

En Linux:

Necesitamos asegurarnos de que el ejecutable de MATLAB se encuentre en la variable de entorno $ PATH del sistema Linux.

System Generator en Linux se maneja mediante un script de shell llamado sistema ubicado en elVivado_install_dir> directorio / bin.

Pasos a seguir para el laboratorio:

Esta entrada de blog es el primer laboratorio de una serie que estará dirigida a principiantes que quieran comenzar con Xilinx System Generator para DSP.

Proporciona un enfoque paso a paso para

  1. Modele algoritmos de usuario utilizando el conjunto de bloques del generador del sistema Xilinx
  2. Simular el diseño y visualizar las entradas / salidas para validar el diseño.
  3. Genere el banco de pruebas, los vectores de prueba y el código RTL (VHDL / Verilog) para el diseño.

Los laboratorios se presentarán en el mismo orden que los objetivos de compilación especificados anteriormente.

Paso 1: Invoque System Generator siguiendo el paso a continuación para su sistema operativo:

  • En sistemas Windows, seleccione Inicio> Todos los programas> Xilinx Design Tools> Vivado 2019.x> System Generator> System Generator 2019.x
  • En sistemas Linux, escriba sistema en la línea de comandos

Este paso abre la sesión de MATLAB con el conjunto de bloques System Generator.

Se verá como la siguiente captura de pantalla:

paso 1.png

Paso 2: Cambie el directorio de trabajo a cualquier directorio local donde desee crear modelos Sysgen.

Haga clic en el icono de Simulink que se encuentra en la parte superior derecha de la ventana de MATLAB.

Esto abrirá la página de inicio de Simulink:

paso 2.png

Paso 3: Haga clic en el icono del modelo en blanco debajo de la opción desplegable de Simulink.

Esto abrirá un modelo vacío o sin título con un lienzo de modelo en blanco.

paso 3.png

Paso 4: Haga clic en el icono del navegador de la biblioteca en la ventana del modelo sin título para ver el conjunto de bloques de Xilinx en la ventana del navegador de la biblioteca de Simulink.

Haga clic y expanda el menú Xilinx Blockset para ver diferentes categorías de bloques. Haga clic en la categoría Elementos básicos para ver los bloques sysgen básicos como se muestra a continuación.

paso 4.png

Paso 5: Agregue el bloque de token del generador del sistema al modelo haciendo clic derecho y seleccionando la opción “Agregar bloque al modelo” (Ctrl + I) para definir la tecnología FPGA.

De manera similar, agregue los bloques Gateway In y Gateway Out para definir el límite entre la parte del generador del sistema y la parte de Simulink del diseño.

Nota:   Estos son los bloques obligatorios que deben componer cualquier modelo. Un modelo debe tener al menos un bloque de generador de sistema y puede tener varios bloques de entrada y salida de puerta de enlace según las entradas y salidas del diseño.

paso 5.png

Aquí estamos modelando la operación de adición múltiple, por lo que necesitamos agregar bloques Mult, AddSub y Delay al modelo.

Paso 6: Seleccione el bloque AddSub de la categoría Floating-Point en Xilinx Blockset y haga clic derecho en el bloque, luego haga clic en la opción "Agregar bloque al modelo".

paso 6.png

Paso 7: De manera similar, agregue el bloque Mult de la categoría de punto flotante en Xilinx Blockset y el bloque de retardo de la categoría Elementos básicos al modelo.

El modelo se verá similar al siguiente:paso 7.png

Paso 8: Ahora agregue tres instancias del bloque constante de la categoría Fuentes debajo del conjunto de bloques Simulink del Navegador de bibliotecas de Simulink:

paso 8.png

De manera similar, agregue un bloque de visualización de la categoría Fregaderos en el conjunto de bloques de Simulink.

Estos bloques se utilizan como estímulo para el diseño del generador del sistema.

Paso 9: Conecte los bloques manteniendo presionado el botón izquierdo del mouse y dibujando una línea desde el puerto de origen hasta el puerto de destino.

El modelo completo se verá similar al siguiente:

paso 9.png

Paso 10: Haga doble clic en el bloque Gateway In para abrir el Editor de propiedades, establezca el tipo de datos de entrada según el valor de entrada en Tipo de salida y el período de muestra en la GUI del bloque, luego haga clic en Aceptar.

Repita el mismo proceso para otras entradas:

paso 10.png

Paso 11: Haga doble clic en el token System Generator para cambiar el sistema y los parámetros de simulación.

Asegúrese de que el período del sistema Simulink debajo de la pestaña de reloj sea el mismo que el período de muestra de los bloques Gateway In.

El período del reloj FPGA debe ser un múltiplo entero del período del sistema Simulink.

Haga clic en Aceptar.

paso 11.png

Paso 12: Guarde el diseño haciendo clic en el botón guardar en la barra de herramientas del modelo, asígnele un nombre válido y haga clic en guardar (este paso se puede realizar en cualquier lugar entre los pasos 3-9)

Paso 13: Haga clic en el botón Ejecutar para simular el modelo y validar la salida:

paso 13.png

Paso 14: Haga doble clic en el token System Generator y asegúrese de lo siguiente:

  • La compilación se establece en HDL Netlist
  • La opción de directorio de destino se establece en cualquier directorio válido donde se genera el código RTL (en este ejemplo es netlist)
  • La opción Crear banco de pruebas en la pestaña Compilación está marcada

Para otras opciones iremos con la configuración predeterminada.

Ahora haga clic en Aplicar, luego en el botón Generar.

paso 14.png

Nota: El token de System Generator sirve como panel de control para controlar el sistema y los parámetros de simulación, y también se utiliza para invocar el generador de código.

Paso 15: Tan pronto como se inicia el proceso de generación de código, aparece la ventana de estado como se muestra a continuación:

paso 15.png

Paso 16: Una vez que se completa la generación de código, la ventana de estado le notificará la finalización del proceso de generación de código:

paso 16.png

En el ejemplo de esta captura de pantalla, System generator ha generado con éxito el diseño VHDL RTL para una pieza Kintex-7 xc7k325t-3fbg676, incluidos los vectores de prueba y el banco de pruebas.

Ahora lanza Vivado, abre el netlist / hdl_netlist / Multadd_test.xpr archivo y ejecute el flujo de Vivado como se detalla en la entrada del blog a continuación:

https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Vivado-Design-Entry-Chronicles-RTL-Design-Entry/ba-p/1009342

Pagar PrimeXBT
Opere con los socios CFD oficiales del AC Milan
La forma más fácil de operar con criptomonedas.
Fuente: https://forums.xilinx.com/t5/Design-and-Debug-Techniques-Blog/Xilinx-System-Generator-for-DSP-Chronicles-Generation-of-RTL/ba-p/1064676

punto_img

Información más reciente

punto_img