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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于FPGA软核定制你的SoC.docx

1、基于FPGA软核定制你的SoC 基于FPGA软核,定制你的SoCDate: 2016 12.29Author: Aric Wang打造自己的CPU,自己的System On Chip!本文以Step by step的方式Guide You来定制你自己的NIOS-II软核SoC,并创建C语言的流水灯测试程序,运行在自己做的CPU系统上。软件:Quartus II 12.0, Nios II 12.0 Software Build Tools For Eclipse. (在安装Quartus II时,所需软件 一起安装。)硬件:FPGA跑起Linux, UCOS-II等RTOS,是可行的,据相关人

2、士的测试数据该软核在FPGA上性能介入ARM7-ARM9.一,详细步骤定制1,打开Quartus II 并且新建一个空的工程。File - New Project WizardClick the Next button.Click Next.选择与开发板对应的FPGA芯片。Click NextClick Next.最后Finish. 如下图:2,使用SOP Builder 工具来生成自己的软核Tools-SOP BuilderClick OK, if Qsys 提示.从左边Panel的Tree 里选择Nios Processor双击Processors-Nios ProcessorResetV

3、ector是复位后启动时的Memory类型和偏移量ExceptionVector是异常情况时的Memory类型和偏移量。现在还不能配置,需要RAM设置好以后才能修改这里.一路点击Next,最后Finish.接下面我们要添加片内RAM选择左边目录树下的MemoriesandMemoryControllers-On-Chip-On-ChipMemory(RAMorROM)本例中我只使用1024bytes.接下来建立一个SystemIDSystemID就是一种标示符,类似校验和的这么个东西,在你下载程序之前或者重启之后,都会对它进行检验,以防止错误发生。在左边窗口的Peripherals-Debug

4、andperformance-SystemIDPeripheral双击SystemIDPeripheral接下来创建JTAGUART首先JTAGUART是实现PC和NiosII系统间的串行通信接口,它用于字符的输入输出,在NiosII的开发调试过程中扮演了重要的角色,接下来我们开始建立它的模块。选择sopcbuilder主窗口左边InterfaceProtocols-Serial-JTAGUART接下来要添加一个PIO模块(ParallelI/O)其中Width表示要建立的PIO宽度是多少,我们的板上有8个LED,选择宽度为8,Direction复选框中表示要建立的PIO的方向,分别表示Bid

5、irectional(tristate)ports(双向三态口)Inputportsonly(仅仅作为输入口)Bothinputandoutputports(作为输入和输出口)Outputportsonly(仅仅作为输出口)在本实验中,将要实现的是点亮LED,所以这个新建的PIO采用Outputportsonly(仅输出口)方式查看配置的结果:重命名系统 内组件。双击cpu并设置内存点击 Finish.执行System菜单上的Auto-AssignBaseAddresses自动分配一下地址。开始编译,经过耐心等待后,程序编好了,查看下最后的输出如下:最后一行显示Info:Systemgener

6、ationwassuccessful,产生成功。点击Exit退出,会回到quartusii主界面。新建一个Block Diagram/Schematic File在丁板上双击左键:点击,放在丁板上,放好后,在NIOS软核kernel上点击右键后点击GeneratePinsforsymbolports双击out_port_from_the_pio_led7.0拉出来的端口符号,重命令分配引脚有多种方法,常用的为tcl脚本分配,建立一个文件,取名为nios2.tcl,文件内容如下:set_global_assignment -name RESERVE_ALL_UNUSED_PINS AS INPU

7、T TRI-STATED set_location_assignment PIN_16 -to clk_0 set_location_assignment PIN_17 -to reset_n set_location_assignment PIN_10 -to led0 set_location_assignment PIN_11 -to led1 set_location_assignment PIN_26 -to led2 set_location_assignment PIN_35 -to led3 set_location_assignment PIN_27 -to led4 set

8、_location_assignment PIN_28 -to led5 set_location_assignment PIN_33 -to led6 set_location_assignment PIN_34 -to led7保存到工程目录下。菜单上Tools-TclScripts 运行刚刚的脚本。右击选DeviceSaveall, 会提示你nios2.bdf保存到哪里?直接点确认,我们此例中就保存在示例目录下3,执行菜单Processing-StartCompilation,开始进行编译编译完成,下载固件程序到EPCS1或使用JTAG下载到RAM.二,生成C语言的程序并调试运行1,以管

9、理员方式运行Nios II 12.0 Software Build Tools for Eclipse新建 一个测试程序:点击Finish.替换Demo程序的源码如下:#include stdio.h#include unistd.h#include system.h#define _LED 1typedef struct unsigned long int DATA; unsigned long int DIRECTION; unsigned long int INTERRUPT_MASK; unsigned long int EDGE_CAPTURE;PIO_STR;#ifdef _LED#define LED (PIO_STR*)PIO_LED_BASE)#endifint main() int i; while(1) for(i=0;iDATA = 1i; usleep(50000); usleep(50000); 重新编译:此时连接好USB-Blaster,使用JTag模式,下载程序到FPGA的软核上。可以到成功正常运行。谢谢!祝君成功!

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

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