VHDL y ciclo de desarrollo
para FPGAs
Con la capacidad de las FPGAs pasando las 25000 puertas equivalentes,
las metodologías de diseño para FPGAs no son aplicables a
esta escala. La captura de esquemas, la más comunmente usada metodología,
no ha sido muy usada para diseños de tales tamaños. En su
lugar, los diseñadores han tomado los lenguajes de descripción
de hardware, tales como VHDL, Abel, Verilog, ..., que acompañados
con herramientas de simulación y síntesis lógica ofrecen
una forma más comprensiva y estructurada metodología de diseño
llamada “diseño de alto nivel”.
En el pasado, los diseños de alto nivel han sido un proceso de
iterar un diseño a traves de las herramientas de alto nivel en la
búsqueda de alcanzar los requerimientos de área y/o velocidad
del diseño. Una iteración consistía del paso del diseño
a través de los pasos de síntesis y diseño físico
y recién allí verificar el diseño producido. En el
paso de verificación, se utiliza simulación para asegurar
la correctitud funcional. El análisis estático de tiempo
es usado para encontrar violaciones de tiempo y caminos críticos
del circuito. Luego, el diseñador puede usar el informe del analizador
de tiempos para determinar las violaciones de tiempo. Luego el diseño
es nuevamente iterado a través del flujo de diseño de las
herramientas de alto nivel.
Design Flow
-
Behavioral simulation. The ModelSim simulator verifies the functionality
of the behavioral VHDL description. The simulation test vectors are captured
for verification of the design after place-and-route. Verification at later
stages ensures that the design continues to be functionally equivalent
to the behavioral design.
-
Behavioral synthesis. Synthesis optimizes the design for area and/or speed
and produces a structural netlist in XNF, the Xilinx netlist format. The
optimized design can be viewed using the schematic viewer Galileo NetScope.
At this step, accurate information about delays in the circuit due to out-put
loads and wire delays is not available. Consequently, optimization for
speed uses estimated wire delays and cell delays from the synthesis libraries.
-
FPGA placement and routing. The structural XNF netlist is placed and routed
using XACTstep which then generates an XNF netlist. The XNF netlist is
annotated with timing information derived from the layout.
-
Post place-and-route timing analysis. Static timing analysis at this stage
uses post place-and-route delay infor-mation and identifies sections of
the circuit that have timing problems.
-
Timing annotated high-level netlist creation. The timing annotated XNF
netlist is input to Galileo Time Explorer, which generates a structured
VHDL netlist and a Standard Delay Format (SDF) file. This SDF file, along
with the Exemplar VITAL-compliant libraries for Xilinx, are used with ModelSim
for simulation with timing information.
-
Simulation of the timing annotated high-level design. ModelSim simulates
the structural VHDL netlist and the SDF file using the vectors captured
in behavioral simulation. ModelSim has accelerated the simulation of VITAL
libraries by embedding VITAL primitives as built-in C functions into the
simulator.
-
Verification with ModelSim. ModelSim can be used to verify the structural
netlist against the behav-ioral netlist by using a VHDL testbench. A VHDL
testbench is a feature of VHDL that enables the user to generate vectors
to a device under test (DUT) and verify the response of the DUT.
-
Improving the design to meet timing constraints. The results of the static
timing analyzer and the results of the simulation with annotated delays
allows the user to verify the function of the design, and to identify the
parts of the circuit critical to speeding up the circuit to satisfy timing
constraints. The original high-level design can be given timing constraints,
or altered if necessary, to produce a circuit that meets timing requirements.
In the next iteration of the high-level design flow, new timing constraints
influence the synthesis algorithms.
Con el incremento de la complejidad de los diseños sobre FPGAs
y la demanda de tiempos de desarrollo más cortos, hay significantes
beneficios de reducir el número de iteraciones entre las herramientas
de síntesis y simulación y las herramientas de place-and-route.
Rerencia: 'VHDL and VITAL design flow for Xilinx
FPGAs', by Raghu Rao, Mark Beardslee, Shubha Skukla of Exemplar Logic Inc.