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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

SOPC实验报告材料.docx

1、SOPC实验报告材料 SOPC系统设计技术实验报告姓 名: 学 号: 院 系: 信息科学与工程学院 专 业:电子科学与技术 指导老师: 完成日期: 2015年04月25日 实验二、NIOSII实现串口收发数据及LCD显示一、实验目的(1)进一步熟悉QuartusII、SOPC Builder、NIOS II IDE的操作;(2)掌握SOPC硬件系统及NIOS II软件的开发流程。二、实验内容(1)、实验平台:硬件:PC级、SmartSOPC+教学实验开发平台;软件:Quartus II 9.0, SOPC Builder 9.0, NIOS II IDE 9.0。(2)、实验内容:建立包含SD

2、RAM、JTAG_UART、Timer、LCD的NIOS II处理器系统,通过JTAG_UART从IDE的控制端窗口读取输入值N,计算1至N的累加值,并将计算结果及计算花费时间的显示在LCD中。三、实验步骤3.1硬件设计根据实验内容,可以得出本次实验的硬件结构图如图3.1所示:图3.1 硬件设计结构图具体硬件设计步骤如下:1)、在Quartus II中建立一个工程命名为:smallCore,器件设置为EP3C55F484C8;2)、以原理图输入方式建立空白顶层模块,并保持;3)、打开SOPC Builder,命名SOPC系统名称为nios2system,开始建立NIOS II系统。4)、双击S

3、OPC Builder主界面左侧中的“Nios II Processor”,出现Nios II CPU的配置向导对话框,如图1.4所示,在这里可以有三种Nios II CPU选择,我们选择快速型的Nios II/f,不使用硬件乘法器及除法器。然后单击Next进入下一步配置;Instruction Cache项中选择2 Kbytes,在Data Cache项中选择512 Bytes,单击Next进行下一步配置;在“Advanced Features”和“MMU and MPU Settings”选项卡中选择默认参数,然后单击Next,到了“JTAG Debug Module”选项卡,如图1.6所

4、示。这里是选择JTAG调试接口,选择默认的模式Level 1,然后单击Next,到了“Custom Instruction”选项卡,也选择默认参数,最后单击Finish完成对Nios II CPU的配置。5)、添加了Nios II CPU内核后,选中Module Name下的cpu_0,单击鼠标右键,在Rename项中可以重命名cpu_0的名称为cpu,并在“Clock Settings”一栏中将clk_0名称改为clk。6)、双击在SOPC Builder主界面左侧中的Bridges and AdaptersMemory MappedAvalon-MM Clock Crossing Brid

5、ge,出现Clock Crossing Bridge的配置向导对话框,在“Slave-to-Master FIFO”中的FIFO depth中选择64。单击“finish”退出配置对话框,并重命名clock_crossing_0的名称为clock_crossing。7)、双击在SOPC Builder主界面左侧中的Memories and Memory ControllersSDRAMDDR SDRAM High Performance Controller,出现DDR SDRAM High Performance Controller的配置向导对话框。修改“General Settings”

6、选项卡的参数配置,参数修改如下:Speed grade:8PLL reference clock frequency:85Memory clock frequency:100Local interface clock frequency:full修改“Modify Parameters”: DDR SDRAM控制器参数,参数修改如下:Total Memory interface DQ width:16 Memory vendor:otherColumn address width:98)、修改DDR SDRAM的控制器ddr_sdram_0的名称为ddr_sdram,并在ddr_sdram左侧

7、中取消cpu.instruction_master和cpu.data_master中的实点,选择clock_crossing.m1的实点,将ddr_sdram控制器连接到Clock Crossing Bridge的m1中。9)、双击在SOPC Builder主界面左侧中的Bridges and AdaptersMemory MappedAvalon-MM Pipeline Bridge,出现Pipeline Bridge的配置向导对话框,选择默认参数,单击“finish”添加到SOPC Builder中,并重命名pipeline_bridge_0为pipeline_bridge。10)、双击在

8、SOPC Builder主界面左侧中的PeripheralsMicrocontroller PeripheralsPIO(Parallel I/O),出现PIO外设配置的对话框,在Wide一栏中选择8bit,在Direction一栏中选择Output ports only,如图1.13所示,最后单击Finish完成对PIO的设置,此时在SOPC Builder中出现pio_0的外设,修改该名称为LED_PIO,并把LED_PIO外设连接到pipeline_bridge.m1上。11)、双击在SOPC Builder主界面左侧中的PeripheralsDebug and PerformanceS

9、ystem ID Peripheral,直接在SOPC Builder中添加sysid的外设,修改sysid_0名称为sysid,并把sysid外设连接到pipeline_bridge.m1上。12)、双击在SOPC Builder主界面左侧中的PLLPLL,单击“Launch Alteras ALTPLL MegaWizard”,出现PLL配置对话框1。在“what is the frequency of the inclock0 input”一栏中设置输入的频率为50MHz,单击Next,进行下一步的设置。在PLL配置对话框2中的“Lock output”中选择“Create locked

10、 output”,PLL配置对话框的page3、4、5都选择默认参数,在page6中Clock Tap Settings一栏中选择“Enter output clock frequency”,将c0时钟输出为85MHz,单击Next,进行下一步的设置。PLL配置对话框的page7-11都选择默认参数,在page12中单击“finish”退出PLL配置对话框,最后再单击“finish”退出。在SOPC Builder中重命名pll_0为sys_pll,并把sys_pll外设连接到pipeline_bridge.m1上。13)、 在“Clock Settings”一栏中将sys_pll_c0名称改

11、为system_clk,并在SOPC Builder中的Clock一栏中为每一个外设选择合适的clock信号。需要特别注意的是sys_pll中的s1时钟需要选择clk,clock_crossing中的s1需要选择system_clk,m1需要选择ddr_sdram_sysclk,ddr_sdram对应选择system_clk,ddr_sdram中的s1需要选择ddr_sdram_sysclk,其它的外设选择system_clk。14)、添加JTAG_UART:使用缺省设置,命名为jtag_uart,对应system_clk,连接至pipeline_bridge;15)、添加Timer: Ini

12、tial Period改为20ms,命名为sys_clock_timer, 对应system_clk,连接至pipeline_bridge;16)、添加Avalon-MM Tristate bridge: 使用缺省设置,命名为ext_bus,对应system_clk,连接至cpu;17)、添加zlg_avalon_lcd240_128: 命名为lcd240_128,对应system_clk,连接至ext_bus;18)、添加pio: 1位输出,output only, 命名为lcd_light,对应system_clk,连接至pipeline_bridge;19)、单击SOPC Builder

13、菜单的systemAuto-Assign Base Address,进行自动分配地址,单击SOPC Builder菜单的systemAuto-Assign IRQs,进行自动分配中断号。20)、双击SOPC Builder中的cpu,确认在Reset Address一栏中选择ddr_sdram,在Exception Address一栏中选择ddr_sdram。完整的nios2系统如图3.2所示:图3.2 nios2系统构造图时钟设制如图3.3所示:图3.3 系统时钟设置图21)、生成系统。在之前建立好的原理图文件中添加NIOS II 系统至顶层模块,保存原理图文件。22)、定制delay_re

14、set_block模块:原理图如图3.4所示:图3.4 delay_reset_block模块原理图23)、在smallCore原理图中添加delay_reset_block模块原理图,并且添加输入输出端口,得到系统原理图,如图3.5所示:图3.5系统原理图24)、在Quartus II主界面中选择AssignmentsDevice。在“Available devices”一栏中选择“EP3C55F484C8”器件。对器件和引脚进行配置。配置项有:Unused Pins设置为:As input tri-stated;configuration device设置为:EPCS16;Default

15、I/O standard配置为:3.3-V LVTTL电平;Dual-Purpose Pins中的所有引脚设置为“Use as regular I/O”。25)、将DDR SDRM引脚约束文件中的“YES”改为“NO”,运行DDR SDRM引脚约束文件。26)、对系统进行引脚分配:新建引脚约束文件:”setup.tcl”。setup.tcl文件见附录。运行set.up.tcl引脚约束文件。27)、编译整个工程,编译成功之后将系统下载到 FPGA 中去。硬件设计完成。3.2 软件设计本系统的软件设计流程图如图3.6所示:图3.6 软件设计流程图具体步骤如下:1)、在Nios II IDE的工程中

16、选择FileNewNios II C/C+ Application,新建一个C/C+工程文件,在“Select Project Template”一项中选择空白文件。在Name一项中填入工程名,在这里我们命名为num,在SOPC Builder System一项里,我们选择QuartusII工程目录下的nios2system.ptf文件。2)、选中Nios II IDE工程右侧的num工程,单击鼠标的右键,选择“System Library Properties”一项,配置系统的参数,在这里,我们选择默认参数。3)、添加主程序文件num.c文件(见附录),zlg_avalon_lcd240_1

17、28.c文件,zlg_avalon_lcd240_128.h文件。4)、选中Nios II IDE工程右侧的led_flow工程,单击鼠标的右键,选择“Build Project”一项,开始编译工程,在工程下面的Console选项卡中查看编译信息。5)、 选中Nios II IDE工程右侧的num工程,单击鼠标的右键,选择Run AsNios II Hardware,开始下载程序到FPGA,等待下载完毕后,在实验箱上可以看到LCD屏幕显示的变化。四、结论4.1 结果展示运行后的结果如图4.1所示:图4.1实验结果图当输入N为100时的计算结果为5050 ,耗时为2039,这里的2039是执行指

18、令的时间,不是秒。4.2实验总结1、试验中遇到的问题:1)、在使用SOPC builder设计nios2系统时,每个IP核对应的时钟很重要,要细心选择,经常选错;2)、添加完所有IP核后,忘记对cpu的复位地址和异常处理地址进行设置,导致系统生成不成功:3)、引脚分配不成功,导致编译通不过;4)、软件程序下载不到DDR SDRM中,(可能原因:没有对DDR SDRM的时钟设置-75度的相位偏移;)(尚未解决)2、总结:在本实验中,我们学习了SOPC系统的设计流程,从硬件设计到软件设计,深刻体会到了SOPC设计在系统设计中的优势1)、设计全程,包括电路系统描述、硬件设计、仿真测试、综合、调试、系

19、统软件设计,直至整个系统完成,都由计算机进行。2)、设计技术直接面向用户,专用集成电路的被动使用者也可能成为专用集成电路的主动设计者。3)、系统级专用集成电路的实现除了传统的ASIC器件外,还能通过大规模FPGA等可编程器件来实现。在软件设计方面,NIOS II实际和一般的CPU设计方法是一样的,这样对于有一定单片机编程的设计人员来说具有极大优势。并且开发环境也是功能齐全,界面环境友好。具有开发简单,易于操作。五、附录5.1 setup.tcl文件set_global_assignment -name FAMILY Cyclone IIIset_global_assignment -name

20、DEVICE EP3C55F484C8set_global_assignment -name RESERVE_ALL_UNUSED_PINS AS INPUT TRI-STATEDset_global_assignment -name RESERVE_ALL_UNUSED_PINS_NO_OUTPUT_GND AS INPUT TRI-STATEDset_global_assignment -name ENABLE_CLOCK_LATENCY ONset_global_assignment -name CYCLONE_CONFIGURATION_DEVICE EPCS16# system cl

21、ock and reset-set_location_assignment PIN_T2 -to sys_clkset_location_assignment PIN_B11 -to reset_n# ddr sdram-set_location_assignment PIN_AA3 -to mem_clkset_location_assignment PIN_AB3 -to mem_clk_nset_location_assignment PIN_AB18 -to mem_addr0set_location_assignment PIN_AB19 -to mem_addr1set_locat

22、ion_assignment PIN_AB20 -to mem_addr2set_location_assignment PIN_AA20 -to mem_addr3set_location_assignment PIN_Y17 -to mem_addr4set_location_assignment PIN_W17 -to mem_addr5set_location_assignment PIN_Y15 -to mem_addr6set_location_assignment PIN_Y14 -to mem_addr7set_location_assignment PIN_AA15 -to

23、mem_addr8set_location_assignment PIN_AB15 -to mem_addr9set_location_assignment PIN_AA17 -to mem_addr10set_location_assignment PIN_AA14 -to mem_addr11set_location_assignment PIN_AB14 -to mem_addr12set_location_assignment PIN_Y3 -to mem_dq0set_location_assignment PIN_W6 -to mem_dq1set_location_assignm

24、ent PIN_AA4 -to mem_dq2set_location_assignment PIN_AA5 -to mem_dq3set_location_assignment PIN_W7 -to mem_dq4set_location_assignment PIN_Y7 -to mem_dq5set_location_assignment PIN_U9 -to mem_dq6set_location_assignment PIN_V8 -to mem_dq7set_location_assignment PIN_AB7 -to mem_dq8set_location_assignment

25、 PIN_Y8 -to mem_dq9set_location_assignment PIN_U10 -to mem_dq10set_location_assignment PIN_AA8 -to mem_dq11set_location_assignment PIN_AB8 -to mem_dq12set_location_assignment PIN_AA9 -to mem_dq13set_location_assignment PIN_V11 -to mem_dq14set_location_assignment PIN_W10 -to mem_dq15set_location_assi

26、gnment PIN_V10 -to mem_dqs0set_location_assignment PIN_AB9 -to mem_dqs1set_location_assignment PIN_V5 -to mem_dm0set_location_assignment PIN_AA7 -to mem_dm1set_location_assignment PIN_AA16 -to mem_ba0set_location_assignment PIN_AB17 -to mem_ba1set_location_assignment PIN_AB13 -to mem_cas_nset_locati

27、on_assignment PIN_AA13 -to mem_ras_nset_location_assignment PIN_AB16 -to mem_cs_nset_location_assignment PIN_AA19 -to mem_ckeset_location_assignment PIN_Y13 -to mem_we_n# ext bus and lcd240x128-set_location_assignment PIN_G8 -to data0set_location_assignment PIN_H3 -to data1set_location_assignment PI

28、N_H7 -to data2set_location_assignment PIN_J7 -to data3set_location_assignment PIN_K7 -to data4set_location_assignment PIN_N7 -to data5set_location_assignment PIN_M6 -to data6set_location_assignment PIN_M5 -to data7set_location_assignment PIN_C10 -to address0set_location_assignment PIN_E15 -to addres

29、s1set_location_assignment PIN_G14 -to address2set_location_assignment PIN_C8 -to write_nset_location_assignment PIN_F15 -to read_nset_location_assignment PIN_C18 -to out_portset_location_assignment PIN_D17 -to chipselect_n# peripheral-set_location_assignment PIN_F13 -to ledout0set_location_assignmen

30、t PIN_D10 -to ledout1set_location_assignment PIN_E10 -to ledout2set_location_assignment PIN_D8 -to ledout3set_location_assignment PIN_C17 -to ledout4set_location_assignment PIN_E12 -to ledout5set_location_assignment PIN_E13 -to ledout6set_location_assignment PIN_E11 -to ledout75.2 num.c文件#include#include#include#include system.h#include alt_types.h#include zlg_avalon_lcd240_128.h#include sys/alt_timestamp.h /时间标记服务头文件#inclu

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

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