《fpga仿真流程》由会员分享,可在线阅读,更多相关《fpga仿真流程(33页珍藏版)》请在金锄头文库上搜索。
1、QuartusII的设计流程QuartusII软件的使用方法一、 设计输入1.建立工程任何一项设计都是一项工程(Project),都必须首先为此工程建立一个放置与此工程相关的所有设计文件的文件夹。此文件夹将被EDA软件默认为工作库(Work Library)。一般,不同的设计项目最好放在不同的文件夹中,而同一工程的所有文件都必须放在同一文件夹中。首先建立工作库目录,以便存储工程项目设计文件。在D盘下新建文件夹并取名Mydesign。双击QuartusII软件启动图标,即可启动QuartusII软件,启动界面如图1-2所示。使用New Project Wizard 可以为工程指定工作目录、分配工
2、程名称以及指定最高层设计实体的名称,还可以指定要在工程中使用的设计文件、其他源文件、用户库和EDA 工具,以及目标器件系列和具体器件等。在此要利用“New Preject Wizard”工具选项创建此设计工程,并设定此工程的一些相关的信息,如工程名、目标器件、综合器、仿真器等。(1)打开建立新工程管理窗。选择菜单FileNew Preject Wizard 命令,即弹出“工程设置”对话框(图1-3),以此来建立新的工程。(2)在单击图1-3后,出现了设置工程的基本信息,如图1-4所示。单击此对话框最上一栏右侧的“ ”按钮,可以选择工程存放在硬盘上的位置,此例中将工程放在D盘Mydesign文件
3、夹下。这三行的第一行的d:Mydesign表示工程所在的工作库文件夹;第二行的half_add 表示此项工程的工程名,工程名可以取任何其他的名,也可直接用顶层文件的实体名作为工程名,在此就是按这种方式取的名;第三行是当前工程顶层文件的实体名,这里即为half_add。(2)将设计文件加入工程中。单击图1-4中的Next 按钮,弹出对话框如图1-5所示,在对话框中单击File name 右侧的“ ”按钮,可以将与工程相关的所有VHDL 文件(如果有的话)加入进此工程,此工程文件加入的方法有两种:第1 种方法是单击“Add ”按钮,从工程目录中选出相关的VHDL 文件;第2 种方法是单击Add A
4、ll 按钮,将设定的工程目录中的所有VHDL 文件加入到工程文件栏中。如果还没有建立VHDL文件,就直接点击“Next”即可。(3)选择目标芯片。单击图1-5中Next 按钮出现如图1-6的对话框用来选择目标芯片。首先在Family 栏选芯片系列,在此选FLEX10K系列,并选择此系列的具体芯片EPF10K10LC84-4。在“Target device”选项下选择“Auto device selected by the fitter”选项,系统会自动给所设计的文件分配一个器件。如果选择“Specific device selected in Available devices list”选项
5、,用户需指定目标器件。在右侧的“Filters”窗口“过滤”选择;Package表示封装; Pin cout表示引脚数,此例选择84;Speed grade表示速度等级,此例选择4。(4)在图1-6中单击“Next”按钮后进入第三方工具选择对话框,如图1-7所示。用户可以选择所用到的第三方工具,比如ModleSim、Synplify等。在本例中并没有调用第三方工具,可以都不选.(5)在图1-7单击“Next”按钮后进入最后确认的对话框,如图1-8所示。建立的工程的名称、选择的器件和选择的第三方工具等信息,如果无误的话就可以单击“Finish”按钮,弹出如图1-9所示的窗口,在资源管理窗口可以看
6、到新建的工程名称half_add。当工程建立好以后,我们就可以建立设计文件。下面我们以一个半加器的VHDL的设计,来演示在QuartusII如何实现VHDL语言输入。2.VHDL语言输入(1)建立文件。在图1-9中,单击“File”菜单下的“New”命令或者使用快捷键Ctrl+N,在弹出“New”对话框如图1-10所示。在“Device Design Files”页面下双击“VHDL File”选项(或选中该项后单击“OK”按钮)后建立新文件,如图1-11所示。图1-11 VHDL文本编辑窗口(2)输入程序。在图1-11中输入半加器的VHDL程序,如图1-12所示。(3)保存文件。在图1-12
7、中单击保存文件按钮 ,弹出对话框如图1-13,将输入的VHDL语言程序保存为half_add.vhd文件,注意后缀名是.vhd,单击“保存”按钮即可保存文件,如图1-13。(4)编译工程。在图1-11中单击水平工具条上的编译按钮,或选择菜单Processing下的Start Complilation,开始编译,并伴随着进度不断地变化,编译完成后的窗口如图1-14所示。如果编译过程出现错误,要将错误改正,保存后再次编译,直到编译无错误为止。到此在QuartusII软件中使用VHDL语言输入完成,接下来是将保存好的VHDL语言程序进行仿真,在软件上验证VHDL语言描述的功能是否能够达到预期目的。二
8、、设计仿真设计仿真的目的就是在软件环境下,验证电路的行为和思想是否一致。仿真分为功能仿真和时序仿真。功能仿真是在设计输入之后,综合和布局布线之前的仿真,不考虑电路的逻辑和门电路的时间延时,着重考虑电路在理想环境下的行为和预期设计效果的一致性。时序仿真是在综合、布局布线后,也即电路已经映射到特定的工艺环境后,考虑器件延时的情况下对布局布线的网络表文件进行的一种仿真,其中器件延时信息通过反向标注时序延时信息实现的。1.仿真文件的生成(1)建立矢量波形文件。在图1-14中,单击“File”菜单下的“New”命令,在弹出的“New”对话框中选择“Other Files”页面,如图1-15。选择“Vec
9、tor Waveform File”后单击“OK”按钮,弹出如图1-16所示的矢量波形编辑窗口。(2)添加引脚或节点。在图1-16中,左键双击“Name”下方空白处,弹出“Insert Node or Bus”对话框,如图1-17所示。单击对话框“Node Finder”按钮后,弹出“Node Finder”对话框,如图1-18所示。 在图1-18中,在“Filter”后面的方框里选择“Pin:all”,然后单击“List”按钮,在“Node Found”栏中列出了设计中的所有的输入/输出引脚号,如图1-19所示。单击图1-19中的按钮,所有列出的输入/输出引脚号被复制到右边一侧。也可以根据情
10、况选择部分引脚号复制到右边,方法是在左边选中想要的引脚号,单击按钮即可。选择好了引脚号后,单击“OK”按钮,返回“Insert Node or Bus”对话框,此时,在“Name”和“Type”栏里出现了“Multiple Items”项,如图1-20。单击“OK”按钮,选中的输入/输出引脚号都添加到矢量波形编辑窗口中,如图1-21所示,单击“OK”按钮,进入矢量波形编辑窗口,如图1-22。(3)编辑输入信号并保存文件。在图1-22中单击“Name”下方的“A”,即选中该行的波形。在本例中将输入信号“A”设置为时钟信号,单击工具栏中的按钮,弹出“Clock”对话框,此时可以修改信号的周期、相位
11、和占空比。设置完后单击“OK”按钮,输入信号“A”设置完毕。同理设置其他输入信号“B”,最后单击保存文件按钮,根据提示完成保存工作,如图1-23所示。同时,为了方便读者熟悉其他波形编辑工具的使用,在图1-24中标注了其他波形编辑工具的功能。2. 功能仿真 功能仿真是忽略延时的仿真,是理想的仿真。接下来我们一起来进行设计的功能仿真。首先在图1-23中单击“Assignments”菜单下的“Settings”命令,如图1-25,单击左侧标题栏中的“Simulator”选项后,在右侧的“Simulation mode”的下拉菜单中选择“Functional”选项即可(软件默认的是“Timing”选项
12、),单击“OK”按钮后完成设置。 后需要生成功能仿真网络表。单击“Processing”菜单下的“Generate Functional Netlist”命令后会自动创建功能仿真网络表,如图1-26所示。完成后会弹出相应提示框,单击“确定”即可。最后单击按钮进行功能仿真,如图1-27所示。从图中可以看出仿真后的波形没有延时,半加器的两个加数作为输入信号,得到了对应的和与进位。3.时序仿真QuartusII中默认的仿真为时序仿真,在图1-23中直接单击仿真按钮即可。如果做完功能仿真后进行时序仿真,需要在“Assignments”“Settings” “Simulator”选项后,在右侧的“Sim
13、ulation mode”的下拉菜单中选择“Timing”选项即可。仿真完成后的窗口如图1-28所示。观察波形,可以知道输入输出之间有一定的延时。三、引脚锁定引脚锁定是为了对所设计的工程进行硬件测试,将输入/输出信号锁定在器件的某些引脚上。单击“Assigments”菜单下的“Pins”命令,在弹出的对话框如图1-29所示,在下方的列表中列出了本项目所有的输入/输出引脚名。 在图1-29中,双击与输入端“A”对应的“Location”选项后弹出引脚列表,从中选择合适的引脚,则输入“A”的引脚锁定完毕。同理完成其他引脚的锁定,如图1-30。四、编程下载编程下载是将本次设计所生成的文件通过计算机下
14、载到实验箱里,来验证此次设计是否能够达到预期目的。需要进行以下几个步骤:1. 编译锁定引脚后必须再次编译,才能存储这些引脚锁定的信息,单击编译按钮执行编译。2. 配置下载电缆 在“Tools”菜单下选择“Programmer”命令,或者直接单击工具栏上的按钮,弹出如图1-31所示的页面。单击“Hardware Setup”按钮,弹出“ Hardware Setup”对话框,如图1-32所示。单击“Add Hardware”按钮设置下载电缆,弹出如图1-33所示的对话框。在 “Hardware type” 一栏中选择“ByteBlasterMV or ByteBlaster II”后单击“OK”
15、按钮,下载电缆配置完成。设置成如图1-34所示的选项后,单击 “Close”按钮即可。一般情况下,如果下载电缆不更换,一次配置就可以长期使用,不需要每次都设置。3.下载模式 JTAG模式是软件的默认下载模式,相应的下载文件为“.sof”格式。在“Mode”一栏中还可以选择其他的下载模式,例如,Passive Serial、Active Serial Programming和In-Socket Programming。勾选图1-31中下载文件“half_add.sof”右侧的第一个小方框,也可以根据需要勾选其他的小方框。将下载电缆连接好后,单击“Start”按钮计算机就开始下载编程文件,这样在实验箱上就可以验证实验效果了。到这里,我们都演示了QuartusII软件的全部使用过程,从建立工程,VHDL语言设计输入,设计仿真到编程下载都演示了一遍,读者跟着上面的操作,就能够到达最后的程序下载,在EDA实验箱上看到最终的效果。五、原理图输入(1)建立文件。在图1-9中,单击“File”菜单下的“New”命令或者使用快捷键Ctrl+N,在弹出“New”对话框如图1-35所示。在“Device Design Files”页面下双击“Block Diagram/Schematic File”选项(或选中该项后单击“OK”按钮)后建立新文件,如图1-36所示。(2)在图1-36中对常用