(原創) Qsys Generation Tab的Simulation設定的意義 (SOC) (Nios II) (Qsys)

Abstract
若要對含有Nios II的SOPC系統進行simulation,在Qsys的Generation Tab有新的設定,本文討論其設定的意義。

Introduction
使用環境:Windows XP SP3 + VirtualBox 4.1.2 + Quartus II 11.0

在Qsys的Generation tab的Simulation部分,有以下的設定:

nios2_sim00 

根據[1] Quartus II Handbook 11.0 Volumn 1:Section II Chapter 5P.5-12,對各選項的設定解釋如下:

我個人是對以上的解釋有看沒有懂,以下是我實驗後的總結:

Create simulation model:Qsys會產生simulation model與testbench,但不會產生命名為xxx_tb.sys的testbench Qsys system,這種就類似FPGA不使用SOPC時,在top module自己將所有module手動接起來一樣。

Create testbench Qsys system:Qsys會幫你產生命名為xxx_tb.sys的testbench Qsys system,而這個testbench Qsys system就相當於simulation的top module。值得注意的是:這個選項只會幫你建立1個testbench Qsys system,並不會建立testbench與simulation model。

    Standard, BFMs for standard Avalon interfaces:所建立的testbench Qsys system會掛上所有的simulation model,包含各種記憶體與其他周邊,這是最完整的。

    Simple, BFMs for clocks and resets:根據Altera的官方解釋,看起來所建立的testbench Qsys system只會掛上clocks與reset simulation model,事實上還會掛上所有記憶體的simulation model,其實這是合理的,因為Nios II要跑C code,一定要有記憶體才能跑,而且在Nios II SBT的Run As ModelSim時,會根據Linker Script的定義,產生要載入各種記憶體的*.hex或*.dat然後載入到各記憶體的simulation model。值得注意的是:這個選項不會掛上記憶體以外周邊的simulation model,所以Qsys在Generate時會快一些。

Create testbench simulation model:此選項會根據之前所產生的testbench Qsys system去產生testbench與simulation model。

Conclusion
實務上該如何設定這些選項呢?根據[2] Simulating Nios II Embedded Processor Designs,建議使用以下設定:

Create simulation model:None

Create testbench Qsys system:Standard, BFMs for standard Avalon interfaces

Create testbench simulation model:Verilog

理由是既然選擇使用testbench Qsys system,就不用再選擇使用『Create simulation model』,而且Standard, BFMs for standard Avalon interfaces可以產生最完整的testbench與simulation model,包含系統所有的記憶體與周邊。

Reference
[1] Quartus II Handbook 11.0 Volumn 1:Section II Chapter 5的P.5-12
[2] Simulating Nios II Embedded Processor Designs

全文完。

posted on 2011-12-20 23:38 真 OO无双 阅读(...) 评论(...) 编辑 收藏

导航

统计