ISE创建Microblaze软核(一)
在使用FPGA时,有时会用到它做为主控芯片。对于习惯于单片机及C语言开发的人,使用FPGA做主控芯片,首先还是想到它的嵌入式软核功能。如果能够基于Microblze软核进行C语言程序的开发,相对于使用生疏的Verilog语言进行项目的开发,将会起到事半功倍的效果。
下面就如何使用ISE创建Microblaze软核,写一个简单的入门教程。教程以图片为主,辅以简单的文字进行说明。
我使用的是Xilinx Spartan 6系列的FPGA,开发环境为ISE13.3。
第一步 先创建一个ISE工程
工程名字为MicroblazeTutor。
在这里根据自己的硬件平台进行选择对应的FPGA型号。根据自己开发习惯,选择是使用Verilog语言还是VHDL语言。
点击完成,完成工程的创建。
工程创建完成图。
第二步 在工程中添加一个嵌入式软核
如图,右键点击,选择New Source。
选择Embedded Processor(嵌入式软核),软核名字为mb_system。
点击完成。
第三步 进入软核创建向导
点击确认,进入软核创建向导。
选择PLB system。PLB系统是旧版本的软核系统,相对操作更简单一些;AXI是新版的软核系统,有兴趣的话可以自己去研究。
按向导点击下一步。
这里会自动使用之前创建工程时设置的FPGA型号。
选择单核,下一步。
根据自己硬件平台的主时钟,选择对应的晶振频率。注意,系统时钟要选择晶振倍频后能够达到的频率。内存选择16KB。
这是系统默认最精简的内核。
通过Add Device选项添加如下图所示的外设:按键、LED、IIC、串口、定时器。也可以不要选这么多外设,添加最简单的串口即可。LED和按键只要选择1位数据位宽。
下一步。
系统内核的地址分配。
点击OK,完成创建。
转载:http://blog.sina.com.cn/s/blog_7d283bbb01011qrb.html
ISE创建Microblaze软核(一)的更多相关文章
- ISE创建Microblaze软核(二)
ISE创建Microblaze软核(二) (2012-07-13 15:09:08) 转载▼ 标签: 杂谈 分类: FPGA开发 第四步 进入Platform Studio操作界面 通过向导创建软核后 ...
- ISE创建Microblaze软核(三)
第七步 进入SDK开发环境 编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录. 进入SDK主界面. ...
- 每天进步一点点------创建Microblaze软核(一)
在使用FPGA时,有时会用到它做为主控芯片.对于习惯于单片机及C语言开发的人,使用FPGA做主控芯片,首先还是想到它的嵌入式软核功能.如果能够基于Microblze软核进行C语言程序的开发,相对于使用 ...
- 每天进步一点点------创建Microblaze软核(二)
第四步 进入Platform Studio操作界面通过向导创建软核后,进入到PlatformStudio——内核开发环境.Platform Studio主界面如下图. 在Ports项中,右键点击RS2 ...
- 每天进步一点点------创建Microblaze软核(三)
第七步 进入SDK开发环境编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录.进入SDK主界面.第八步 ...
- Spartan6上软核系统自定义外设调用AXI Stream FFT经验
这几天希望能在Spartan系列新品xc6slx16csg324-2运行带有FFT的软核处理系统,基本系统早就搭建好了.需要做的就是建立一个封装有Xilinx提供的FFT IP的自定义外设.由于Xil ...
- wrHDL编译中软核代码初始化及编译耗时长的问题
问题的提出整个WR的ISE工程比较大,编译时间很长,导致开发效率低.通过分析发现,ISE在综合的时候大量的时间都花在了初始化DPRAM上.调研发现Xilinx提供了BMM文件和DATA2MEM工具,可 ...
- FPGA的软核与硬核
硬核 zynq和pynq系列的fpga都是双ARM/Cortex-A9构成,这里的ARM处理器为硬核,Cortex-A9部分为FPGA部分.即整体分为两部分:PS/PL.PS部分为A9处理器部分,PL ...
- 【小梅哥FPGA进阶教程】MC8051软核在FPGA上的使用
十.MC8051软核在FPGA上的使用 本教程内容力求以详细的步骤和讲解让读者以最快的方式学会 MC8051 IP core 的应用以及相关设计软件的使用,并激起读者对 SOPC 技术的兴趣.本实验重 ...
随机推荐
- 小米范工具系列之二:小米范 web目录扫描器
最新版本1.1,下载地址:http://pan.baidu.com/s/1c1NDSVe 文件名scandir,请使用java1.8运行 小米范web目录扫描器主要功能是探测web可能存在的目录及文 ...
- C++模拟Http/Https访问web站点
一.概述 1.Http与Https的区别与联系 在OSI参考模型中Http与Https均属于应用层协议.Http即Hypertext Transfer Protocol,超文本传输协议:而Https为 ...
- Java Thread 如何处理未捕获的异常?
Java Thread是不允许异常抛出到本线程之外的,Runnable接口的public abstract void run()是不允许throws Exception的,这在编译时就通不过. 线程异 ...
- vue基础篇(一)
1.简介 Vue (读音 /vjuː/,类似于 view) 是一套用于构建用户界面的渐进式框架.与其它大型框架不同的是,Vue 被设计为可以自底向上逐层应用.Vue 的核心库只关注视图层,不仅易于上手 ...
- Missing Number-[回溯][难]
2. Missing number 转自:https://mp.weixin.qq.com/s/WLRXLdi-3igkjtiWlHg7Ug Given a positive integer n(n≤ ...
- 4.2 Routing -- Defining Your Routes
一.概述 1. 当应用程序启动时,路由器负责显示模板,加载数据,另外还设置应用程序的状态.这是通过匹配当前URL到你定义的routes来实现的. 2. Ember app router中的Map方法可 ...
- cocos代码研究(10)ActionEase子类学习笔记
理论部分 缓动动作的基类,继承自 ActionInterval类.ActionEase本身是一个抽象的概念父类,开发者最好不要在代码中直接创建它的对象,因为它没有具体的执行效果,这一类的子类速度变化大 ...
- #C++初学记录(素数判断2)
素数判断2 比较简单的算法,没有技术含量 A prime number is a natural number which has exactly two distinct natural numbe ...
- ruby md5 sha1 base64加密
#md5加密 require 'md5' puts MD5.hexdigest('admin') #sha1加密 require 'digest/sha1' puts Digest::SHA1.hex ...
- ruby中的预定义变量(Predifined Variables)