Sunteți pe pagina 1din 5

1

Matlab-VHDL
Universidad De Las Fuerzas Armadas ESPE
ergordon@espe.edu.ec
jegallegos@espe.edu.ecu
neonofa@espe.edu.ec

Resumen En el presente documento se muestra las


caractersticas principales de Simulink HDL Coder y Filter
Design HDL Coderadems de las diferentes opciones con las que
se cuenta para poder crear un archivo con cdigo VHDL desde el
software Matlab.
Palabras clave HDL, VHDL, Matlab, Simulink,

A. INTRODUCCIN
En los ltimos aos, el incremento de transistores en obleas
de silicio han sido tiles para el desarrollo de circuitos
integrados y a la vez han clasificado a estos por escalas de
integracin, permitido
tener dispositivos lgicos
programables, los mismos que tienen una serie de
interruptores que se programan para configurar sus circuitos
internos, este tipo de programacin maneja lenguaje de
descripcin de hardware (HDL), adems es ms rpida en
comparacin a programacin por software como java, basic, C
etc. ya que realiza sus acciones dependiendo de la
programacin todas a la vez y no lnea por lnea. El cdigo
HDL sirve para implementar diseos sobre FPGAs y ASICs,
considerando que la tecnologa de arreglos de compuertas
programables en campo est siendo impulsada para
aplicaciones tiles en ingeniera. La compaa Matworks ha
presentado simulink HDL coder para generar automticamente
lenguaje de descripcin de hardware, facilitando a los
programadores identificar inmediatamente el mejor algoritmo
para la implementacin del hardware y as optimizar tiempo.
Desarrollo del artculo

Lenguaje de descripcin de
hardware
Lenguaje para programar un
dispositivo

Lenguajes de computadoras

Hardware

Software

Instrucciones ejecutadas en
forma concurrente
(todas al mismo tiempo)

La velocidad en la ejecucin
del programa
depende de la velocidad de la
computadora

Lenguaje para programar un


dispositivo

Ilustracin 1. Diferencias entre Lenguaje de descripcin por


Hardware y Lenguajes de Computadoras

C. CDIGO HDL DESDE MATLAB


El flujo de trabajo de HDL, en el HDL Coder convierte
automticamente el cdigo MATLAB y puede generar Verilog
sintetizable y cdigo VHDL.

SIMULINK

MATLAB

B. HDL
Es un lenguaje de descripcin de hardware que permite
documentar las interconexiones y el comportamiento de
un circuito electrnico, sin utilizar diagramas esquemticos.
Fue desarrollado para hacer frente a la creciente complejidad
de los diseos.

HDL
Coder

VERILOG y VHDL

Ilustracin 2Generacin de cdigo HDL desde Matlab y simulink

a. Simulink HDL Coder


HDL Coder genera cdigos Verilog y VHDL mediante
programacin de bloques con Simulink. El cdigo HDL

generado puede ser utilizado para la programacin FPGA o


ASIC.

Carcatersticas de
Simulink HDL Coder

Genera cdigo Verilog y


VHDL automticamente
a partir de modelos de
Simulink.
Permite generar
hardware y software
desde el mismo modelo
de Simulink.

Ilustracin 3. Carcatersticas de Simulink HDL Coder

D. FILTER DESIGN HDL CODER


El Filter Design HDL Coder aade la capacidad de
implementacin de hardware de MATLAB. Esto le permite
generar eficiente, sintetizable y porttil VHDL y Verilog
cdigo para filtros, para su implementacin en FPGAs o
ASICs

Modelo de su diseo
utilizando una combinacin
de cdigo de MATLAB,
Simulink bloques y
diagramas de Stateflow.

Verificar el cdigo
generado utilizando
HDL Verificador

Optimizar modelos
para satisfacer los
objetivos de diseo,
zona velocidad.

Generar cdigo HDL


utilizando el ssesor de
HDL Workflow
integrado para
MATLAB y Simulink.

Ilustracin 4Generacin de cdigo HDL con MATLAB

Procedimiento para Generar Cdio VHDL desde Simulink


Se crea una aplicacin usando los bloques de Xilinx
disponibles en simulink como se muestra en la siguiente
figura.

Para disear un filtro toma en consideracin:

Tipo de filtro(Pasa-bajo, Pasa Alto, Pasa- Banda,


Rechaza banda)

Diseo del filtro (FIR, IIR)

Frecuencias de trabajo

Magnitud

Luego abrimos el bloque System Generator, y se llena las


especificaciones de la tarjeta FPGA y la carpeta en donde
queremos guardar nuestro cdigo HDL.

E. PROCEDIMIENTO PARA GENERAR CDIGO


VHDL CON MATLAB
HDL Coder permite generar cdigo HDL sintetizable en
FPGA y ASIC implementaciones en unos pocos pasos:

Se hace clic en generate, aparecer que la generacin se ha


completado.

Procedimiento para generar Cdigo VHDL desde un archivo


.m
Usamos dos archivos en punto m previamente guardados en
una carpeta para generar el cdigo VHDL
Lugo en el men principal escogemos la opcin generador de
cdigo
En la carpeta seleccionada se abra creado un archivo del tipo
VHDL.

Procedimiento para generar Cdigo VHDL de filtros


Para generar el cdigo una vez diseado el filtro se debe
seguir los siguientes pasos:
1.
2.

En el men de opciones se escoge target y luego


Generate HDL
En la interfaz que aparece se coloca el nombre del
diseo y la carpeta donde se va a generar el cdigo

Luego se abrir una ventana con el titulo MATLAB HDL


Coder Project en donde se coloca el nombre que se dar al
cdigo generado y el lugar donde se guarde y hacemos clic en
OK

Se abrir una ventana en donde cargaremos los archivos.m

3.

Luego hacemos clic en Generate y empezara a


generarse el cdigo VHDL

Cargados los dos archivos .m damos clic en la parte izquierda


de abajo en Workflow Advisory aparecer una ventana donde
finalmente configuraremos la generacin de cdigo VHDL

F. CONCLUSIONES

Con la ayuda de Simulink HDL Coder y Filter


Design, la creacin de un archivo con el cdigo Vhdl
para su posterior implementacin en tarjetas FPGA o
ASIC se lo realiza de manera muy sencilla
permitiendo ahorrar tiempo.
Los algoritmos VHDL y VERILOG generados por
hdl coder, son verificables con otras plataformas
como Xilinx, adems proporciona optimizacin de
cdigo y mayor velocidad de ejecucin.
Los cdigos fuente en lenguaje de programacin
VHDL con Los scripts de MATLAB son totalmente
diferentes. Los scripts de MATLAB son secuenciales,
en su lugar VHDL es inherentemente concurrente.

G. RECOMENDACIONES

En caso de tener Windows 8, se debe instalar una


mquina virtual, el software ISE desing Suite no es
compatible con este sistema operativo.
Cuando se instale ISE desing Suite Xilinx, marcar
la opcin que permite incluir los bloques de Xilinx en
Matlab
Cuando se realiza diseos con bloques de Xilixs,
tener presente el tipo de dato que cada bloque entrega
a la salida.
Cuando se hacen filtros, para generar el cdigo HDL
previamente se debe correr en el Command Window
el comando >>hdlcodegenmode('reset').

H. BIBLIOGRAFA
[1]. MathWorks. HDL coder [Online]. Disponible en
http://www.mathworks.com/products/hdlcoder/index.html extrado el 7 de junio del 2014
[2]. MathWorks filter desing HDL coder [Online].
Disponible en
http://www.mathworks.com/products/filterhdl/descrip
tion1.html extrado el 7 de junio del 2014
[3]. Diarioelectronicohoy.com. (2014). Generacin de
cdigo DHL [Online]. Disponible en
http://www.diarioelectronicohoy.com/generacion-decodigo-hdl/ extrado el 7 de junio del 2014
[4]. Infodefensa.com. MathWorks incorpora la
generacin y verificacin de cdigo HDL en
MATLAB. Disponible en
http://www.infodefensa.com/es/2012/03/06/noticia-

[5].

[6].

[7].

[8].

[9].

mathworks-incorpora-la-generacion-y-verificacionde-codigo-hdl-en-matlab.html extrado el 7 de junio


del 2014
El Spary. Maltab 2012. [Online]. Disponible en
http://elspray.wordpress.com/2012/03/19/el-nuevomatlab-2012/ extrado el 7 de junio del 2014.
Integrating Xilinx System Generator with Simulink
HDL Coder [Online]. Disponible en
http://www.ipsiagiorgi.it/modellazione_hardware/inte
grareSystGen_Simulink.pdf extrado el 7 de junio del
2014.
Matlab, simulink and HDL (2009). [Online].
Disponible en
http://hdfpga.blogspot.com/2009/09/matlab-simulinkand-hdl.html extrado el 7 de junio del 2014.
Generacin d cdigo HDL desde simulink [Online].
Disponible en
http://www.mathworks.com/services/training/courses
/SLHL_1.html?s_iid=desc_custom_HD_cta3
extrado el 7 de junio del 2014.
MathWorks. HDL code generation and verification
[Online]. Disponible en
http://www.mathworks.com/hdl-code-generationverification/ extrado el 7 de junio del 2014.

I.

AUTORES

Joselyn Estefana Galleos Valenzuela naci en Quito,


Ecuador, el 07 de Noviembre de
1992. Realiz sus estudios primarios
y secundarios en la Unidad Educativa
Prez Pallares al sur de Quito,
gradundose de bachiller en Fsico
Matemtico. Al momento se halla
cursando sexto nivel de Ingeniara
Electrnica en Automatizacin y
Control, en la Universidad de las
Fuerzas Armadas ESPE. Actualmente
trabaja como profesora en el PreUniversitario Stephen Hawking al sur de Quito

Edwin Rolando Gordon Hidalgo


naci en Quito, Ecuador,. Realiz sus
estudios primarios en la escuela Mara
Augusta Urrutia y secundarios en en
Colegio tcnico Cinco de Julio
gradundose de bachiller en Fsico
Matemtico. Al momento se halla
cursando sexto nivel de Ingeniara
Electrnica en Automatizacin y
Control, en la Universidad de las Fuerzas Armadas ESPE.

Noem Eliana Onofa Cuichn: Naci


el 23 de enero de 1993 en SangolquEcuador. Termin la primaria en la
escuela Alberto Acosta Sobern y la
secundaria en la Unidad Educativa
Experimenta Manuela Caizares de
quito gradundose de bachiller en
fsico matemtico en el 2010.
Actualmente cursa quinto semestre de
la carrera de Ingeniera Electrnica Automatizacin y Control
en la Escuela Politcnica del Ejrcito

S-ar putea să vă placă și