有关Nios的ModelSim仿真Word格式.docx
- 文档编号:15703229
- 上传时间:2022-11-15
- 格式:DOCX
- 页数:22
- 大小:148.13KB
有关Nios的ModelSim仿真Word格式.docx
《有关Nios的ModelSim仿真Word格式.docx》由会员分享,可在线阅读,更多相关《有关Nios的ModelSim仿真Word格式.docx(22页珍藏版)》请在冰豆网上搜索。
Step2:
JTAGUART設定
使用ModelSim-Altera仿真後,對於C的printf()要怎麼顯示呢?
這要對JTAGUART做設定。
Step3:
對PIO做初始值設定
Button本來是在runtime由user去決定,若你想在testbench就模擬user的按鍵,可在此設定,此步驟並非必須,只是demo可藉由此方式設定PIO的初始值。
Step4:
在SOPCBuilder設定ModelSim-Altera路徑
Tools->
Options->
Category:
HDLSimulator
Step5:
產生能仿真的NiosII系統
記得要將『Simulation.Createprojectsimulatorfiles』打勾。
Step6:
DE2_NIOS_ModelSim2.v/Verilog
1
/*
2
(C)OOMusou2008
3
4
Filename
:
DE2_NIOS_ModelSim2.v
5
Compiler
QuartusII7.2SP3
6
Description:
DemohowtosimulateNiosIIbyModelSim-Altera
7
Release
08/02/20081.0
8
*/
9
10
moduleDE2_NIOS_ModelSim2(
11
inputCLOCK_50,
12
input[3:
0]KEY,
13
output[8:
0]LEDG
14
);
15
16
wire
CPU_CLK;
17
CPU_RESET;
18
19
Reset_Delay
delay1(
20
.iRST(KEY[0]),
21
.iCLK(CLOCK_50),
22
.oRESET(CPU_RESET)
23
24
25
SDRAM_PLLPLL1(
26
.inclk0(CLOCK_50),
27
.c1(CPU_CLK)
28
29
30
nios_iiu0(
31
.clk(CPU_CLK),
32
.reset_n(CPU_RESET),
33
.in_port_to_the_button_pio(KEY),
34
.out_port_from_the_ledg_pio(LEDG)
35
36
37
endmodule
25行
別被SDRAM_PLL嚇到了,只是借用這個PLL產生100Mhz的clock給NiosII用,你也可以自己重新產生一個100Mhz的clock而不用SDRAM_PLL。
QuartusII與SOPCBuilder部分已經完成,編譯後可燒進DE2。
NiosIIEDS部分
建立HelloWorldproject
hello_world.c/C
#include<
stdio.h>
#include"
system.h"
altera_avalon_pio_regs.h"
intmain(){
inti;
printf("
HellofromNiosII!
\n"
for(i=
0;
i<
256;
i++)
IOWR_ALTERA_AVALON_PIO_DATA(LEDG_PIO_BASE,i);
return
}
LEDG_PIO_BASE這個巨集跟文件的不一樣,因為在SOPCBuilder中,我們已經使用了不同的名稱。
修改SystemLibrary設定
由於我們使用的onchipmemory只有40K,正常的NiosII是無法執行的,所以必須做些設定,讓codesize變小。
在Altera原廠文件並沒有這一步,因為它用的是SDRAM夠大,根本不用考慮codesize的問題。
選擇不支援C++會讓codesize小一點,另外要勾選ModelSimonly,nohardware。
設定讓gcc編譯出的codesize小一點,若你對codesize最佳化有興趣,建議參考(原創)如何有效減少NiosIIEDS所編譯程式碼大小?
(ICDesign)(NiosII)。
編譯HelloWorld且RunAsNiosIIModelSim。
NiosIIEDS部分已經完成,接著會出現ModelSim-Altera。
ModelSim-Altera部分
編譯Verilog
QuartusII已經產生好ModelSim的macro,你只要打s就可重新編譯,這是最危險的時刻,若會失敗都是出在這個時候,我之前曾經使用友晶的NiosIIReferenceDesign來做仿真,但有些module無法編譯成功,目前原因還不明。
若成功編譯,會有以下的結果:
#ReadingC:
/altera/72/modelsim_ae/tcl/vsim/pref.tcl
#ReadingD:
/0Clare/DE2/DE2_NIOS_ModelSim2/nios_ii_sim/modelsim.tcl
#c:
/altera/72/quartus//sopc_builder
/altera/72/quartus//bin/perl
#Sopc_BuilderDirectory:
c:
/altera/72/quartus//sopc_builder
#@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@
#@@
#@@setup_sim.do
#@@Definedaliases:
#@@s--Loadalldesign(HDL)files.
#@@re-vlog/re-vcomandre-vsimthedesign.
#@@c--Re-compilememorycontents.
#@@BuildsC-
andassembly-languageprograms
#@@(andassociatedsimulationdata-files
#@@suchasUARTsimulationstrings)for
#@@refreshingmemorycontents.
#@@DoesNOTre-generatehardware(HDL)files
#@@ONLYWORKSWITHLEGACYSDK(NottheNiosIDE)
#@@w--Sets-upwaveformsforthisdesign
#@@EachSOPC-Buildercomponentmayhave
#@@signals'
marked'
fordisplayduring
#@@simulation.Thiscommandopensawave-
#@@windowcontainingallsuchsignals.
#@@l--Sets-uplistwaveformsforthisdesign
forlistingduring
#@@simulation.Thiscommandopensalist-
#@@jtag_uart_drive--displayinteractiveinputwindowforjtag_uart
#@@h--printthismessage
#
OpenFile"
nios_ii_sim.mpf"
#Loadingprojectnios_ii_sim
s
#ModelTechnologyModelSimALTERAvlog6.1gCompiler2006.08Aug12
2006
#--Compilingmodulebutton_pio_s1_arbitrator
#--Compilingmodulecpu_jtag_debug_module_arbitrator
#--Compilingmodulecpu_data_master_arbitrator
#--Compilingmodulecpu_instruction_master
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 有关 Nios ModelSim 仿真