




已阅读5页,还剩19页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第1章 SOPC流水灯实验实验步骤如下:1.1 实验目的熟悉使用QuartusII软件;熟悉使用SOPC Builder建立自己的Nios2系统;熟悉使用Nios II IDE软件进行编程、调试和下载程序。1.2 实验设备硬件:PC机 一台MagicSOPC教学实验开发平台 一套软件:Quartus II7.0、Nios II IDE 7.01.3 实验内容本实验的内容是使用QuartusII中的SOPC Builder建立一个NiosII系统,并使用NiosII IDE编写C程序,在NiosII IDE中下载程序、调试程序。1.4 实验预习要求预习SOPC嵌入式系统实验教程二第3章3.3节,熟悉建立带DDR SDRAM的NiosII系统;熟悉PIO外设的使用。1.5 实验步骤1.5.1 使用Quartus II建立工程仿照Quartus II7.0软件使用的实验,建立一个Nios2_system的工程,并使工程名与实体名相同。1.5.2 建立Nios II 系统硬件(1) 在Quartus II主界面中选择FileNew打开新建文件对话框,如图1.1所示,在对话框中选择Block Diagram/Schematic File,单击OK建立一个空的顶层原理图设计文件。图1.1 新建文件对话框(2) 在Quartus II主界面中选择ToolsSOPC Builder打开如图1.2所示的对话框,在System Name一栏中填入Nios II 系统的名称nios2_ep2c35,然后单击OK进入到如图1.3所示的SOPC Builder的主界面。图1.2 Create New System对话框图1.3 SOPC Builder的主界面(3) 双击SOPC Builder主界面左侧中的“Nios II ProcessorAltera Corporation”,出现Nios II CPU的配置向导对话框,如图1.4所示,在这果可以有三种Nios II CPU选择,我们选择快速型的Nios II/f,然后单击Next进入下一步配置。图1.4Nios II CPU配置向导(4) 在Instruction Cache项中选择2 Kbytes,在Data Cache项中选择1 Kbytes,如图1.5所示,然后单击Next。图1.5 Caches&Tightly Coupled Memories选项卡(5) 在Advanced Features选项卡中,选择默认参数然后单击Next,到了JTAG Debug Module选项卡,如图1.6所示。这里是选择JTAG调试接口,选择默认的模式Level 1,然后单击Next,到了Custom Instruction 选项卡,也选择默认参数,最后单击Finish完成对Nios II CPU的配置。图1.6 JTAG Debug Module选项卡(6) 添加了Nios II CPU内核后,SOPC Builder在标签处增加了标题为Nios II More “CPU”Settings的附加选项卜,SOPC Builder界面如图1.7所示,选中Module Name下的cpu_0,单击鼠标右键,在Rename项中可以重命名cpu_0的名称为cpu,并在Clock一栏中将50MHz频率改为75MHz。(7) 双击在SOPC Builder主界面左侧中的MemoryDDR SDRAM Controller MegaCoreAltera Corporation,出现DDR SDRAM的配置向导对话框,如图1.8所示。图1.7 添加Nios II核后的窗口图1.8 DDR SDRAM配置对话框(8) 在图1.8的对话框中单击“Step1 Parameterize”按钮,进入如图1.9所示的DDR SDRAM参数设置对话框。 (9) 选中Advanced Mode选项,进入高级参数配置对话框,在Memory选项卡中选择Column address bits一项为9,其它参数默认,如图1.10所示。 图1.9 SDRAM 参数配置对话框1图1.10 SDRAM配置参数对话框2(10) 在Project Settings选项卡中,有一栏名为“Device Pin Prefixes and Names”中的三项内容最好不要修改,选择默认设置,这些名称与QuartusII 顶层原理图设计的引脚名称有关,如图1.11所示。其它的选项卡的参数选择默认参数,最后单击Finish按钮退出第一步设置。(11) 在图1.8的对话框中单击“Step2 Constraints”按钮,进入如图1.12所示的DDR SDRAM参数设置对话框,在该对话框中选择2R为1,0R为0,然后单击OK退出第二步的设置。(12) 在图1.8的对话框中单击“Step3 Add/Updat Component”按钮,这时完成对DDR SDRAM的配置,此时在SOPC Builder中多一个项ddr_sdram_0,修改名称为ddr_sdram。图1.11 SDRAM参数配置对话框3 图1.12 SRAM Constraints配置对话框(13) 双击在SOPC Builder主界面左侧中的OtherPIO(Parallel I/O),出现PIO外设配置的对话框,在Wide一栏中选择8bit,在Direction一栏中选择Output ports only,如图1.13所示,最后单击Finish完成对PIO的设置,此时在SOPC Builder中出现pio_0的外设,修改该名称为LED_PIO。(14) 双击在SOPC Builder主界面左侧中的OtherSystem ID Peripheral,直接在SOPC Builder中加入一名为sysid的外设。(15) 在SOPC Builder的Target栏中Board项中选择MagicSopc_board_2c35目标板,如图1.14所示。单击SOPC Builder菜单的systemAuto-Assign Base Address,进行自动分配地址,单击SOPC Builder菜单的systemAuto-Assign IRQs,进行自动分配中断号。图1.13 PIO配置对话框图1.14 SOPC Builder中的外设配置(16) 在SOPC Builder的Board Settings选项卡中选择Target Device一栏,单击选择“Assign in Quartus II Project”,这是为每一个外设分配到目标板上,如图1.15所示。(17) 在SOPC Builder的Nios II MoreCPUSettings选项卡中,在Reset Address一栏中选择ddr_sdram,在Exception Address一栏中选择ddr_sdram,如图1.16所示。图1.15 Board Settings选项卡图1.16 Nios II MoreCPUSettings对话框(18) 在SOPC Builder的System Generation选项卡中,去除Simulation的选项,然后单击Generate按钮编译系统,编译完后按Exit退出。到现在,已经配置好了一个Nios II CPU的最小系统。 图1.17 Nios II系统的生成1.5.3 使用Quartus II工程设计SOPC系统(1) 在Quartus II工程的原理图文件中双击原理图的空白位置,出现如图1.18所示的对话框,单击OK加入到工程文件中。图1.18 添加NiosII CPU(2) 在Quartus II主界面中选择ToolsMegaWizard Plug-In Manager,出现如图1.19所示的对话框,单击Next,进行下一步配置。图1.19 MegaWizard Plug-In Manager 对话框1(3) 在I/O选项中单击ALTPLL,在“what name do you want for the output file ”中给ALTPLL命名为PLL,单击Next,进行下一步的设置。图1.20 MegaWizard Plug-In Manager 对话框2(4) 在“what is the frequency of the inclock0 input”一栏中设置输入的频率为50MHz,单击Next,进行下一步的设置。(5) 在“Optional inputs ”一栏中取消“Create an areset input to asynchronously reset the PLL”的选项,如图1.22所示,单击Next,进行下一步的设置。图1.21 MegaWizard Plug-In Manager 对话框3图1.22 MegaWizard Plug-In Manager 对话框4(6) 选择默认参数,单击Next,进行下一步设置。在Clock Tap Settings一栏中选择“Enter output clock frequency”,将c0时钟输出为75MHz,单击Next,进行下一步的设置。(7) 在Clock Tap Settings一栏中选择“Enter output clock frequency”,将c1时钟输出为75MHz,在clock phase shift,一项中选择270 deg,单击Next,进行下一步的设置。(8) 以后的每一项设置都选择为默认参数,最单击Finish完成创建PLL。图1.23 MegaWizard Plug-In Manager 对话框5图1.24 MegaWizard Plug-In Manager 对话框6(9) 在Quartus II工程的原理图文件中双击原理图的空白位置,出现如图1.25所示的对话框,单击OK把PLL加入到工程文件中。(10) 保存原理图文件,重新创建一个空白的原理图文件,参考图1.1,然后单击在Quartus II主界面中选择ToolsMegaWizard Plug-In Manager,出现对话框,单击Next,到下一步,然后在单击左侧的ArithmeticLPM_COUNTER,给计数器命名为count,如图1.26所示,然后单击Next到下一步。图1.25 添加PLL模块图1.26 MegaWizard Plug-In Manager 对话框1(11) 在“How wide should the q output bus be?”一栏中选择10bit,如图1.27所示,然后下一步。(12) 在“Do you want any optional additional ports ”一栏中选择“Count Enable”,“Carry-out”,如图1.28所示,然后单击Next,进行下一步配置。图1.27 MegaWizard Plug-In Manager 对话框2图1.28 MegaWizard Plug-In Manager 对话框3(13) 在“Asynchronous inputs”一栏中选择clear选项,如图1.29所示,然后单击Next,进行下一步配置,以后的配置都选择默认参数,直到单击Finish完成配置。(14) 在Quartus II工程新建的原理图文件中双击原理图的空白位置,加入count模块,然后再双击原理图的空白位置,添加逻辑门电路元件,如图1.30所示。(15) 在原理图上添加输入输出引脚,如图1.31所示,最后的原理图电路如图1.32所示。图1.29 MegaWizard Plug-In Manager 对话框4图1.30 添加逻辑门电路模块图1.31 添加输入输出引脚图1.32 复位延时模块电路(16) 保存新建的电路名称为reset_delay模块,然后在Quartus II主界面中选择FileCreate/UpdateCreate Symbol Files for Current File,单击“确定”后把原理图转换为一个模块。(17) 回到名为nios2_system的原理图设计文件中,添加reset_delay模块,如图1.33所示,最后完整的Nios2系统原理图如图1.34所示,然后保存原理图文件。图1.33 添加reset_delay模块图1.34 Nios2系统整体原理图1.5.4 Quartus II工程的设置(1) 在Quartus II主界面中选择AssignmentsDevice打开如图1.35所示的对话框。图1.35 Device选项设置对话框(2) 在图1.35中单击Device&Pin Options 选项,进入如图1.36所示的对话框,在对话框中选择Unused Pins选择卡,在Reserve all unused pins选择项中选择As input tri-stated选项。 图1.36 未用引脚设置(3) 在对话框中选择Configuration选项卡,在configuration device选择中选择EPCS16,如图1.37所示。图1.37 Configuration设置(4) 在Quartus II主界面中,选择FileNew打开如图1.38所示的对话框,单击“OK”,新建了一个脚本约束文件。图1.38 新建Tcl Script文件(5) 在空白的文件中输入如程序清单 1.1所示的代码,然后保存名为Setup文件。程序清单 1.1 Setup的脚本约束文件代码#Setup.tcl#Setup pin settingset_location_assignment PIN_B13 -to clkset_location_assignment PIN_AC13 -to reset_nset_location_assignment PIN_R5 -to ledout0set_location_assignment PIN_P9 -to ledout1set_location_assignment PIN_P7 -to ledout2set_location_assignment PIN_P6 -to ledout3set_location_assignment PIN_P3 -to ledout4set_location_assignment PIN_R8 -to ledout5set_location_assignment PIN_R6 -to ledout6set_location_assignment PIN_T3 -to ledout7set_location_assignment PIN_F21 -to clk_to_sdram0set_location_assignment PIN_F20 -to clk_to_sdram_n0set_location_assignment PIN_E24 -to ddr_a0set_location_assignment PIN_C25 -to ddr_a1set_location_assignment PIN_J25 -to ddr_a2set_location_assignment PIN_G26 -to ddr_a3set_location_assignment PIN_F24 -to ddr_a4set_location_assignment PIN_G23 -to ddr_a5set_location_assignment PIN_F25 -to ddr_a6set_location_assignment PIN_F26 -to ddr_a7set_location_assignment PIN_H19 -to ddr_a8set_location_assignment PIN_K18 -to ddr_a9set_location_assignment PIN_F23 -to ddr_a10set_location_assignment PIN_G22 -to ddr_a11set_location_assignment PIN_D23 -to ddr_ba0set_location_assignment PIN_C24 -to ddr_ba1set_location_assignment PIN_E25 -to ddr_cas_n0set_location_assignment PIN_D25 -to ddr_cke0set_location_assignment PIN_E23 -to ddr_cs_n0set_location_assignment PIN_M25 -to ddr_dm0set_location_assignment PIN_K24 -to ddr_dm1set_location_assignment PIN_N20 -to ddr_dq0set_location_assignment PIN_M20 -to ddr_dq1set_location_assignment PIN_M19 -to ddr_dq2set_location_assignment PIN_M23 -to ddr_dq3set_location_assignment PIN_M22 -to ddr_dq4set_location_assignment PIN_K26 -to ddr_dq5set_location_assignment PIN_K25 -to ddr_dq6set_location_assignment PIN_L19 -to ddr_dq7set_location_assignment PIN_K21 -to ddr_dq8set_location_assignment PIN_K19 -to ddr_dq9set_location_assignment PIN_H26 -to ddr_dq10set_location_assignment PIN_H25 -to ddr_dq11set_location_assignment PIN_J24 -to ddr_dq12set_location_assignment PIN_J23 -to ddr_dq13set_location_assignment PIN_H24 -to ddr_dq14set_location_assignment PIN_H23 -to ddr_dq15set_location_assignment PIN_N23 -to ddr_dqs0set_location_assignment PIN_G25 -to ddr_dqs1set_location_assignment PIN_D26 -to ddr_ras_n0set_location_assignment PIN_E26 -to ddr_we_n0(6) 在Quartus II主界面中,选择ToolsTcl Scripts打开如图1.39所示的对话框,选择ProjectSetup,然后单击“Run”按钮,运行脚本文件。(7) 在Quartus II主界面中,选择AssignmentsAssignment Editor打开如图1.40所示的对话框,在这里可以看到,所用的引脚都已经分配好了。图1.39 Tcl Scripts对话框图1.40 引脚分配表1.5.5 QuartusII工程的编译单击QuartusII工程中编译按钮,编译整个工程,编译后得到编译报告。1.5.6 使用QuartusII软件下载程序查看QuartusII7.0的实验。1.6 Nios II IDE的基本使用(1) 双击桌面上Nios II IDE的图标,启动Nios II IDE软件,启动后的界面如图1.41所示。图1.41 Nios II IDE启动后界面(2) 在Nios II IDE的工程中选择FileNewNios II C/C+ Application,新建一个C/C+工程文件,在Name一项中填入工程名,在这里我们命名为led_flow,在SOPC Builder System一项里,我们选择QuartusII工程目录下的nios2_ep2c32,如图1.42所示,然后单击Next,进行下一步配置。图1.42 新建工程对话框配置1(3) 由于我们这里是新创建一个系统库,所示选择“Create a new system library named”一项,最后单击“Finish”,完成工程配置选项。图1.43 新建工程对话框配置2(4) 创建工程后,工程的C文件为hello_world.c的模版,在这里,我们将自己的应用程序把hello_world的原程序覆盖掉,并在左侧的led_flow工程中选中hello_world.c的文件,单击鼠标的右键选择Rename一项,把名字改为led_flow.c。图1.44 Nios II IDE创建工程后界面(5) 选中Nios II IDE工程右侧的led_flow工程,单击鼠标的右键,选择“System Library Properties”一项,配置系统的参数,在这里,我们选择默认参数,如图1.45所示。图1.45 系统配置设置(6) 选中Nios II IDE工程右侧的led_flow工程,单击鼠标的右键,选择“Build Project”一项,开始编译工程,在工程下面的Console选项卡中查看编译信息。(7) 选中Nios II IDE工程右侧的led_flow工程,单击鼠标的右键,选择Run AsNios II Hardware,开始下载程序到FPGA,等待下载完毕后,在实验箱上可以看到流水灯现像。(8) 选中Nios II IDE工程右侧的led_flow工程,单击鼠标的右键,选择Debuf AsNios II Hardware,开始进入调试仿真状态,如图1.46所示。在delayMs(500)一行中加入断点,然后按F6可以单步运行,按F8可以运行到断点,可以跟踪程序的运行情况。在Debug窗口中,在右上角选中Debug,然
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 海上风电技术突破2025:产业规模化发展关键因素研究报告
- 2024-2025年高中化学 专题4 第1单元 卤代烃说课稿 苏教版选修5
- 海上风电产业技术创新与产业升级研究报告
- 2025年互联网金融平台用户信任建立与维护的金融科技与风险控制协同报告
- 洞察2025:家电制造行业出口竞争力评估与海外市场拓展蓝图报告
- 洞察2025:家电制造行业出口竞争力与欧洲市场拓展策略研究报告
- 农业产业化龙头企业产业链金融创新与风险管理研究报告
- 针对2025年工业互联网平台的边缘网络数据备份解决方案报告
- 2025年工业互联网平台5G模组适配性在智能森林防火监测中的应用案例
- 铁路车辆钳工应急处置考核试卷及答案
- 企业创新体系建设课件
- 全文《中国式现代化》PPT
- 家蚕饲养技术课件
- 园林绿化景观施工组织设计概述
- Britax宝得适百代适儿童汽车安全座椅推车婴童用品全线产品介绍
- 10kV高压开关柜验收规范标准详
- 英才学院《机械工程测试技术》课件07振动的测试
- 焊材入库、发放与回收记录模板
- 生药学-绪论-第一章
- 2019版外研社高中英语选择性必修二单词默写表
- 第一讲 ASPEN Plus使用入门课件
评论
0/150
提交评论