2023年11月26日发(作者:)

2011-5-25

关于quartus的功能学习:

总体设计过程是这样的:

Step1:创建工程

Step2:文本输入

Step3:编译

包括:

1 Analysis&Synthesis:分析和综合

2 Fitters:布局布线

3 Assembler:编译生成输出文件(sofpof

4 Timing analyzer:时序分析

5 EDA netlist writer:网表写入

这五步。注意编译后会有非常详细的编译报告。也分别包括是这五步的报告,从硬件角度进

行了非常完整的描述,可以通过点击工具栏的compilation report选项来看,包括:

(一)compilation report:总体报告

1 Flow summary:流程总结:包括最基本的工程信息,包括两个方面,一是工程,包括工

程名,软件版本,是否时序分析等。二是器件,包括器件型号,

1 LE使用率:combination连线使用率,logic register寄存器使用率。

这肯能正是LUTLATCH结构

2 Pin占用率:

3 Virtual pin 占用率

4 Memory bit占用率(内嵌SRAM单元占用率)

5 Embedded multiplier 内嵌乘法器占用率

6 PLL占用率。

2 一些设置,log

(二)Analysis&Synthesis:分析综合报告:synthesis即为map

1summary:与上面相同

2settings:非常详尽的综合设置,包括内嵌单元的使用方式,时空权衡,等等。

3resource使用情况

4messages:警告与错误

(三)fitter:布局布线报告:

1summary:同上

2settings:非常详尽的布线设置

3pin out file:固定引脚的分配情况,对引脚说明非常详细

4resource section :更为详尽的resource 使用情况。以及介绍。

(四)Assembler:输出文件报告:

1generated files:输出文件的名称、位置

2device optionssof的配置,介绍

3device optionspof的配置,介绍

(五)Timer analyzer:时间分析报告:

1、频率

2、建立保持时间等。

(六)EDA netlist writerEDA网表:

是为第三方软件准备的?放在simulationmodelsim文件夹下,包括sdo文件等。

Step4:仿真

Step5:分配引脚,下载

(一)菜单栏:

一、File

1 new

各种编辑输入文件。其中,

1block diagram/schematic file为原理图输入.bdf进而生成.bsfblock symbol file

也可以通过open design file 来打开其verilog文件

2EDIF file 为网表输入(.edf:它是已经综合完成的设计。下一步就直接是布局布

线了。还有.edif.edn类型的文件。

3State machine file .smf)为有限状态机输入。

4SOPC builder system:?

5state machine file :状态机输入(.smf

以上各种文件可以转为.v文件

other files表单中,有:

1 AHDL include file.inc

2 Block symbol file (.bsf) 可以由open design file来打开其底层设计文件

3 Chain description file.cdf:下载链的文件器件等。

4 HexadecimalIntelformat.Hex)文件:用以编辑存储器文件。这也提供了

一个以后需要.hex文件时编辑的方法。也可以通过quartus来查看.hex文件

5 In-system sources and probes editor file:用以在线修改变量、内存,具体见下载

的文章:FPGA系统设计》

6 Logic analyze interface file

7 Memory initialization filemif文件,和hex文件很像,不知道怎么用。

8 SignalTap II logic analyzer file.stp:估计和在线逻辑分析仪有关。

9 Synopsis design constraints file.sdc)文件:不清楚,翻译为:概要设计约束

文件。从后面的时间分析设置中可以知道,该文件是约束时间分析参数之类的

东西。synopsis:概述)

10 Tcl script file.tcl:脚本文件

11 Text file

12 Vector waveform file.vwf:波形文件。

2 convert programming files 这个选项?

此外就是一些比较平常的选项,无关紧要

二、Edit

显然无关紧要,粘贴复制之类

三、View

就是一些界面的选择之类,无关紧要。

其中:ctrl+alt+space可以全屏。

四、Project

没什么重要的

五、Assignment

1 device:即setting device:选择器件和配置芯片。注意其中config and pin options

项,其中有一些需要注意的东西,和硬件有关的配置也都在这里干了。

2 pin:就是出现pin planner 工具。

3 timing analysis setting:选择是classical方式还是timequest方式进行timing analysis

如果是timequest方式,需要synopsis design and constraint filesdc)文件来约束。

详见下载的文章《timer analyzer

4 EDA tools setting :第三方EDA工具。

5 Settings:各种设定全出来。其中:

1 Device:器件的设置

2 Operating settings and conditions:工作条件设定,包括电压,温度等

3 Compilation process settings

4 Eda tools settings

5 Analyze and synthesis settings

6 Fitter settings

7 Timing analysis settings

8 Assembler

9 Design assistant

10 signalTap II logic analyzer

11 simulator settings:包括仿真方式,仿真的相关参数设置等。

12 logic analyzer interface

13 powerplay power analyzer settings

6 Classical timing analyzer wizard经典时序分析设置向导:包括建立时间、保持时间、

最高工作频率的设置。

7 Assignment editor :对各个引脚的各种功能进行了定义,最后会生成一个.QSF文件

quartus setting file

8 Pin planner :生成.dpf文件。

9 Import assignments

10 Export assignments:即QSF文件的导入和导出。

其余的一些选项不是很重要。

六、Processing

主要就是把编译工具栏中的东西挪到这里来了。

1 start compilation:全编译

2 analyze current file :以后改了点.v文件,不要全编译了,费时没必要

3 start:各种编译都有,但注意有些编译是有依赖性的,其中有个powerplay power

analyzer:可以计算出电流(生成一个pow文件,里面有详细介绍)

4 update memory initial file:更新mif文件。

5 start compilation and simulation

6 generate function simulation netlist file:生成功能仿真网表文件:在功能仿真时,一

定需要执行这一步,否则报错。完成后,生成一个.qsf约束文件和一个.done文件,

可见.qsf文件在仿真时也是要起作用的。

7 simulation start

8 simulation debug:可以给simulation加断点。这个怎么用?

9 Simulation report:它和别的report一样,生成.sim文件。

10 下面的一些tools也是用于编译和仿真的,故而放在processing 菜单栏下,其

实就是比较形象化的max plusII里的一些工具。

七、Tools

1 EDA simulation tool

2 EDA compilation tool:第三方软件使用

3 Netlist viewer:功能强大的工具,可以看

1 RTL图,

2 State machine viewer:状态机图

3 Technology map 图:比较清晰的底层查找表—寄存器图

4 在线逻辑分析仪的相关工具

5 Megawizard plug-in manager:宏功能模块

6 Tcl scriptTCL脚本

八、Window

九、Help

1 F1按键

2 各个部分的帮助。

做的很好,把软件、硬件结合了,可以指导整个开发流程。

3tutorial:绝对有用。学FPGA就靠他了。

2011-6-10

Quartus下调用modelsim:以下6

1 进行软件设置:

Tools——>options——>EDA tool options——>选择modelsim_altera,设置路径

2 进行工程设置:

Assignment——>eda tool setting——>simulation:进行相关设置

3 生成testbench文件:

Processing——>start——>testbench template writer

4 添加testbench文件到工程

Assignment——>eda tool setting——>simulation:进行相关设置

5 运行:

Tool——>eda simulation toll

顶层文件:最好用原理图的方法,虽然移植性差了一点,但直观。

2011-6-12

1、利用LPMROM

1 matlab产生mif文件

代码见makemif.m,生成文件。注意用UE打开mif文件后,可以发现其

实他的格式很简单

2 Mif文件:

WIDTH=8;

DEPTH=256;

ADDRESS_RADIX=UNS;

DATA_RADIX=UNS;

CONTENT BEGIN

0 : 128;

1 : 131;

2 : 134;

3 : 137;

4 : 140;

……

……

……..

54 : 251;

55 : 252;

[56..57] : 253;

[58..60] : 254;

…….

…….

254 : 122;

255 : 125;

END;

3

最后的结果:

关于addr产生递增的值时的一个技巧

得到模拟波形:

3 FPGA控制片外SRAM

SRAM型号:IS61LV25616ISSI公司)

注意用FPGA控制通用型外围器件的方法。

注意在实例化时碰到的几个问题:

1 顶层可以用bdf方法,也可以用verilog实例化的方法。

2 `include.v的声明需要注意:如果在同一个工程下,别的.v不需要include可以直

接用,犹如在同一个.v下一般。用·include时,包含的是工程之外的文件

3 实例化时,只能用线网来接受更底层的模块的输出。

4 关于导入别的FPGA引脚的方法。