设计中心
电子设计自动化技术
教师:李平教授(博导)
Email: pli@uestc.edu.cn
Tel: 83201794
设计中心
电子设计自动化技术
第八章
设计中心
用VHDL语言开发FPGA的完整流程
1.文本编辑:用任何文本编辑器都可以进行,也可以用专用的
HDL编辑环境。通常VHDL文件保存为.vhd文件
2.功能仿真:将文件调入HDL仿真软件进行功能仿真,检查逻辑
功能是否正确(也叫前仿真,对简单的设计可以跳过这一步,
只在布线完成以后,进行时序仿真)
3.逻辑综合:将源文件调入逻辑综合软件进行综合,即把语言综
合成最简的布尔表达式。逻辑综合软件会生成.edf(edif)的
EDA工业标准文件。
4.布局布线:将.edf文件调入PLD厂家提供的软件中进行布线,
即把设计好的逻辑安放到PLD/FPGA内。
5.时序仿真:需要利用在布局布线中获得的精确参数,用仿真软
件验证电路的时序。(也叫后仿真)
6.编程下载:确认仿真无误后,将文件下载到芯片中
设计中心
Active-HDL
Creating a Behavioral Design
Functional Simulation
设计中心
Active-HDL4.2
FPGA Express
Foundation
设计中心
Creating a Behavioral Design
? This section will show the following
operations:
– How to use New Design Wizard to create
new design
– How to use New Source File Wizard to
create source files
– How to create your own VHDL code
– Basic operations in Design Browser
– Basic operations with Language Assistant
设计中心
使用Active-HDL4.2编写代码、仿真验证
From the desktop shortcut or the windows start menu, start
Active-HDL4.2
点击下面的按钮,即刻上阵……
设计中心
? Select VHDL Design Entry option
设计中心
? Select Create new design option
设计中心
? Select Create an empty design option
设计中心
设计中心
? Because we are not using synthesis and
implementation tools in this lab, you can
leave Synthesis tool and
Implementation tool settings unchanged
?Set Block Diagram Configuration to
”HDL” and Default HDL Language to
”VHDL”
? Click on the Next button to advance to the
next page
设计中心
设计中心
? In the Type the design name field, enter
Your_Design_name, example: study
? Leave default values in the Select the
location of the design folder box and the
The name of the default working library of
the design box
? Click on the Next button to advance to the
next page
? Click Finish in the last window of the Wizard
设计中心
设计中心
设计中心
设计中心
设计中心
设计中心
设计中心
? To complete the HEX2LED architecture use
the Language Assistant’s template
? Invoke the Language Assistant window
(Tools | Language Assistant menu option)
? Select the Synthesis templates / HEX2LED
Converter item and drag & drop it into the
VHDL editor. You can also use the Use option
from the shortcut menu. This code goes in the
architecture between begin and end.
Note: The code is inserted where the cursor is located in
your file. Check this before you invoke the use command.
设计中心
设计中心
设计中心
设计中心
? The signs by the file name in the Design
Browser show the status of the file:
? - not compiled, or modified after the last compilation
9- succesfully compiled
! - compiled with warnings
8- compiled with errors
设计中心
Functional Simulation
A> 手动加测试激励进行仿真
B> 编写宏文件(*.do)进行仿真
C> 编写测试平台进行仿真
设计中心
A> 手动加测试激励进行仿真
设计中心
? Set the AND2
entity-architecture
pair as top-level
unit for simulation:
— click the "+"
sign next to it
and right click
on the E/A pair
to bring up the
menu
— select Set as
Top Level
option
设计中心
New Waveform
Right Click
设计中心
设计中心
Run
设计中心
B> 编写宏文件(*.do)进行仿真
设计中心
? The force command used from the console or in
macro files lets you create any waveform using the
following syntax:
where more than two pairs of signal value and time can be
specified and -r switch is skipped for aperiodic waveforms
? Select File | New | Macro from the menu
? Type the following lines into the document:
? Note: the spacing must be exact when typing in the above!
The Macro command parameters are case sensitive!
force CLK 0 0, 1 10 ns -r 20 ns
force RESET 1 0, 0 25 ns
force ENABLE 0 0, 1 50 ns
force value1 time1, value2 time2 -r period
设计中心
设计中心
Adding the do file to the project
? Select File | Save as
from the menu, type
Macro_and2 in the
File name box
? select the
Automatically add
new files to design
checkbox.
设计中心
? Right click
Macro_and2.do icon in
the Design Browser and
select Execute from the
shortcut menu.
? Then Run 100ns
设计中心
C> 编写测试平台进行仿真
设计中心
Test Bench Concept
? The figure below illustrates the concept of a test bench
? The process implemented in the architecture body of a
test bench forces desired stimulus on the inputs of the
tested design unit (Unit Under Test = UUT).
设计中心
? Generate Test Bench
? Test Bench Wizard
……
(P.124~P.131)
设计中心
Set as Top-level
Simulation……
设计中心
FPGA Express
设计中心
Active-HDL4.2
FPGA Express
Foundation
设计中心
设计中心
设计中心
设计中心
设计中心
设计中心
设计中心
设计中心
设计中心
设计中心
implementation
设计中心
Active-HDL4.2
FPGA Express
Foundation
设计中心
Flow engine
Timing analyzer
Floorplanner
PROM file formatter
JTAG Programmer
Hardware Debugger
FPGA Editor
*.bit
*.ucf
*.mcs
设计中心
Flow Engine Shows All Design Segments Completed (FPGAs)
设计中心
Flow Engine Shows All Design Segments Completed (CPLDs)
设计中心
.EDF .NGD .NCD .NCD .BIT
.XNF
网表合并、编译逻辑配置映射到
目标元件
为FPGA布局布线
设计中心
? NCD (netlist circuit description)
? NGD (native generic database)
? BIT (a binary file,configuration bitstream)
设计中心
floorplanner
底层编辑器
设计中心
PROM file formatter
可编程ROM文件格式化生成器
生成*.mcs文件
MCS (Intel’s MCS-86 format)
设计中心
设计中心
设计中心
基于查找表技术(Look-Up table)技术
?包含SRAM工艺的FPGA(如Altera的所有
FLEX,ACEX,APEX系列,Xilinx的
Sparten,Vertex),10,000门以上的大规模
PLD/FPGA。由于SRAM工艺的特点,掉
电后数据会消失。
? PROM,实时配置
设计中心
The END