原创 京微雅格FPGA的仿真方法

2015-5-20 16:26 1034 9 10 分类: FPGA/CPLD 文集: 京微雅格FPGA--新手入门

京微雅格FPGA的仿真方法

京微雅格是世界上除美国以外唯一自主研发并成功量产现场可编程逻辑(FPGA)芯片的公司,目前拥有数百项技术专利和近百款产品。目前,已经有越来越多的用户都开始使用国产FPGA来做自己的设计,然而在FPGA的开发过程中,免不了要对设计进行仿真。京微雅格的FPGA是支持在modelsim中进行仿真的。

京微雅格的FPGA需要在Primace软件中进行开发,为了便于客户进行仿真设计,在Primace5.0及以上版本都支持在工程中直接调用仿真工具Modelsim。同时,也支持在modelsim中直接进行调用京微雅格仿真库的方式脱离primace软件进行仿真。这对利用modelsim进行自动化仿真提供了极大的便利。

 

 

Capital Micro Company is the only company which independent research and have successful produce FPGA chips except the USA. Currently, there are more and more users are beginning to use national FPGA to design, but in the FPGA development process, they have to simulate the design before debug. Capital Micro’s FPGA can be simulated in modelsim.

Capital Micro Company’s FPGA needs to be developed in software named Primace. In order to facilitate customer simulation design, users can directly call Modelsim in Primace5.0. It also supports simulation  in modelsim with library that Capital Micro supplys. This provides a great convenience for automated simulation.

 

 

 

1、       Primace中调用modelsim仿真

Primace5.0及以上版本的软件,直接支持在软件中直接调用modelsim软件进行仿真。具体步骤如下:

一、下载安装Modelsim,能正常使用Modelsim

二、设置Primace软件的EDA工具路径。打开Primace软件,选择Tools菜单下的Options选项,弹出设置窗口。点击左边窗口Environment分支下的EDA Tools标签,在右边的窗口中设置好EDA Simulation Tool下的Modelsim Path路径,例如“C:\modeltech_10.1a\win32”,需要具体到win32目录,如下图所示。

20150520162447392001.jpg

三、编写testbench文件并将文件添加到工程中。并设置文件属性为testbench

testbench文件是仿真激励文件,只有添加到工程中,并且设为testbench属性后,才能让Primace软件识别为激励文件,才能正常启动仿真过程。下图所示为添加名为top_tb.vtestbench文件。

20150520162453431002.png

经过这步,工程里就具备了所有的条件,既有源码Design File,也有Test Bench File

四、运行菜单Flow->Simulation->RTL Simulation 启动RTL级的前仿真。这时Primace会自动调用Modelsim软件,并把所有源码在Modelsim里编译,并自动启动仿真窗口。

20150520162458365003.jpg

同样,运行Flow->Simulation->Timing Simulation可以启动包含时延信息的后仿真,得到的波形是经过布局布线后在芯片内的真实波形仿真结果。

2、       仿真过程探究

    primace调用modelsim后,在modelsim的脚本窗口会发现一些信息,经过查看信息就大概能了解整体仿真的过程是如何进行的。这种仿真,实际是Primace软件启动modelsim后,执行了do文件的结果。

执行过一次RTL Simulation之后,Primace会在工程目录下新建simulate目录,并自动生成所有相关的仿真文件,包括扩展名为.do的文件用文本工具打开*.do文件可以看到其内容:

20150520162503889004.jpg

Modelsimdo文件是modelsim支持的一种批处理文件:

8行:建立rtl_work

9行:把work库映射到rtl_work库上来

10行:编译京微雅格的FPGA仿真库文件

11行:编译工程里使用到的IP仿真核库文件

12行:编译工程里的源文件,激励文件

13行:启动modelsim仿真

14行:添加所有信号到波形文件中

Modelsim执行到此时,用户只需要执行相应的时间就可以进行仿真了。

 

在用Primace调用Moldesim进行仿真时,如果需要更改代码重新编译仿真,每次都去点击Flow->Simulation->RTL Simulation进行仿真,会比较麻烦。其实在连续改代码并生新仿真的过程中,可以按以下步骤进行:

1、    工程第一次可以运行Flow->Simulation->Timing Simulation过程,让软件自动建立do文件,并调用modelsim仿真之后,不要再关闭modelsim程序,直接在modelsim里的脚本执行窗口执行do 文件就可以启动仿真:如输入  do top_rtl_sim.do 并按回车确认。

2、    仿真过程不要关闭modelsim,修改源代码时,可以用modelsim文本编辑器,也可以使用UE等第三方文本编辑器,修改后在脚本执行窗口直接运行do文件。

3、    为防止每次都手动修改并添加仿真信号,可以保存需要的仿真信号。在Modelsim程序的File菜单下,点击Save Format,保存信号文件为wave.do文件。
20150520162508207005.jpg

要自动添加这些信号,修改第14行为 do wave.do”。如果再想自动执行一段时间,可以在15行添加 run 5ms”,这样仿真停止后就可以直接观察所需要的信号了,如下图所示:

20150520162513888006.jpg

3、       直接Modelsim仿真

能不能不用Primace软件调用modelsim的方法,直接在Modelsim里仿真呢?答案是肯定的。这需要有京微雅格的仿真库文件,一旦有了仿真库文件,就可以在第三方仿真工具中灵活进行仿真。具体过程如下:

 

1、              建立modelsim工程,工程名:speed_sim
20150520162518790007.png

添加源文件及testbench文件:

20150520162523115008.jpg

 

2、              添加仿真基础库文件到工程里来
仿真库文件在安装primace的目录里:C:/capital_micro/primace5.0.3/data/lib/

 

3、    添加IPcore必要的源文件。例如工程里使用到FIFO,就到工程目录下的ip_core目录下找相应的源文件,也添加到工程里来。

4、              编译整个工程,把必要的语法错误改掉,直到没有错误。启动仿真
20150520162529846009.jpg

 

使用中的简单方便的技巧:

1、  在波形文件中添加的信号,可以存为wave.do文件,需要的时候执行do wave.do就可以把所需的信号添加到波形窗口中。

2、  更新过原代码后,不需要重新启动仿真,只需要编译一下更新的源代码文件,然后点击复位按钮,把仿真器的所有状态复位,再执行设计的时间,就是新的更新后的代码仿真波形了。这样可以不用每次都通过start simulation启动仿真。

 

 

文章评论1条评论)

登录后参与讨论

用户377235 2015-10-18 01:55

最好把这些写到你们的文档里面,别只在这里写。
相关推荐阅读
用户439204 2013-08-20 17:34
京微雅格FPGA芯片山系列之M5
京微雅格FPGA芯片山系列之M5是目前应用广泛的一款CAP(SOC)芯片,集成了6K的查找表和超高性能的8051内核。关键特性 可编程系统(CME-M5 C/CME-M5 R/CME-M5 P系列...
用户439204 2013-08-20 16:20
Primace结合modelsim进行仿真设计
  Primace结合modelsim进行仿真设计 京微雅格的自主研发的EDA工具Primace是支持调用第三方工具modelsim进行仿真开发的,在Primace4.2版本及以后支持RTL仿真,在P...
我要评论
1
9
关闭 站长推荐上一条 /2 下一条