Quartus II中FPGA的管脚分配保存方法
一、摘要
将Quartus II中FPGA管脚的分配及保存方法做一个汇总。
二、管脚分配方法
FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按钮) ,打开Pin Planner,分配管脚外,还有以下2种方法。
方法一:Import Assignments
步骤1:
使用记事本或类似软件新建一个txt文件(或csv文件),按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的DIY_DE2开发板为范例)。【这种方式格式最为简单】
注意:To和Location两个关键字中间有一个半角逗号。 
图1 pin.txt
步骤2:
在QII软件中,选择“Assignments -> Import Assignments”。如图所示,导入xxx.txt或者xxx.csv文件即可


图2 导入pin.txt
步骤3:
在QII软件中,选择“Assignments -> Pin”标签(或者点击 按钮) ,打开Pin Planner,验证管脚是否分配正确。

图3 验证管脚是否分配正确
方法二:导入source xxx.tcl文件
步骤1:
在QII软件中,使用“Assignments -> Remove Assignments”标签,移除管脚分配内容,以确保此次操作,分配的管脚没有因为覆盖而出现错误的情况。

图4 Remove Assignments
注:在未执行任何管脚分配操作新工程中,可跳过步骤1。
步骤2:
使用记事本或类似软件新建一个tcl文件,按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的DIY_DE2开发板为范例)。
注意关键字set_location_assignment和-to的用法。

图5 pin.tcl
步骤3:
执行pin.tcl
方法1:在QII软件中,使用“View -> Utility Windows -> Tcl Console”标签,打开Quartus II Tcl Console。执行语句:

图6 source pin.tcl
方法2:在QII软件中,使用“Tools -> Tcl Scripts …”标签,打开Tcl Scripts。

图7 Tcl Scripts
选择pin.tcl,选择“Run”标签,执行Tcl文件。
步骤4:
同方法1的步骤3。
三、FPGA管脚分配文件保存方法
使用别人的工程时,有时找不到他的管脚文件,但可以把他已经绑定好的管脚保存下来,输出到文件里。
方法一:
查看引脚绑定情况,quartus -> assignment -> Pins,打开FPGA引脚界面,在这个界面的菜单中可以保存引脚文件为csv格式(表格形式)和tcl格式。
步骤:File -> Export… -> 选择保存名字和保存格式。
方法二:
直接输出管脚配置,assignmengt -> Export assignmengt,可以保存配置为qsf格式,该格式可以用记事本查看,在该文件中同样包含了引脚信息。注意:保存时会在原工程文件夹下新建一个文件夹。
至于元件的其它配置方式,可以在qsf文件和tcl文件中用语句来设置,也可以在Assignment -> device,界面中设置。
加载:
使用已经有的引脚文件时,在选项assignment -> Import assignment,中可以选择要加载的引脚文件。此时,可以加载qsf 和 csv(或txt)文件。
保存的csv(txt)文件、qsf文件 和 tcl文件的区别:
csv(txt)文件:包含芯片所有管脚信息,包括分配的和未分配的;
qsf文件:包含管脚分配信息和芯片信息;
tcl文件:只包含已分配管脚信息。
一、摘要
将Quartus II中FPGA管脚的分配及保存方法做一个汇总。
二、管脚分配方法
FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按钮) ,打开Pin Planner,分配管脚外,还有以下2种方法。
方法一:Import Assignments
步骤1:
使用记事本或类似软件新建一个txt文件(或csv文件),按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的DIY_DE2开发板为范例)。【这种方式格式最为简单】
注意:To和Location两个关键字中间有一个半角逗号。 
图1 pin.txt
步骤2:
在QII软件中,选择“Assignments -> Import Assignments”。如图所示,导入xxx.txt或者xxx.csv文件即可


图2 导入pin.txt
步骤3:
在QII软件中,选择“Assignments -> Pin”标签(或者点击 按钮) ,打开Pin Planner,验证管脚是否分配正确。

图3 验证管脚是否分配正确
方法二:导入source xxx.tcl文件
步骤1:
在QII软件中,使用“Assignments -> Remove Assignments”标签,移除管脚分配内容,以确保此次操作,分配的管脚没有因为覆盖而出现错误的情况。

图4 Remove Assignments
注:在未执行任何管脚分配操作新工程中,可跳过步骤1。
步骤2:
使用记事本或类似软件新建一个tcl文件,按如下格式编写管脚分配内容(不同的开发版,其内容也不同,本文以我使用的DIY_DE2开发板为范例)。
注意关键字set_location_assignment和-to的用法。

图5 pin.tcl
步骤3:
执行pin.tcl
方法1:在QII软件中,使用“View -> Utility Windows -> Tcl Console”标签,打开Quartus II Tcl Console。执行语句:

图6 source pin.tcl
方法2:在QII软件中,使用“Tools -> Tcl Scripts …”标签,打开Tcl Scripts。

图7 Tcl Scripts
选择pin.tcl,选择“Run”标签,执行Tcl文件。
步骤4:
同方法1的步骤3。
三、FPGA管脚分配文件保存方法
使用别人的工程时,有时找不到他的管脚文件,但可以把他已经绑定好的管脚保存下来,输出到文件里。
方法一:
查看引脚绑定情况,quartus -> assignment -> Pins,打开FPGA引脚界面,在这个界面的菜单中可以保存引脚文件为csv格式(表格形式)和tcl格式。
步骤:File -> Export… -> 选择保存名字和保存格式。
方法二:
直接输出管脚配置,assignmengt -> Export assignmengt,可以保存配置为qsf格式,该格式可以用记事本查看,在该文件中同样包含了引脚信息。注意:保存时会在原工程文件夹下新建一个文件夹。
至于元件的其它配置方式,可以在qsf文件和tcl文件中用语句来设置,也可以在Assignment -> device,界面中设置。
加载:
使用已经有的引脚文件时,在选项assignment -> Import assignment,中可以选择要加载的引脚文件。此时,可以加载qsf 和 csv(或txt)文件。
保存的csv(txt)文件、qsf文件 和 tcl文件的区别:
csv(txt)文件:包含芯片所有管脚信息,包括分配的和未分配的;
qsf文件:包含管脚分配信息和芯片信息;
tcl文件:只包含已分配管脚信息。
Quartus II中FPGA的管脚分配保存方法的更多相关文章
- (转载)Quartus II中FPGA的管脚分配保存方法(Quartus II)
一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择"Assignments ->Pin&quo ...
- quartus2中FPGA管脚分配保存方法(转)
一.摘要 将Quartus II中FPGA管脚的分配及保存方法做一个汇总. 二.管脚分配方法 FPGA 的管脚分配,除了在QII软件中,选择“Assignments ->Pin”标签(或者点击按 ...
- 在Quartus II中分配管脚的两种常用方法
在Quartus II中分配管脚的两种常用方法 示范程序 seg7_test.v 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 /* * ...
- 如何在Quartus II中设置Virtual pin
为了验证FPGA工程中的某个模块的功能和时序的正确性,常常需要对其单独进行验证,但是这些模块通常都与内部的众多信号相连(如系统总线,中断信号线等),往往一个模块的对外接口引脚会多达几百个,对其单独仿真 ...
- Quartus II 中 Verilog 常见警告/错误汇总
Verilog 常见错误汇总 1.Found clock-sensitive change during active clock edge at time <time> on regis ...
- 转载.怎样在Quartus II中转化HDL文件为bsf文件?
步骤1 新建或打开Quartus II工程,用QII自带文本编辑器打开HDL文件. 图1 用QII自带的文本编辑器打开HDL文件 步骤2 选择File>Create / Update>Cr ...
- Quartus II 中参数化模块库(LPM)的使用
Quartus II 的LPM库所在的目录是\altera\11.0\quartus\libraries\megafunctions 现以LPM_MULT为例进行演示: 思路:1.首先创建一个pro ...
- Quartus II中的Waring(转)
1.Found clock-sensitive change during active clock edge at time <time> on register "<n ...
- Quartus II中使用脚本转换sof到rbf文件
1. 新建一个文本文件,保存为任意但有意义的名字,如:sof_to_rbf.bat,注意,保存时请不要使用默认的格式,应该手动从.txt切换为all files 2. 在文本中输入以下内容: %Q ...
随机推荐
- JavaScript Array对象 知识点总结
1 isArray方法 该方法是Array对象的静态方法,用来判断一个值是否为数组,它可以弥补typeof运算符的不足. 用法是Array.isArray(array实例) 通用的判断对象数据类型的方 ...
- Oracle GoldenGate for Big Data 12.2.0.1的新特性
ogg for bigdata 12.2已经发布,新增有如下特性:支持java replicat进程OGG12.2中开发了基于java的replicat模式,以前的版本是基于extract进程中使用u ...
- C语言获得数组长度的函数
<转自百度知道> 1.c语言中,定义数组后可以用sizeof命令获得数组的长度(可容纳元素个数). 例如: int data[4]; int length; length=sizeof(d ...
- Android FM模块学习之四源码学习(2)
前几章我们分析了FM模块的几个主要的类文件,今天要分析的是:FMTransceiver.java // 某些工程中名称为FMRadioService.java public class FmTra ...
- Java-->Json解析网页数据
--> 官方解析jar包: 链接:http://pan.baidu.com/s/1pKDnXKv 密码:694d --> 离线Json格式检测工具: 链接:http://pan.baidu ...
- Linux系统下fd分配的方法
最近几天在公司里写网络通讯的代码比较多,自然就会涉及到IO事件监测方法的问题.我惊奇的发现select轮训的方法在那里居然还大行其道.我告诉他们现在无论在Linux系统下,还是windows系统下,s ...
- C++ Pirmer : 第十四章 : 重载运算符与类型转换之函数调用运算符与标准库的定义的函数对象
函数调用运算符 struct test { int operator()(int val) const { return (i > 0 ? i : -i); } }; 所谓的函数调用就是一个类重 ...
- map的应用
1.map最基本的构造函数: map<string , int >mapstring; map<int ,string >mapint; map&l ...
- Oracle学习系列1-7
Oracle学习系列1 两个服务必须启动: OracleOraDb10g*TNListener 和 OracleService*** 使用sqlplusw先进行环境的设置 set linesize 3 ...
- [BZOJ 3530][Sdoi 2014]数数
阿拉~好像最近总是做到 AC 自动机的题目呢喵~ 题目的算法似乎马上就能猜到的样子…… AC 自动机 + 数位 dp 先暴力转移出 f[i][j] :表示从 AC 自动机上第 j 号节点走 i 步且不 ...