CPLD/FPGA开发系列软件

    目前,学习CPLD/FPGA主要是选用的是Altera或Xilinx的对应芯片,这两个公司提供各自的开发环境,本文仅介绍对应于Altera公司提供的开发软件。

   1)Quartus II

    Quartus Ⅱ是Altera 公司提供的综合性PLD/FPGA开发软件,是一个完整的多平台设计环境,可轻易满足特定设计的需求,越来越来受到广大数字设计者的欢迎。它支持原理图和硬件描述语言VHDL、Verilog 与AHDL(Altera硬件描述语言)等多种设计输入语言,同时可以采用其他的方法去优化与提高输入的灵活性,如利用LPM与宏功能模块加速设计输入。此外,Quartus内有综合器、布局布线、时序分析、编程工具,可以完成一个完整的PLD流程,且可在Windows、Linux与Unix平台使用,具有很大的集成性、易用性与灵活性。

    软件分享:链接:http://pan.baidu.com/s/1qXXDnE8 密码:ns2j
    分享的文件里面有安装的方法:Quartus II 软件安装说明.pdf

   2)ModelSim

    ModelSim仿真工具支持Verilog、VHDL以及他们的混合仿真,是进行ASIC/FPGA设计的RTL级与门级电路的首选。它可以将整个程序分步执行,使设计者直接看到他的程序下一步要执行的语句,而且在程序执行的任何步骤任何时刻都可以查看任意变量的当前值,可在Dataflow窗口查看某一单元或模块的输入输出的连续变化,比Quartus自带的仿真器功能强大的多(目前Quartus版本已不自带仿真器),是目前业界最通用的仿真器之一。

    ModelSim的仿真分为前仿真和后仿真。前仿真,即功能仿真,是指不考虑电路门延迟与线延迟,主要是验证电路与理想情况是否一致,从而验证电路的功能是否符合设计要求;后仿真后也称为时序仿真或者布局布线后仿真,是指电路已经映射到特定的工艺环境以后,综合考虑电路的路径延迟与门延迟的影响,验证电路能否在一定时序条件下满足设计构想的过程,是否存在时序违规。前仿真,其输入为设计HDL源代码或Quartus产生的网表文件、测试激励文件和仿真模型文件后仿真,其输入为Quartus生成的布局布线后的网表文件、扩展名为sdo的延时文件、测试激励文件和仿真原型文件。若使用了ip核,需加入altera_mf.v。若ip核中包含了用户原语,还需加入220model.v文件。

    软件分享链接:http://pan.baidu.com/s/1miugcPy 密码:cyru
    分享的文件里面有安装的方法:ModelSim软件安装说明.pdf

    在写好Verilog程序后,一般需要进行仿真,保证电路逻辑功能正确,然后做时序约束、后仿等、最后上板测试。

    在此,引入一个仿真实例:

    利用ModelSim工具对实验一中的Verilog代码进行功能仿真。所需的输入仿真文件有源代码clk_div.v,测试激励文件tb_clk_div.v,仿真模型文件maxii_atoms.v。如下图所示,利用ModelSim仿真一般遵循此步骤。

    ModelSim仿真流程

       实验步骤

       打开ModelSim 10.2c,按照以下步骤进行仿真。

        1)新建工程

                

        为新工程命名,在Browser处将仿真文件夹加入,默认库文件不做更改

       2)编译设计文件

           将仿真所需的文件加入工程后编译,编译成功后,如有图所示,绿色对号标对,否则红色标错,在进行修改,重新编译。

                    

       3)仿真

            找到work库下的tb_clk_div,鼠标右击,选择Simluate 

                

           点击Simulate后,会出现上右图所示的仿真界面,选择uut右键Add to->Wave->All items in region。此时,Wave界面如下图所示。

            在Transcript窗口下,输入run 1000ms并执行,Wave窗口就会显示Modelsim对代码仿真1000ms即1s的波形。           

          此时局部放大波形,可见下图

        在设计中,cnt是从0到1048574循环计数,个数与DIV_FACTOR相同,由上图可知符合设计要求。 从仿真结果上来看,设计正确。

        代码示例分享:链接:http://pan.baidu.com/s/1boOAoAr 密码:uegd

        3)编辑器

      在程序员的日常生活中,打交道的最多莫过于编辑器,一个界面友好,使用方便的编辑器更易受程序员青睐。在CPLD/FPGA开发过程中,使用的是硬件描述语言HDL(Verilog或者VHDL,其中使用较多的是Verilog),常用的编辑器有Vim、Sublime Text、Notepad++等,其中Vim最为广泛。Vim原生支持Verilog语法高亮,编辑更快方便,但是相对命令过多,Sublime Text可以通过插件安装支持Verilog语法高亮,快捷键也和windows自带文本编辑器习惯一样,界面也十分友好。Notepad++等其他编辑器就不多说了。每个程序员有自己的喜好。当然,在linux发行版本的操作系统中,Vim是最好的选择。

      Vim一般有三种模式:

     

      在视图模式下

      搜索:  / (\/),n,N

      文件跳转: gg(文件开头),G(文件结尾),:100(跳到行)

      替换 :%s/xx/yy/gc   全文 xx替换为yy   加上了/gc会一个一个确认 否则全文替代

        : 1,100s/xx/yy/gc  1到100行 xx替换为yy

      复制 : yy复制所在行 #yy复制#行

      粘贴 : p

      删除 :dd删除光标所在行

      分窗口 :vs 左右两列 sp 上下两行  

   编辑模式

     进入 i

     补全命令 ctrl+p

     列操作模式

    hjkl 上下左右

     更多命令,在使用时,根据需要查找

    软件分享:链接:http://pan.baidu.com/s/1nvJg2RR 密码:sjv6

    分享文件夹中提供了Vim编辑器与Sublime Text安装包,同时提供了Sublime Text的Verilog插件、snippets设置等内容。