ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:148.13KB ,
资源ID:2792129      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/2792129.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(有关Nios的ModelSim仿真.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

有关Nios的ModelSim仿真.docx

1、有关Nios的ModelSim仿真Abstract在剛學習Nios II時,每次在Run As Nios II Hardware下方,看到Run As Nios II ModelSim就覺得很好奇,Nios II明明是嵌入式系統,怎麼能用ModelSim仿真呢?Introduction使用環境:Quartus II 7.2 SP3 + Nios II EDS 7.2 SP3 + ModelSim-Altera 6.1g + DE2(Cyclone II EP2C35F627C6)用ModelSim對數字系統作仿真,這個大家都很熟悉,在(原創) 如何解決在Quartus II無法使用ModelS

2、im-Altera模擬的問題? (SOC) (Quartus II) (ModelSim)與(原創) 如何做functional simulation? (SOC) (Quartus II) (ModelSim)都曾經討論過。Nios II雖然是個嵌入式系統,但畢竟基於FPGA技術,所以比ARM這類hardcore多了使用ModelSim仿真的方式。這也是Altera四大天王(Quartus II、Nios II EDS、ModelSim-Altera、DSP Builder)中的三大天王首次同台演出。Altera在Simulating Nios II Embedded Processor D

3、esigns文件中,有談到如何用ModelSim-Altera對Nios II作仿真,不過一如以往,Altera的文件要在DE2能動,還是得做不少修改,昨晚弄了一晚也弄不出來,在大家常去的Altera Forum 、Nios Forum與EDACN的討論中發現,真正做出來的人並不多。今天早上運氣好竟然成功了,趕快將心得記下來。 Quartus II與SOPC Builder部分Step 1:建立一個最簡單的Nios II系統 文件中的那個系統並不適合DE2,用了一定不能動,所以就自己建立一個最簡單的Nios II系統。為了要簡單,就先使用onchip memory與ledg與button就好,

4、其他IP都先別用,以減少失敗的變因。 Step 2:JTAG UART設定 使用ModelSim-Altera仿真後,對於C的printf()要怎麼顯示呢?這要對JTAG UART做設定。 Step 3:對PIO做初始值設定 Button本來是在runtime由user去決定,若你想在testbench就模擬user的按鍵,可在此設定,此步驟並非必須,只是demo可藉由此方式設定PIO的初始值。 Step 4:在SOPC Builder設定ModelSim-Altera路徑 Tools - Options - Category:HDL Simulator Step 5:產生能仿真的Nios I

5、I系統 記得要將Simulation. Create project simulator files打勾。 Step 6:DE2_NIOS_ModelSim2.v / Verilog1/*2(C) OOMusou 2008 34Filename : DE2_NIOS_ModelSim2.v5Compiler : Quartus II 7.2 SP36Description : Demo how to simulate Nios II by ModelSim-Altera7Release : 08/02/2008 1.08*/910module DE2_NIOS_ModelSim2 (11 in

6、put CLOCK_50,12 input 3:0 KEY,13 output 8:0 LEDG14);1516wire CPU_CLK;17wire CPU_RESET;1819Reset_Delay delay1 (20 .iRST(KEY0),21 .iCLK(CLOCK_50),22 .oRESET(CPU_RESET)23);2425SDRAM_PLL PLL1 (26 .inclk0(CLOCK_50),27 .c1(CPU_CLK)28);2930nios_ii u0 (31 .clk(CPU_CLK),32 .reset_n(CPU_RESET),33 .in_port_to_

7、the_button_pio(KEY),34 .out_port_from_the_ledg_pio(LEDG)35);3637endmodule25行SDRAM_PLL PLL1 ( .inclk0(CLOCK_50), .c1(CPU_CLK);別被SDRAM_PLL嚇到了,只是借用這個PLL產生100 Mhz的clock給Nios II用,你也可以自己重新產生一個100 Mhz的clock而不用SDRAM_PLL。Quartus II與SOPC Builder部分已經完成,編譯後可燒進DE2。Nios II EDS部分Step 1:建立Hello World projecthello_w

8、orld.c / C1#include 2#include system.h3#include altera_avalon_pio_regs.h45int main() 6 int i;7 printf(Hello from Nios II!n);8 9 for(i =0; i 256; i+)10 IOWR_ALTERA_AVALON_PIO_DATA(LEDG_PIO_BASE, i);1112 return0;13LEDG_PIO_BASE這個巨集跟文件的不一樣,因為在SOPC Builder中,我們已經使用了不同的名稱。Step 2:修改System Library設定由於我們使用的o

9、nchip memory只有40K,正常的Nios II是無法執行的,所以必須做些設定,讓code size變小。在Altera原廠文件並沒有這一步,因為它用的是SDRAM夠大,根本不用考慮code size的問題。選擇不支援C+會讓code size小一點,另外要勾選ModelSim only, no hardware。設定讓gcc編譯出的code size小一點,若你對code size最佳化有興趣,建議參考(原創) 如何有效減少Nios II EDS所編譯程式碼大小? (IC Design) (Nios II)。Step 3:編譯Hello World且Run As Nios II Mo

10、delSim。Nios II EDS部分已經完成,接著會出現ModelSim-Altera。ModelSim-Altera部分Step 1:編譯VerilogQuartus II已經產生好ModelSim的macro,你只要打s就可重新編譯,這是最危險的時刻,若會失敗都是出在這個時候,我之前曾經使用友晶的Nios II Reference Design來做仿真,但有些module無法編譯成功,目前原因還不明。若成功編譯,會有以下的結果:# Reading C:/altera/72/modelsim_ae/tcl/vsim/pref.tcl # Reading D:/0Clare/DE2/DE2

11、_NIOS_ModelSim2/nios_ii_sim/modelsim.tcl # c:/altera/72/quartus/sopc_builder# c:/altera/72/quartus/bin/perl# Sopc_Builder Directory: c:/altera/72/quartus/sopc_builder # # # setup_sim.do # # Defined aliases: # # s - Load all design (HDL) files. # re-vlog/re-vcom and re-vsim the design. # # c - Re-com

12、pile memory contents. # Builds C-and assembly-language programs # (and associated simulation data-files # such as UART simulation strings) for# refreshing memory contents. # Does NOT re-generate hardware (HDL) files # ONLY WORKS WITH LEGACY SDK (Not the Nios IDE) # # w - Sets-up waveforms for this d

13、esign# Each SOPC-Builder component may have # signals markedfor display during # simulation. This command opens a wave-# window containing all such signals. # # l - Sets-up list waveforms for this design# Each SOPC-Builder component may have # signals markedfor listing during # simulation. This comm

14、and opens a list-# window containing all such signals. # # jtag_uart_drive - display interactive input window for jtag_uart # # h - print this message # # # OpenFile nios_ii_sim.mpf# Loading project nios_ii_sims# Model Technology ModelSim ALTERA vlog 6.1g Compiler 2006.08 Aug 122006# - Compiling module button_pio_s1_arbitrator# - Compiling module cpu_jtag_debug_module_arbitrator# - Compiling module cpu_data_master_arbitrator# - Compiling module cpu_instruction_master

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1