原创 QuartusII设置的管理--如何备份和转移设置内容

2007-1-6 11:50 6870 9 12 分类: FPGA/CPLD

    由于PLD器件的复杂性,EDA工具的功能和操作也相应的复杂起来。以Quartus II为例,每一个单独的功能和操作都对应着多个设置选项。通常可以选择缺省项,但是针对具体的应用环境,往往需要设置个性化的配置。 riple 
    在Quartus II的使用过程中,经常会遇到需要备份或转移某个工程的设置内容的情况,最常见的就是引脚配置内容。在不熟悉Quartus II的文件类型和对应内容时,常常不知从何入手,往往采用手工抄写的方式从Assignments-〉settings中逐项抄出,既费时又容易出错。 riple



    下面是建立一个工程需要配置的内容: riple 
    1. 器件类型(如Cyclone) riple 
    2. 器件型号(如EP1C12Q240C8) riple 
    3. 顶层实体名 riple 
    4. 设计文件路径 riple 
    如果针对具体的电路板,还要设置 riple 
    1. 引脚分配(往往是内容最多的一项) riple 
    2. 未使用的引脚功能(通常设为输入三态) riple 
    3. 引脚电平类型 riple 
    4. 生成第三方编程文件类型(如.ttf文件) riple 
    5. 配置方式(主动串行或被动串行) riple 
    此外,还有针对第三方EDA工具接口的配置、编译过程的配置等。 riple 
    这些选项虽然可以在IDE界面中逐级设置,可是毕竟繁琐费时,稍不留神就会漏掉几项。其实,所有的IDE界面中的选项,都有其在ASCII文件中的具体语句对应。 riple Quartus II运行时需要读取ASCII文件而不是IDE的界面。掌握了这一规律,就可以按照Quartus II软件的运行方式,找到对应的ASCII文件,直接对其操作来修改或复制其内容。 riple



    下面是我想到的几种半自动化的设置转移方法: riple 
    1. 在设置内容相对较少的情况下可以手工抄出。不推荐。 riple 
    2. 手工复制或修改.qsf文件的内容。 riple 
    3. 打开.qsf文件,选择File-〉Save As,指定存放路径,文件类型选择.tcl文件。 riple 
    4. 从Assignments-〉Assignment Editor界面中,选择File-〉Export,文件类型选择.tcl文件。这种方法不包括对缺省选项的修改。 riple 
    5. 选择Project-〉Generate Tcl File for Project,指定存放路径,选择保存选项,我通常把Include default assignments选上。 riple 
    上面的第五种方法是最全面的,可以把各种不常用的缺省选项都包括进来。这些缺省选项往往是根据特定工程的特殊性进行的配置,由于在IDE界面中不容易找到,也往往是最容易漏掉的关键选项。 riple



    得到了.tcl文件,并不能像.qsf文件一样直接被Quartus II软件作为新的配置文件。从.tcl文件加载新的配置文件的方法有三种: riple 
    1. 把.tcl文件中需要的语句手工拷贝到新的.qsf文件中。如果仔细看一下,.qsf文件就是用标准的Tcl语言写的,只不过调用了Quartus II的Tcl命令包。 riple 
    2. 在IDE界面中选择Tools-〉Tcl Scripts,指定用上面方法得到的.tcl文件并选择Run,就可以自动得到新的.qsf文件。注意需要先修改.tcl文件中的必要内容,并把.tcl文件和新工程的.qdf文件放在同一个目录下。 riple 
    3. 在命令行中执行quartus_sh -t xx.tcl命令。关于quartus命令行的使用方法我会在以后的日志中给出。 riple 
    由于.qsf文件很容易在IDE界面被修改,不适合作为保存设置的文件;而.tcl文件只有在特定的操作下才会生成,相对不容易变动,所以更适合作为备份设置文件。 riple 
    这里需要注意的是,Quartus II通常只保存修改过的缺省选项,不保存未经修改的缺省选项。这一点在.qsf文件中可以很明显的看出。如果需要查看所有的缺省选项,需要在修改某一个缺省选项后执行第五种方法,就可以得到完整的缺省选项列表。 riple 
    有趣的是,如果这时选择Project-〉Organize Quartus II Setting File,再打开.qsf文件,会看到分组注释得很清晰的设置文件,这时再执行第五种方法就得不到完整的缺省选项列表了,只能得到修改过的缺省选项列表。 riple 
    
    总结,写了这么多12345,恐怕读者逐君要糊涂了,还不如给出一种方法好呢。其实我也不想把问题搞这么复杂,下面就给出一个参考的执行步骤,先帮大家用起来。如果大家以后有进一步的兴趣,可以回过头来把上面的文字细看一遍,没准还能有更适合自己的方法。 riple 
    1. 正确的设置工程选项。如果需要转移已有的工程,这一步可以略去。 riple 
    2. 选择Project-〉Generate Tcl File for Project,指定存放路径,选择保存选项,我通常把Include default assignments选上。 riple 
    3. 在IDE界面中选择Tools-〉Tcl Scripts,指定用上面方法得到的.tcl文件并选择Run,就可以自动得到新的.qsf文件。注意需要先修改.tcl文件中的必要内容,并把.tcl文件和新工程的.qdf文件放在同一个目录下。  riple


 


    背景资料:Quartus II Settings File Reference Manual。rarrar riple


    上面文档中给出了.qsf文件的语法和所有设置选项的说明和调用方法。如果看文档还不能确定如何执行某一个具体设置的话,可以在IDE界面中找到并修改对应的设置,保存后就可以在.qsf文件中看到新添加的一行对应语句。参考这条语句,下一次就可以直接在ASCII文件中修改设置了。 riple

文章评论3条评论)

登录后参与讨论

用户1532436 2012-10-16 14:56

有意思,博主很久

用户323289 2010-11-15 16:11

学海无涯!谦卑中尊敬着!!

用户859628 2010-5-11 10:32

完全是实践总结的经验。看了真是受益匪浅啊。期待补齐前几篇。

用户1303485 2010-5-2 22:36

今天我尊重前人的工作,明天我的工作才会得到他人的尊重。 这句话我喜欢:) 尤其是做维护工作,在没有看明白别人代码之前,不轻易下结论也是成熟的表现。

ash_riple_768180695 2010-3-10 16:09

嗯!前面三个标题还没时间整理,不过早在2个月前就列入计划了。

用户1584993 2010-3-10 15:56

期待riple其他内容的补充,呵呵,“谦卑谦卑再谦卑,追求追求再追求”,应该可以是每个人,不单单工程师吧

ilove314_323192455 2010-3-10 13:37

是的,“谦卑谦卑再谦卑,追求追求再追求”,我想这是每一个工程师应该共勉的话

ash_riple_768180695 2007-12-28 09:13

第一个问题需要咨询A的FAE,没准他会建议你升级一下版本。

第二个问题:鸡对鸭讲。所以不通。

用户111215 2007-12-27 18:14

我用synplify pro综合 总是说tcl文件出错

用户111215 2007-12-27 18:11

   2. 在IDE界面中选择Tools-〉Tcl Scripts,指定用上面方法得到的.tcl文件并选择Run,就可以自动得到新的.qsf文件。注意需要先修改.tcl文件中的必要内容,并把.tcl文件和新工程的.qdf文件放在同一个目录下。

我点击Tools-〉Tcl Scripts 为什么会没有反应呢?

相关推荐阅读
ash_riple_768180695 2015-12-18 11:06
学习示例程序:FPGA快速系统原型设计--敏捷实践
        学习与开发板配套的示例程序,是敏捷实践的起点。示例程序是厂商针对开发板上提供的硬件资源和接口量身定做的工程,可以展示其FPGA芯片的功能和性能特点。从示例程序入手最大的好处就是:示...
ash_riple_768180695 2015-11-03 16:46
开发板选取:FPGA快速系统原型设计--敏捷实践
    既然是“实践”,就不能只谈编码和仿真,必须要上板运行、调试。这个虚拟项目的目标是实现一块兼容Intel82574L以太网控制器的千兆网卡,需要运行在一块具备PCIe接口和10/100/10...
ash_riple_768180695 2015-10-22 12:41
开篇:FPGA快速系统原型设计--敏捷实践
    虽然借用了 “系统原型开发”的标题,本系列文章将围绕FPGA IP级别的开发这个主题展开,如果可能的话,将扩展至FPGA System级别的开发。     先上一篇PPT:RSPwFP...
ash_riple_768180695 2013-08-26 10:21
学习SystemVerilog(二)——学习它的理由
    学习SystemVerilog的理由也很多,我在阅读SystemVerilog for Design 和 SystemVerilog for Verification两本书前言的过程中,总...
ash_riple_768180695 2013-08-26 10:19
学习SystemVerilog(一)——不学习它的理由
    想要学习SystemVerilog已经很久了。曾经尝试通过Accellera网站上给出的LRM学习,怎奈内容众多,找不出入手点和重点,只能望而却步。虽然手头有三本SystemVerilog...
ash_riple_768180695 2011-06-26 23:20
Hardware-Assisted IEEE1588 Implementation Analysis
06/18/11 11:00:05 PM         最近一段时间在研究IEEE1588-2008精确时间同步协议(PTP)。该协议可以在软件中实现,如果需要提高时间同步...
我要评论
3
9
关闭 站长推荐上一条 /2 下一条