设计中心 电子设计自动化技术 教师:李平教授(博导) 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