Modelsim、Synplify.Pro、ISE设计全流程
2013-01-12
标签:

第一章 Modelsim编译Xilinx库

本章介绍如何编译HDL必须的Xilinx库和结构仿真。

创建将被编译库的目录

在编译库之前,最好先建立一个目录(事实上必须建立一个目录),步骤如下。(假设Modelsim的安装目录是“$Modeltech_6.0”,ISE的安装目录是“$Xilinx”)

  • 在“$Modeltech_6.0/”目录下建立一个名为XilinxLib的文件夹;
  • 启动Modelsim后,从“File”菜单项中点击“Change Directory”并指定到刚刚建立的那个文件夹“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”);

二、调用Xilinx CORE-Generator

当需要在设计中生成参数化和免费的IP内核(黑箱子)时,无论是通过原理图方式还是HDL方式,CORE-Generator都是一个非常有用的程序。

利用CORE-Generator创建一个IP核

利用Xilinx提供的CORE-Generator来生成IP核是非常简单的。内核是全参数化的,这就意味着你只需要在空白处填入几个数字和参数,然后程序就会自动产生一个你所需要的

内核。(有些内核是全免费的,有些则没有这么慷慨)

利用CORE-Generator来生成IP核的步骤如下:

  • 在“程序”中找到“Xilinx”项,然后在“Accessories”中启动单独存在的“CORE-Generator”;
  • 在“Part”标签栏中选择恰当的FPGA模型;

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

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

第三章 使用Synplify.Pro综合HDL和内核

综合是将设计好的HDL代码,图形代码和原理图转变成逻辑单元的技术。同与硬件执行和物理布线非常接近的物理综合相比,逻辑综合是更高层次的综合技术。

利用Synplify.Pro进行逻辑综合

Synplify.Pro对于大容量低价格的Xilinx Spartan系列FPGA而言,有着非常好的综合能力。

具体步骤如下:

  • 首先创建一个工程;
  • 往工程中加入HDL文件(我的演示文件有三个文件,CORE-Generator生成的“async_fifo.v”和“dcm4clk”和一个Verilog顶层文件“top.v”)。在Synplify.Pro环境中设置“Implementation Option”;(如果读者非常熟练的话,可以省略这步)
  • 往CORE-Generator生成的两个Verilog文件中插入Synplify.Pro能够识别的指示这些指示告诉综合器如何处理这两个特殊的文件;

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

  • 继续深入了解“dcm4clk1”模块的结果;

  • 不管你相信与否!Synplify.Pro已经生成了你所希望的东西。(拥有专用Clock-Input-Buffer,IBUG连接的DCM结构,并且有一个从Global-Clock-Buffer,BUFG的反馈结构“CLKFB”)

共 2 页   12下一页
可能会用到的工具/仪表
相关文章
推荐文章
热门文章
章节目录
本站简介 | 意见建议 | 免责声明 | 版权声明 | 联系我们
CopyRight@2024-2039 嵌入式资源网
蜀ICP备2021025729号