风油精

开发工具Primace简介

0
阅读(1885)

开发工具Primace简介

在安装好软件和许可之后,如图1所示打开传说中的Primace。

clip_image002

图1 开启Primace

关于Primace的使用,如图2所示,可以参考菜单栏的Help,虽然整个文档说明还是相对简单了点,但是好歹也是比较正式的官方的文档。对于有一些其他FPGA开发工具使用经验的朋友,或许瞎捣鼓一会,就能把这个非常简陋的工具折腾个大概。大概就是大概,有效模棱两可的问题还是要去参考下也许更模棱两可的Help,再不行就直接呼叫FAE去吧,他们会很热心的给你有力的support,至少这一点上特权同学是比较满意的。

clip_image004

图2 软件Help

这里的开发工具介绍,绝不做成一般的软件入门介绍,花了一大推乱七八糟的图甚至把最简单的copy/paste都要拿出来充篇幅,实在悲哀。我们直奔主题,抓重点的,把最关键的软件设置和使用做一些鸟瞰式的说明,好让大家在深入使用之前有一个预尝。

打开一个工程后,如图3所示,在Flow菜单下可以单独执行某一步的编译,如Synthesis/Mapper/Placement等。

clip_image006

图3 软件编译流程

当执行某个编译步骤时,如图4所示,在Progress View中可以看到编译的具体进度情况。

clip_image008

图4 ProgressView

编译完成后,如图5所示,在工具主窗口中会有一个各个编译步骤的具体报告。如基本的时间、文件信息,资源使用情况等都会罗列出来。

 

clip_image002[4]

图5 编译报告

和X或A的工具一样,Primace也有专门的所谓Options设置窗口,在这里可以对工程属性做一些基本的设置,包括器件的选择、第三方工具的使用配置、很简单的逻辑或物理编译设置(对系统性能的提升相对有限)、还有大家也许比较关心的时序约束(Timing Constraint)。

clip_image004[4]

图6 选项设置

对不起,这里说Timing Constraint只是遵照着agate自己的说法,实际上并不能说是Constraint,只不过是一些帮助后续报告查看而进行的设置而已。据我所知,目前发布的3.2.0版本还不足以对时序实现真正约束的效果,不过他们的应用经理已经放出话来,在后续金山流片后配套的工具将实现真正约束的功能。怎么说,值得期待吧,毕竟做逻辑的,没有规范的时序约束和分析出来的东西都是不太让人放心的。

虽然没有真正的约束,但是报告还是给出来了。如图7所示,当运行Flow菜单下的Run Timing Analysis后,可以得到一个还算直观的结果报告。

clip_image006[4]

图7 时序报告

内部硬核的配置,可以使用Tools菜单下的Wizard Manager。Astro器件的51硬核配置如图8所示。IP核总得来说还是不够丰富,但是对于简单的MCU扩展系统应用来说,这些简单的硬核配置功能也基本够用。

clip_image008[4]

图8 Astro器件的51硬核配置

IO管脚的分配如图10所示。

clip_image010[7]

图9 IO管脚分配

最后就是一些下载文件的支持了,如图10所示,提供了多种下载方式,如JTAG下载文件、SPI下载文件,SPI下载文件又有简单的FPGA逻辑配置文件和包含FPGA逻辑代码及51软件的配置文件。具体配置方式和应用后面也会专门撰文说明和讨论。

clip_image012[4]

图10 下载文件

clip_image013