在使用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. mysql 数据库中存在重复记录,删除保留其中一条

    DELETE FROM people WHERE peopleName IN ( SELECT peopleName FROM people GROUP BY peopleName HAVING ) ...

  2. cenos7 安装samba

    1)安装samba应用# yum install samba samba-client2)启动Samba应用 systemctl start smb nmb3)Samba配置文件 /etc/samba ...

  3. thinkphp5.x全版本任意代码执行getshell

    ThinkPHP官方2018年12月9日发布重要的安全更新,修复了一个严重的远程代码执行漏洞.该更新主要涉及一个安全更新,由于框架对控制器名没有进行足够的检测会导致在没有开启强制路由的情况下可能的ge ...

  4. MPI Maelstrom POJ - 1502 floyd

    #include<cstdio> #include<cstdlib> #include<cstring> #include<iostream> usin ...

  5. 展开折叠效果 height未知 transition无效

    展开折叠效果,没有设置height时 transition 不起作用 可以设置max-height .default { max-height: 500px; transition: all 1000 ...

  6. K3/Cloud 执行计划任务错误排查

    计划任务的不执行原因可能有: 1.K3CloudJobProcess服务处于停止状态. 2.数据中心未勾选“允许执行计划任务”. 这种情况此数据中心下的所有计划任务都不会执行到. 3.第一次加进计划任 ...

  7. 2019 LOL 全球总决赛

                                        FPS 牛逼 涅槃重生

  8. Selenium3+python自动化007-Selenium常用定位方法

    自动化测试只要掌握四步操作:获取元素,操作元素,获取返回结果,断言(返回结果与期望结果是否一致),最后自动出测试报告.元素定位在这四个环节中是至关重要的,如果说按学习精力分配的话,元素定位占70%:操 ...

  9. chrome js报错Uncaught SyntaxError: Unexpected string

    个人博客 地址:http://www.wenhaofan.com/article/20180912123136 js报错,最后发现是$(function(){})这部分()不完整 $(function ...

  10. git merge代码

    把主干合并进分支 git checkout branch git merge origin/master [一开始我使用的是git merge master,提交代码后发现主干和分支还是有差异,如果不 ...