时间:2025-04-16 来源:FPGA_UCY 关于我们 0
本篇目录
设计前准备 建立工程 输入设计 综合和分析 RTL仿真 锁定管脚 布局布线 时序仿真 生成配置文件并下载
本篇将设计一个简单的二输入与门,来讲解整个设计流程。至于设计语言就不在单独列出一个章节去做特殊说明,语法、操作、实验将同时讲解,这样更具有带入性,便于读者阅读和学习。
1、设计前准备
在设计之前我们需要在两个方面进行准备:硬件方面和软件方面。
硬件方面
开发FPGA设计,最终的产品是要落在使用FPGA芯片完成某种功能。所以我们首先需要一个带有Intel FPGA芯片的开发板。
本文中设计将采用系列FPGA进行讲解,如果读者有其他系列(必须是Intel FPGA,否则无法在上开发),也可以进行学习,不同系列的开发流程基本相同。
软件方面
我们需要综合工具- 软件和仿真工具-软件。正确安装这两个软件是开发Intel FPGA的必要条件。
按照《 prime 18.0标准版安装与破解》的方式安装,软件的图标将不会出现在桌面上。并不是没有安装上,而是此时软件认为软件只是它的一个小程序包而已,所以就没有体现单独的软件图标。
当准备好软件后,笔者向大家推荐一个工程管理的方式,也是本文中做工程管理的方式,这样会比较清楚。
做设计的话,会编写很多设计文件、仿真文件以及综合器会给我输出很多的过程文件等等,那么这些文件最好都能有自己的一个“归宿”,不要乱放。
路径和命名中不允许出现非法字符(合法字符包括:数字、字母、下划线。特别说明:空格是非法的),笔者建议以字母开头。
我们是做FPGA开发设计的,首先我们将建立一个文件夹,专门用来放FPGA开发设计。例如:E:/。
在后续的开发设计中,我们会做各种各样的设计。每个设计都有自己的名字,在上述文件内,用实验的名字命名一个文件夹。名字的话一定要带有某种含义,不建议随便给个字母序列当做名字。例如:第一个要做的二输入与门的设计,命名为。
在建立完某项设计的文件后,依次在其里面新建四个文件夹,分别为:rtl、qprj、msim、doc。
rtl文件夹用于存放设计的源文件。
doc文件夹用于存放设计的一些文档性的资料。
qprj文件夹用于存放 工程以及生成的一些过程性文件。
msim文件夹用于存放仿真文件。
在 FPGA 设计时,主要是这四个文件的使用。某些时候我们也会新加一些文件,例如:FPGA板卡需要我们设计自己时,就会多一个文件夹PCB,用于存放PCB相关的工程或者源文件等。
2、建立工程
做好设计前准备后,就可以开始建立 工程了。
在做设计时,都是以工程为主体的设计。在没有工程的情况下,利用软件打开设计源文件等,也是不支持编译和综合的。
双击 软件的图标(图4-1),打开软件。在有的电脑上,软件启动的速度不是很快(在确保自己已经双击打开的前提下,可以等待1分钟),不要多次去双击图标,容易造成PC卡死或者启动了很多个软件。
笔者这里不对每个界面进行单独介绍,后续用到那个功能或者界面时,会单独介绍说明。
点击左上角File,选择New …。打开新工程向导,首先出现一个工程向导介绍说明
在工程向导中,我们会指定工程名称和位置,顶层实体的名称,工程文件和库文件,目标器件,EDA工具。
在复杂设计时,会将电路分成各个小模块去做设计,最终还需要一个大模块将这些小模块包括进来,对外呈现都是大模块的接口。此时,这个大模块就是顶层实体(TOP level )。如果设计中只有一个模块,那么这个模块就是顶层实体。
点击Next。
工程的位置指定到之前我们准备好的文件夹(qprj)中。点击编辑框后面的三个小点,进行文件搜索指定。
工程的名称就是采用之前我们做的设计文件夹的名字,这个名字可以是任意的,笔者建议和文件夹保持一致,因为当初建立文件夹时,就是选择用工程的名字。直接输入工程名称即可。
顶层实体的名字会自动出现,与工程的名字保持一致。我们也可以重新指定一个新名字,笔者建议与工程名字保持一致。
点击Next。选择空白工程(默认空白工程),点击Next。
建立工程时,我们可以直接向工程中添加已有的文件。一般我们选择什么都不添加,后续设计中,如果有提前做好的文件,也是选择什么都不添加。建立完工程后,依然可以向工程添加文件。
点击Next
FPGA设计最终是要落实到芯片内部,在这里要选择对应的芯片(自己手里开发板的FPGA芯片)。芯片的型号在FPAG的芯片上有描述,如果芯片上看不清楚,或者芯片在被其他东西挡住,可以查看开发板的资料,一般都有介绍。笔者手中开发板的FPGA的型号为。后续所有的选择将按照笔者手中的型号进行设计和选择,读者不相同的,请自行改动。如果暂时还没有开发板的读者,可以跟着笔者选择继续下面的步骤(没有开发板的话,后面有一些步骤是做不了的)。
选择时,首先选择对应的系列。
选择对应的系列后,可以看到下面的器件列表(此列表的窗口是可以拉大的,可以直接扩大整个界面)中,就出现很多的器件。呈现的器件都是按照一定的规律进行排列的,可以很快的找到自己的芯片,然后单击选择芯片(先不考虑为什么没有,而选择)。如果每次新建工程都是这样去寻找芯片的话,是有一定的累人。好在这个软件给我们提供了筛选面板,我们可以把筛选条件输入进去。
设置好筛选条件后,器件列表中就只有四个器件了,很容易就可以找到我们这款芯片。
筛选条件中有封装类型、管脚数目和速度等级。那么我们怎么知道自己手中的芯片的这些信息呢?
答案都隐藏在芯片的名字中。笔者手中的是 IV系列的