OpenRisc入门(5)-用quartus对ORSoC的RTL进行综合

引言

书上学来终觉浅,绝知此事要躬行。前面几小节的内容都是基于现成的东西展开的,用的是现成的综合好的svf文件,ormon也是事先编译好的,linux也是移植好的,这些都是opencores给咱们弄好的。当然,也不是说用现成的没有意义,意义是很大的,即有了一个直观的,直接的感受。如果想要进一步研究,就需要自己动手修改代码了,在修改之前,有一个环节需要做,就是先把现成的变成自己的,即要能把现有的源码,经过编译或者综合生成可以work的文件。

本小节就先把svf变成自己的,如题。

5.1 安装quartus10.1

1》刚开始我装的是9.0版本的,装完之后发现这个版本的不支持cyclone IV E这个芯片。所以就装了一个10.1的。

2》具体安装过程就不用说了,我们这没有正版的ALTERA的board,所以也没有正版的software ,装的是骏龙破解版的。

5.2 综合

1》将virtualbox里面soc-design目录下的内容弄到windows下。具体方法有很多,比如,共享文件夹,用U盘copy,samba服务等。我用的是共享文件夹。

2》打开quartus工程文件

路径是soc-design/orpsocv2/boards/altera/ordb2a-ep4ce22/syn/quartus

工程文件是ORDB2A.qpf

3》综合

我遇到一个小问题:提示readmemh()函数的第0个参数必须是字符串,看了一下代码,没什么问题。就采用简单方法,将第0个参数用parameter定义的具体值替换了。OK。综合完毕。生成了svf文件和sof文件。

4》烧写

将刚生成的orpsoc_top.svf文件拷到virtualbox下的fpga_dev_board目录下,替换旧的文件。

按照原来的方法烧写。

http://blog.csdn.net/rill_zhen/article/details/8535317

5.3 测试

烧完之后,按照原来的方法,启动linux,成功。

说明,刚用quartus综合生成的这个svf文件是没有问题的。

下一步,就可以随便修改一下rtl,然后再综合一下,仿真一下,验证一下喽。

时间: 2024-08-03 01:48:03

OpenRisc入门(5)-用quartus对ORSoC的RTL进行综合的相关文章

OpenRisc入门(4)-ORSoC跑linux实验

引言 光说不练假把式,本小节就用官方的FPGA开发板跑一下linux. 4.1,  实验准备 1>  orsoc的工具链环境(gcc,gdb,jtag),搭建过程见上一篇blog: http://blog.csdn.net/rill_zhen/article/details/8443882 2>  ep4ce22的FPGA开发板(€:149) 3>  micro-USB连接线 4.2,  实验步骤 0>连线.将板子左上方的那个USB口与PC相连. 1>  烧写RTL综合后的电

OpenRisc入门(21) 添加自己的slave IP core到ORSoC并测试

本小节实现了一个简单的ipcore:mycore.她的功能也非常简单,实现一个加法运算. master(CPU)设置mycore的第一个寄存器,和第二个寄存器,mycore将两个寄存器的值相加放在第三个寄存器中,CPU读第三个寄存器来获得计算结果. 这次试验可以看到mycore计算1+2=3. ok let's go! 21.1 ip core的编码和修改 要想在ORSoC里面加入自己的ipcore(本小节以'mycore'为例),需要修改三个文件,增加一个文件. 三个需要修改的文件为:arbi

OpenRisc入门(22)添加自己的master (DMA-like)ipcore到ORSoC并测试

引言 之前写了一个wishbone接口的slave,work的很好. 但是要想实现一个功能完成的ipcore,必然要有master接口. 这次就写一个ipcore(mycore),既包含slave,又包含master. 一个具有类似DMA功能的ip core. 另:本小节中省略了一些virtualbox下的操作细节,请参考上一篇文章: http://blog.csdn.net/rill_zhen/article/details/8722664 1,控制流程 1>mycore的linux下的dri

OpenRisc入门(14) or1200第一个裸机程序

经过前面千辛万苦.爬山涉水.纠结了好久才弄好的环境,现在我们终于可以把FPGA当成个单片机使了,稍微比单片机猛一点,但是绝对比单片机贵一个数量级,FPGA现在能完成由CPU做的事,我们就把它当成一个大价钱买回来的单片机,不过相比于S3C24XX的片子来说,那么贵的一个FPGA板卡跑40M的一个CPU绝对的奢侈,不过仅限于理解和学习嵌入式的过程,管他的. 但是如果是这样呢,把or1200资源优化好,例化两个或者多个CPU,是不是可以做成SMP架构?又或者说现有的产品上有FPGA芯片,但是里面的资源

OpenRisc入门(26) openrisc中断实验

引言 中断(异常)系统,可以说是计算机体系结构重要的组成部分,也是最复杂的部分. 现在的很多外设,都提供中断处理机制,来减少CPU的一直占用时间. 本小节就通过一个简单的例子,来说明openrisc的中断机制的使用方法. 1,功能简介 本小节实现一个wishbone slave模块(mycore),此模块接收其对应的linux driver的指令,产生中断信号. linux driver注册中断处理程序,记录中断发生的次数. 本实验中,在模块加载时(insmod ip_mkg.ko)时触发一次中

OpenRisc入门(25) ORPSoC,openrisc相关资料汇总

引言 网络上关于openrisc的资料很多,除了官网之外,还有很多有价值的资料值得借鉴, 但是,这些资料比较分散,查找起来很是不易,为了能方便自己,也方便别人, 本小节就把我遇到的不错的网址或者资料list了一下. 如果哪位还有不错的资料,可以写到评论里面,我会及时的更新本文档,方便更多人查找. 国内我们有一个qq群,可以参与讨论,相互学习与交流: 277505520 一, 本文档link: http://blog.csdn.net/rill_zhen/article/details/88827

OpenRisc入门(23) 基于openrisc的SOC开发

引言 经过前面一段时间的锻炼和积累,是时候做一个稍微大一点的project了. 本小节就以fft256为例,整体感觉一下基于openrisc的SOC的开发过程. 1,整体思想 1>以fft256为运算核心,linux驱动将待计算的fft数据写入RAM, 2>告知mkg_core进行reset 和start, 3>mkg_core控制master,通过DMA形式,读取ram中的数据, 4>送给fft256, 5>然后获得fft256的运算结果, 6>写回ram, 7>

OpenRisc入门(18) or1200下linux简单gpio字符设备驱动

前几次我们把linux给boot通了,这所谓的移植也只是个名头而且,真正的移植有时间可以去看看\arch\openrisc下的移植代码,强调我现在也是在用而已,按我的理解的话不是真正意义的开发. 那就继续先用这吧,好,现在回来<or1200软件环境搭建>的过程来,那时我们在虚拟机cross compile了lrz和lsz文件,这是因为什么,因为现在我们只是boot通了内核,除了UART这个外设之外我们在内核或模块程序中有关于ipcores的驱动,所以,我们想在这个最简单的内核上调试程序的时,至

OpenRisc入门(16) or1200移植u-boot

现在搭建好SOC,可以的话可以先练习编写一下"裸机"代码测试一下ipcores,就当做是提高操作C的能力咯,那这次我们来根据自己的SOC移植u-boot上去.Opencores社区提供的u-boot移植步骤,详细见opencores网址: http://opencores.org/or1k/U-Boot 至于移植比较详细的解释,我google下<ARM79出品-u-boot移植手册.pdf>这个手册,虽说里面讲的是关于ARM架构的移植,不要紧,我们只是借鉴一下,但重点关注的