在使用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,完成创建。

每天进步一点点------创建Microblaze软核(一)的更多相关文章

  1. 每天进步一点点------创建Microblaze软核(二)

    第四步 进入Platform Studio操作界面通过向导创建软核后,进入到PlatformStudio——内核开发环境.Platform Studio主界面如下图. 在Ports项中,右键点击RS2 ...

  2. 每天进步一点点------创建Microblaze软核(三)

    第七步 进入SDK开发环境编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录.进入SDK主界面.第八步 ...

  3. ISE创建Microblaze软核(二)

    ISE创建Microblaze软核(二) (2012-07-13 15:09:08) 转载▼ 标签: 杂谈 分类: FPGA开发 第四步 进入Platform Studio操作界面 通过向导创建软核后 ...

  4. ISE创建Microblaze软核(一)

    在使用FPGA时,有时会用到它做为主控芯片.对于习惯于单片机及C语言开发的人,使用FPGA做主控芯片,首先还是想到它的嵌入式软核功能.如果能够基于Microblze软核进行C语言程序的开发,相对于使用 ...

  5. ISE创建Microblaze软核(三)

    第七步 进入SDK开发环境 编译完成后弹出如下对话框,选择SDK的工作目录.在MicroblazeTutor中创建一个Workspace文件夹,并选择该文件夹为SDK的工作目录. 进入SDK主界面. ...

  6. 每天进步一点点------下载Microblaze程序到Flash

    第一步 生成下载文件(bit文件) 选择之前的工作目录,打开SDK.点击Program FPGA图标. 将bootloop项改为Hello_World.elf.点击Program.此时可以不用连接下载 ...

  7. Spartan6上软核系统自定义外设调用AXI Stream FFT经验

    这几天希望能在Spartan系列新品xc6slx16csg324-2运行带有FFT的软核处理系统,基本系统早就搭建好了.需要做的就是建立一个封装有Xilinx提供的FFT IP的自定义外设.由于Xil ...

  8. FPGA的软核与硬核

    硬核 zynq和pynq系列的fpga都是双ARM/Cortex-A9构成,这里的ARM处理器为硬核,Cortex-A9部分为FPGA部分.即整体分为两部分:PS/PL.PS部分为A9处理器部分,PL ...

  9. 【小梅哥FPGA进阶教程】MC8051软核在FPGA上的使用

    十.MC8051软核在FPGA上的使用 本教程内容力求以详细的步骤和讲解让读者以最快的方式学会 MC8051 IP core 的应用以及相关设计软件的使用,并激起读者对 SOPC 技术的兴趣.本实验重 ...

随机推荐

  1. 1级搭建类108-Oracle 11gR2 SI FS(Windows Server 2019)公开

    Oracle 11gR2 单实例文件系统在Windows Server 2019上的安装 在线查看

  2. burpsuite各个板块儿详细讲解

    burpsuite实战指南,想要的都在这里:https://t0data.gitbooks.io/burpsuite/content/

  3. 原生js判断设备类型

    var u = navigator.userAgent; //Android终端 var isAndroid = u.indexOf('Android') > -1 || u.indexOf(' ...

  4. PP: Think globally, act locally: A deep neural network approach to high-dimensional time series forecasting

    Problem: high-dimensional time series forecasting ?? what is "high-dimensional" time serie ...

  5. Linux - mysql 异常: ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists

    问题描述 ERROR! MySQL is not running, but lock file (/var/lock/subsys/mysql) exists 解决方案 删除:/var/lock/su ...

  6. 码云项目克隆至github

    个人博客 地址:http://www.wenhaofan.com/article/20181104211917 因为我的博客项目一开始是存放在码云上面的,但是我又想在GitHub上有该项目的提交记录, ...

  7. 题解 CF171A 【Mysterious numbers - 1】

    又是愚人节题目qwq-- 说一下题意吧: 把第1个数翻转后加第二个数 具体思路: 1.定义变量,进行输入 int a,b; cin>>a>>b; 2.定义一个变量c,作为存储第 ...

  8. Qt中的Label和PushButton背景图自动缩放设置

    Label 背景图自动缩放 QPixmap* pixmap = new QPixmap(":/images/HeadIcon/1.png"); pixmap->scaled( ...

  9. python接口自动化测试之根据excel中的期望结果是否存在于请求返回的响应值中来判断用例是否执行成功

    1.首先在excel中填写好预期结果的值 这里判断接口成功的依据是预期结果值是否存在于接口的返回数据中. 一般接口的返回值都是json对象,我们需要将json对象转换为json格式的字符串 如下图,进 ...

  10. 《深入理解Java虚拟机》读书笔记一

    第二章 Java内存区域与内存溢出异常 1.运行时数据区域 程序计数器: 当前线程所执行的字节码的行号指示器,用于存放下一条需要运行的指令. 运行速度最快位于处理器内部. 线程私有. 虚拟机栈: 描述 ...