VHDL Alliance - PowerPoint PPT Presentation

1 / 17
About This Presentation
Title:

VHDL Alliance

Description:

Permitir descripci n de la estructura de un dise o (descripci n estructural). Especificar la funcionalidad usando estructuras similares a las de lenguajes de ... – PowerPoint PPT presentation

Number of Views:77
Avg rating:3.0/5.0
Slides: 18
Provided by: mariobe1
Category:
Tags: vhdl | alliance | demode

less

Transcript and Presenter's Notes

Title: VHDL Alliance


1
VHDLAlliance
2
VHDL
Desarrollado para el Very High Speed Integrated
Circuits Program del gobierno de EEUU. Luego,
standard de la IEEE. Objetivos para el
lenguaje Permitir descripción de la estructura
de un diseño (descripción estructural). Especifica
r la funcionalidad usando estructuras similares a
las de lenguajes de programación familiares (Ada)
(descripción de comportamiento). Simulación de
los diseños. Permite describir un componente
mediante dos enfoques comportamiento y
estructura.
3
Comportamiento vs Estructura
Comportamiento Enfoque caja negra Se
especifican las salidas en función de las
entradas. En una descripción jerárquica, las
hojas son descripciones de comportamiento. Ej
a2_y.vbe (compuerta AND de dos entradas)
Estructura Enfoque caja blanca Se especifica la
manera de interconectar los componentes que
forman el diseño. En una descripción jerárquica
los nodos internos especifican estructura. Ej
mux4.vst (multiplexor de 4 a 1 de 1 bit de ancho).
4
Tipos de Datos
Tipos de datos escalares (númericos, enumerados,
algunos predefinidos) y compuestos (arreglos y
records). Para nuestro trabajo nos vamos a
manejar con los siguientes tipos BIT type BIT
is (0, 1) BIT_VECTOR type BIT_VECTOR is
array ( range ) of BIT Donde el rango se
especifica de la siguiente manera range
simple_expression direction simple_expression dire
ction to downto Ej Entrada_ALU
BIT_VECTOR (0 to 5) Salida_ALU BIT_VECTOR (8
downto 3)
5
Describiendo comportamiento
Entity componente is generic( declaraciones
genéricas ) port( declaraciones de
ports ) End componente Architecture
comportamiento of componente is Begin descripción
de comportamiento End comportamiento
6
Ejemplo a2_y.vbe
ENTITY a2_y IS GENERIC ( CONSTANT area
NATURAL 1008 -- area CONSTANT cin_i0
NATURAL 39 -- cin_i0 CONSTANT tpll_i0
NATURAL 1244 -- tpll_i0 CONSTANT rdown_i0
NATURAL 2048 -- rdown_i0 CONSTANT
tphh_i0 NATURAL 1122 -- tphh_i0
CONSTANT rup_i0 NATURAL 1848 -- rup_i0
CONSTANT cin_i1 NATURAL 39 -- cin_i1
CONSTANT tpll_i1 NATURAL 1319 -- tpll_i1
CONSTANT rdown_i1 NATURAL 2048 --
rdown_i1 CONSTANT tphh_i1 NATURAL
1029 -- tphh_i1 CONSTANT rup_i1 NATURAL
1848 -- rup_i1 ) Sigue en la próxima
transparencia
7
Ejemplo a2_y.vbe
PORT ( i0 in BIT -- i0 i1 in BIT -- i1
t out BIT -- t vdd in BIT -- vdd vss
in BIT -- vss ) END a2_y -- Architecture
Declaration ARCHITECTURE behaviour_data_flow OF
a2_y IS BEGIN ASSERT ((vdd and not (vss))
'1') REPORT "power supply is missing on
a2_y" SEVERITY WARNING t lt (i0 and i1) END
8
VHDL - Especificando estructura
  • Definir interfaz del componente.
  • Entity identifier is
  • entity_header
  • entity_declarative_part
  • end identifier
  • entity_header
  • generic_clause
  • port_clause
  • generic_clause generic (generic_list)
  • port_clause port( port_list)
  • Cada elemento del generic_list es de la forma
  • constant identifier_list in
    subtype_indication expression
  • Cada elemento del port_list es de la forma
  • signal identifier_list mode
    subtype_indication bus expression

9
Ejemplo
Entity alu1 is port( a in bit b in
bit carry_in in bit res out
bit carry_out out bit vdd, vss in
bit) end alu1 alu1 será una entidad con tres
puertos de entrada de un bit cada uno (a, b,
carry_in) , y dos puertos de salida (res,
carry_out) de un bit cada uno, además de las
señales de tierra y alimentación. Ahora, queda
declarar los componentes de nuestra entidad,
instanciarlos y definir su interconexión gt la
arquitectura de nuestro diseño.
Puertos de entrada
Puertos de salida
10
Describiendo la arquitectura
architecture identifier of entity_name
is architecture_declarative_part begin architectur
e_statement_part end identifier En la parte
declarativa en general pondremos declaraciones de
señales internas o de componentes. signal_declarat
ion signal identifier_list
subtype_indication register bus
expr. component_declaration component
identifier generic_clause port_clause
end component En la parte de
comandos instanciaremos los componentes, de la
siguiente manera.
11
Instanciando componentes
component_instatiation_statement label
component_name generic_map_aspect port_map_as
pect Ejemplo enable_gate nand3 port map ( a
gt en1, b gt en2, c gt int_req, y gt
interrupt) parameter_rom read_only_memory gener
ic_map (data_bits gt 16, addr_bits gt
8) port_map (en gt rom_sel, data gt param, addr
gt a (7 downto 0) Ahora, pasemos a un ejemplo
completo.... Construyamos un XOR usando
compuertas AND y NOT.
12
XOR con AND, OR y NOT
A xor B (A and (not B)) or ((not A) and B)
13
Diagrama del circuito
n1_y
a2_y
A
o2_y
B
14
Alliance
Conjunto de herramientas para desarrollo y
validación de circuitos utilizando VHDL como
lenguaje. Disponible para Linux y Windows
Licencia GNU Provee muchas herramientas Asimut Ge
nlib Bsg Rage Mips_asm Etc... En esta primer
parte, vamos a utilizar la herramienta de
simulación Asimut.
15
Asimut generalidades
Uso asimut opciones archivo_vhdl
archivo_patrón archivo_resultado Los archivos
VHDL pueden ser descripciones estructurales
(.vst) o de comportamiento (.vbe) Los componentes
referenciados por el archivo_vhdl se buscan
usando el siguiente orden Descripcion de
comportamiento (vbe) en el path
MBK_CATA_LIB. Descripcion estructural (vst) en el
directorio actual. Los resultado se escriben en
el directorio indicado por MBK_WORK_LIB Opciones
mas usadas -c solo compilar. OJO! Muchos
errores se detectan sólo al linkear. Ejemplo
asimut mi_xor prueba_mi_xor resultado_mi_xor
16
Asimut Archivo Patrón
Son archivos que contienen las pruebas a realizar
sobre los componentes. Estructura in out
signal ltnombre_de_señalgt tipo_de_dato Begin ltn
ombre_patrongt ltlista de valoresgt . . End Donde
la ltlista de valoresgt puede contener caracteres
comodín (), valores fijos (1,0) o valores
a validar (?0).
17
Asimut Archivo Patrón ejemplo
Prueba_mi_xor.pat in a B in b B out result
B begin 1 0 0 2 1 0 3 0 1 4 1
1 end
Write a Comment
User Comments (0)
About PowerShow.com