集成电路技术分享

 找回密码
 我要注册

QQ登录

只需一步,快速开始

搜索
查看: 736|回复: 1

基础篇第三章altera Quartus II开发流程

[复制链接]
羽蒙 发表于 2014-8-15 15:12:20 | 显示全部楼层 |阅读模式
3章 altera Quartus II开发流程
设计步骤:

         设计输入----design entry

            可使用Assignment Editor(分配编辑器)方便地设定管脚约束和时序约束,正确的使用时序约束可以得到设计的详细时序报告,便于分析设计是否满足时序要求。

         综合-----------sysnthesis

               将设计输入翻译成由与、或、非门,RAM,触发器等基本逻辑单元组成的逻辑连接(网表),并根据目标语要求(约束条件)优化所生成的逻辑连接,输出edf或vqm等标准格式的网表文件,供布局布线器进行实现。

              如何使用综合来优化设计,请参看《Altera FPGA/CPLD设计(高级篇)》第5章“资源利用优化”。

            第三方综合工具主要有:synplify/Synplify pro、mentor graphics leonardospectrum、synopsys FPGAcompiler II等。虽然第三方综合工具一般来说功能强大、优化效果好,但是Quartus II软件自身集成综合工具也有其自身的优点,因为只有altera自己对其器件的底层设计与内部结构最为了解,所以使用Quartus II软件集成综合常常会有意想不到的效果。

        布局布线-----fitter

         有3种布局布线目标选择:标准布局选项(standard Fit)是尽力满足Fmax时序约束条件,但不降低布局布线成都;快速布局选项(fast fit)表示降低布局布线成都,其编译时间减少了50%,但是通常设计的最大工作频率也降低了10%,且涉及的Fmax也会降低;自动布局选项(auto fit)表示指定布局布线器在设计的时序已经满足要求后降低布局布线目标要求,这样可以减少编译时间。若是设计者希望在降低布局布线目标要求前布局布线的时序结构超过时序约束,可以在理想的最坏情况下的slack栏设置一个最小slack值,指定布局布线器在降低布局布线目标要求前必须达到的最小slack值。

         增量布局布线:若在前一次布局布线后对设计做了部分更改,且所做更改只影响少数节点,就可以通过使用增量布局布线避免重新运行全编译。它是在尽量保持前次布局布线结果的模式运行的。【processing】->【start】 ->  【start incremental fitter】

       反标保留分配:通过反标给任何器件资源的分配来保留上次编译的资源分配。可以只工程中反标所有的资源分配,也可以反标logiclock区域的大小和位置。因为Quartus II软件数据每次编译时都会将原有设置覆盖,因此反标对于保留当前资源和器件分配是非常有用的。

    【assignments】->【back-annotate assignments】命令,打开分配对话框,允许选择的反标类型为默认型和高级型。默认型是允许将和逻辑单元分配降级为具有较少限制的位置分配。高级型除了包括默认型允许的操作外,还允许反标logiclock区域以及其中的节点和布线,同时还提供许多用于根据区域、路径、资源类型等进行过滤的选项,并允许使用通配符。

        仿真-----------simulation

        允许用户分析设计中所有逻辑的时序性能,并协助引导布局布线满足设计中的时序分析要求。默认情况下,时序分析作为全编译的一部分自动运行,它观察和报告时序信息,如建立时间、保持时间、时钟至输出延时、最大时钟频率。

        时序收敛工具主要包括timing closure floorplan和logiclock editor。

       延时信息包含在.vo,.sdo等文件中.

       将矢量文件转换成VHDL/Verilog HDL文件:【file】-->【export】在弹出的窗口选择存储文件类型(若是VHDL文件,则选择后缀名为.vht;若是verilog 文件,则选择.vt后缀)和存储路径、文件名。

       Quartus II软件生成仿真激励模板文件:首先是选择好第三方仿真工具,然后,【processing】->【start】->【start testb

ench template writer】
        编程和配置-programming &configuration

        将



布局布线后的器件、逻辑单元和管脚分配转换为该器件的配置文件(目标器件的一个或多个programmer 对象(.pof)或SRAM对象文件(.sof))写入芯片中以便于测试。
         设置assembler可以生成的其他格式编程文件:

         【assignments】--> 【device】-->【device & pin options】-->【programming files】,指定可选辅助编程文件格式。其中,对于.hexout文件,需要通过设置【start】选项标明该十六进制文件的起始地址,还需要通过设置【count】选项(up或down)指出存储的地址排序是递增还是递减方式,这种十六进制文件可以写入EPROM或其他存储器件,通过存储器件向FPGA/CPLD器件进行编程配置。

      

      系统级设计

             包括SOPC builder 和DSP builder。前者由CPU、存储器接口、标准外围设备和用户自定义的外围设备等组件组成,允许选择和自定义系统模块的各个组件和接口,它将这些组件组合起来,生成对这些组件进行实例化的单个系统模块,并自动生成必要的总线逻辑;DSP Builder是帮助用户在易于算法应用的开发环境中建立DSP设计的硬件表示,缩短了DSP设计周期。

     signaltap II逻辑分析仪,signalprobe。

     一般使用assignment Editor进行管脚分配和除时钟频率外的其他类型约束,而Setting对话框中的约束更多地用于全局时序约束和时钟频率约束。

   如果说有保留管脚与外部器件均没有连线,也可以设置成一般输出,如输出高电平或低电平,但是一旦有保留管脚与外部器件有连线,则最好设置成三态输入或输出,因为如果此管脚是与另外一个器件的输出相连,则会导致系统工作不正常。

     管脚锁定时,如果时钟太多,专用时钟管脚不够用,把时钟和由此时钟驱动的信号锁定在一个I/O BANK,有利于设计时序的满足。

【setting】中【delay requirements】中tsu,tco,tpd等时序参数是基本时序约束,规定了外部时钟和数据输入输出管脚之间的时序关系,只用于与PAD相连的信号,不能用于内部信号。

required clock:约束时钟频率时,不能约束过紧也不能过松,若过紧,设计可能达不到这个频率要求,过松则浪费资源,一般设定的频率比所要求的频率高5%左右即可。

       state machine:状态机的编码方式

       Ont-Hot方式编码状态机,每次只有一个状态bit位置位,电路特点是触发器较多,组合逻辑较少,它是最快的,最适合应用于具有大量触发器的FPGA设计中。使用Quartus II集成综合工具时,verilog HDL的编码方式默认为one-hot,VHDL的编码方式默认为minimal bits。







Sunlife 发表于 2014-8-15 21:43:50 | 显示全部楼层
是尽力满足Fmax时序约束条件
您需要登录后才可以回帖 登录 | 我要注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

QQ|小黑屋|手机版|Archiver|fpga论坛|fpga设计论坛 ( 京ICP备20003123号-1 )

GMT+8, 2024-12-26 13:55 , Processed in 0.055212 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表