位置:51电子网 » 技术资料 » EDA/PLD

FPGA设计全流程

发布时间:2008/5/28 0:00:00 访问次数:609

第一章modelsim编译xilinx库

本章介绍如何编译hdl必须的xilinx库和结构仿真。
创建将被编译库的目录
在编译库之前,最好先建立一个目录(事实上必须建立一个目录),步骤如下。(假设modelsim的安装目录是“$modeltech_6.0”,ise的安装目录是“$xilinx”)
◆在“$modeltech_6.0/”目录下建立一个名为xilinxlib的文件夹;
◆启动modelsim后,从“file”菜单项中点击“changedirectory”并指定到刚刚建立的那个文件夹“xilinxlib”;
◆接下来要做的事情是将xilinx库编译到“xilinxlib”文件夹中。有三个库需要被编译。它们分别是“simprims”,“unisims”和“xilinxcorelib”;(所有这些库文件都在“$xilinx/verilog/src”目录下)
◆点击modelsim中的“workspace”窗口,建立一个名为xilinx_corelib的新库;(这个操作创建一个名为“xilinx_corelib”的文件夹,你可以在“workspace”窗口中看到它)
◆现在开始编译!在“compile”菜单中点击“compile”,选择“$xinlinx/verilog/scr/xilinxcorelib”目录中所有的文件,在弹出的对话框中选中刚刚建立的“xilinx_corelib”文件夹,再点击“compile”按钮就可以了编译了;

◆用同样的方式编译其他两个本地库(“simprims”和“unisims”);

第二章调用xilinxcore-generator

当需要在设计中生成参数化和免费的ip内核(黑箱子)时,无论是通过原理图方式还是hdl方式,core-generator都是一个非常有用的程序。
利用core-generator创建一个ip核
利用xilinx提供的core-generator来生成ip核是非常简单的。内核是全参数化的,这就意味着你只需要在空白处填入几个数字和参数,然后程序就会自动产生一个你所需要的

内核。(有些内核是全免费的,有些则没有这么慷慨)
利用core-generator来生成ip核的步骤如下:
◆在“程序”中找到“xilinx”项,然后在“accessories”中启动单独存在的“core-generator”;
◆在“part”标签栏中选择恰当的fpga模型;

◆从“generation”标签栏中选择正确的设计流;(完成后按“ok”按钮)
◆定制你的参数化内核;
◆在内核生成的同时,会弹出一个“readmefile”的信息框来通知一些重要的信息;

◆“*.v”文件是用来作仿真和综合用的,而“*.veo”文件是用来作综合实例用的。(调用意味着把相应的文件加入synplify.pro工程中,而实例指的是可以拷贝这个文件中的某些线到hdl设计的顶层模块中去。退出!)

第三章使用synplify.pro综合hdl和内核

综合是将设计好的hdl代码,图形代码和原理图转变成逻辑单元的技术。同与硬件执行和物理布线非常接近的物理综合相比,逻辑综合是更高层次的综合技术。
利用synplify.pro进行逻辑综合
synplify.pro对于大容量低价格的xilinxspartan系列fpga而言,有着非常好的综合能力。
具体步骤如下:
◆首先创建一个工程;
◆往工程中加入hdl文件(我的演示文件有三个文件,core-generator生成的“async_fifo.v”和“dcm4clk”和一个verilog顶层文件“top.v”)。在synplify.pro环境中设置“implementationoption”;(如果读者非常熟练的话,可以省略这步)
◆往core-generator生成的两个verilog文件中插入synplify.pro能够识别的指示这些指示告诉综合器如何处理这两个特殊的文件;

◆插入“/*synthesissyn_black_box*/”指示通知synplify.pro把模块当作黑箱子来处理,同时指示“/*synthesissyn_isclock=1*/”表示这个作为时钟输入端的端口不能被综合器识别,因为它除了端口名外没有下层结构;
◆将工程保存在合适的地方,然后综合这个工程;
◆在综合完成后,选择“technologyview”按钮来观察层次结构;(你可以发现内核

◆不管你相信与否!synplify.pro已经生成了你所希望的东西。(拥有专用clock-input-buffer,ibug连接的dcm结构,并且有一个从global-clock-buffer,bufg的反馈结构“clkfb”)

第四章综合后的项目执行

执行是将生成的位文件下载到fpga的最后一个步骤。

同时创建不同的时序模型(post-translate模型,post-map模型和post-par模型)和时序报告。
ise,唯一可以用来执行的工具
ise控制着设计流的各个方面。通过projectnavigator界面,可以进入所有不同的设计实体和实际执行工具。同时也可以访问于工程有关的文件和文档。projectnavigator包含一个平坦的目录结构;
在演示项目中,ise的一些贫乏的功能不得不让道给其他的第三方软件,例如modelsim.pro和synplify.pro,因此ise一般仅仅被用作执行工具。
◆启动ise,用“edif”作为文件输入;(“edif”文件由synplify.pro软件生成,作为终端设计文件,可以被大多数的fpga开发环境识别,例如ise,quartus,isplevel。)

◆在建立了ise工程后,可以加入其他两个文件,一个是与内核相关的“*.xco”文件,另一个是与dcm结构有关的“*.xaw”;
◆现在

第一章modelsim编译xilinx库

本章介绍如何编译hdl必须的xilinx库和结构仿真。
创建将被编译库的目录
在编译库之前,最好先建立一个目录(事实上必须建立一个目录),步骤如下。(假设modelsim的安装目录是“$modeltech_6.0”,ise的安装目录是“$xilinx”)
◆在“$modeltech_6.0/”目录下建立一个名为xilinxlib的文件夹;
◆启动modelsim后,从“file”菜单项中点击“changedirectory”并指定到刚刚建立的那个文件夹“xilinxlib”;
◆接下来要做的事情是将xilinx库编译到“xilinxlib”文件夹中。有三个库需要被编译。它们分别是“simprims”,“unisims”和“xilinxcorelib”;(所有这些库文件都在“$xilinx/verilog/src”目录下)
◆点击modelsim中的“workspace”窗口,建立一个名为xilinx_corelib的新库;(这个操作创建一个名为“xilinx_corelib”的文件夹,你可以在“workspace”窗口中看到它)
◆现在开始编译!在“compile”菜单中点击“compile”,选择“$xinlinx/verilog/scr/xilinxcorelib”目录中所有的文件,在弹出的对话框中选中刚刚建立的“xilinx_corelib”文件夹,再点击“compile”按钮就可以了编译了;

◆用同样的方式编译其他两个本地库(“simprims”和“unisims”);

第二章调用xilinxcore-generator

当需要在设计中生成参数化和免费的ip内核(黑箱子)时,无论是通过原理图方式还是hdl方式,core-generator都是一个非常有用的程序。
利用core-generator创建一个ip核
利用xilinx提供的core-generator来生成ip核是非常简单的。内核是全参数化的,这就意味着你只需要在空白处填入几个数字和参数,然后程序就会自动产生一个你所需要的

内核。(有些内核是全免费的,有些则没有这么慷慨)
利用core-generator来生成ip核的步骤如下:
◆在“程序”中找到“xilinx”项,然后在“accessories”中启动单独存在的“core-generator”;
◆在“part”标签栏中选择恰当的fpga模型;

◆从“generation”标签栏中选择正确的设计流;(完成后按“ok”按钮)
◆定制你的参数化内核;
◆在内核生成的同时,会弹出一个“readmefile”的信息框来通知一些重要的信息;

◆“*.v”文件是用来作仿真和综合用的,而“*.veo”文件是用来作综合实例用的。(调用意味着把相应的文件加入synplify.pro工程中,而实例指的是可以拷贝这个文件中的某些线到hdl设计的顶层模块中去。退出!)

第三章使用synplify.pro综合hdl和内核

综合是将设计好的hdl代码,图形代码和原理图转变成逻辑单元的技术。同与硬件执行和物理布线非常接近的物理综合相比,逻辑综合是更高层次的综合技术。
利用synplify.pro进行逻辑综合
synplify.pro对于大容量低价格的xilinxspartan系列fpga而言,有着非常好的综合能力。
具体步骤如下:
◆首先创建一个工程;
◆往工程中加入hdl文件(我的演示文件有三个文件,core-generator生成的“async_fifo.v”和“dcm4clk”和一个verilog顶层文件“top.v”)。在synplify.pro环境中设置“implementationoption”;(如果读者非常熟练的话,可以省略这步)
◆往core-generator生成的两个verilog文件中插入synplify.pro能够识别的指示这些指示告诉综合器如何处理这两个特殊的文件;

◆插入“/*synthesissyn_black_box*/”指示通知synplify.pro把模块当作黑箱子来处理,同时指示“/*synthesissyn_isclock=1*/”表示这个作为时钟输入端的端口不能被综合器识别,因为它除了端口名外没有下层结构;
◆将工程保存在合适的地方,然后综合这个工程;
◆在综合完成后,选择“technologyview”按钮来观察层次结构;(你可以发现内核

◆不管你相信与否!synplify.pro已经生成了你所希望的东西。(拥有专用clock-input-buffer,ibug连接的dcm结构,并且有一个从global-clock-buffer,bufg的反馈结构“clkfb”)

第四章综合后的项目执行

执行是将生成的位文件下载到fpga的最后一个步骤。

同时创建不同的时序模型(post-translate模型,post-map模型和post-par模型)和时序报告。
ise,唯一可以用来执行的工具
ise控制着设计流的各个方面。通过projectnavigator界面,可以进入所有不同的设计实体和实际执行工具。同时也可以访问于工程有关的文件和文档。projectnavigator包含一个平坦的目录结构;
在演示项目中,ise的一些贫乏的功能不得不让道给其他的第三方软件,例如modelsim.pro和synplify.pro,因此ise一般仅仅被用作执行工具。
◆启动ise,用“edif”作为文件输入;(“edif”文件由synplify.pro软件生成,作为终端设计文件,可以被大多数的fpga开发环境识别,例如ise,quartus,isplevel。)

◆在建立了ise工程后,可以加入其他两个文件,一个是与内核相关的“*.xco”文件,另一个是与dcm结构有关的“*.xaw”;
◆现在

相关IC型号

热门点击

 

推荐技术资料

声道前级设计特点
    与通常的Hi-Fi前级不同,EP9307-CRZ这台分... [详细]
版权所有:51dzw.COM
深圳服务热线:13692101218  13751165337
粤ICP备09112631号-6(miitbeian.gov.cn)
公网安备44030402000607
深圳市碧威特网络技术有限公司
付款方式


 复制成功!