原创:一步一步学习开源32位CPU or1200(众多的IP core,三年来的资料,收集,全部奉送,
or1200 cpu 是什么OR1200是OpenCores组织提供的基于GPL协议的开放源代码处理器,性能介于ARM7和ARM9之间,适合一般的嵌入式系统使用。OpenCores组织提供了大量的 源代码IP核供研究人员使用,OR1200在使用0.18um及6层金属工艺时,主频可以运行在300MHz,可以提供300Dhrystone、2.1MIPS和300次的32x32 DSP乘加操作。OR1200是32位标量RISC处理器,具有哈佛结构、5级整数流水线、支持MMU和Cache,带有基本的DSP功能。外部数据和地址总线采用Wishbone片上总线标准。
学niosii 还是or1200,个人观点,不要在niosii 花太多时间,它和普通的asic cpu没有任何区别,虽然它很灵活,但你学不到任何东西(我是2004年就开始用nios的),学or1200,你可以理解cpu的运行,每个外设的设计(uart i2c spi ps2 vga lcd ethernet ),基础打好了,以后做什么都理解的更深了.资料陆续上传
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605677H2ZCMC.JPG
or1200的vga显示(1024 X 768 ) (原文件名:b.JPG)
openrisc-HW-tutorial-Alteraourdev_605678ZFDPVJ.pdf(文件大小:329K) (原文件名:openrisc-HW-tutorial-Altera.pdf)
openrisc-HW-tutorial-Xilinxourdev_605679KV1VTG.pdf(文件大小:342K) (原文件名:openrisc-HW-tutorial-Xilinx.pdf)
openrisc-SW-tutorialourdev_605680UL5544.pdf(文件大小:175K) (原文件名:openrisc-SW-tutorial.pdf)
wbspec_b3ourdev_605681SI73HB.pdf(文件大小:899K) (原文件名:wbspec_b3.pdf)
DbgSuppourdev_605682MPUSML.pdf(文件大小:788K) (原文件名:DbgSupp.pdf)
toolchain(编译工具)ourdev_605683IZTZRK.rar(文件大小:13.44M) (原文件名:or32-uclinux.rar)
我的 or1200_ep3c16+bpard 原理图ourdev_605687NND8PQ.rar(文件大小:254K) <fontcolor=green>(原文件名:or1200_ep3c16_board.rar)</font>
Quartusii 工程 or1200 + uart + spi + sdram + rom (基本系统) 已上传到41楼 回复【楼主位】hxl_led
-----------------------------------------------------------------------
下面是我用过的IP core 源程序,经测试,还没发现问题
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605690B654ZP.JPG
好用的IPcore (usb的,我还没做) (原文件名:d.JPG)
10-100M 以太网 ourdev_605691K1YG1R.rar(文件大小:87K) (原文件名:ethmac.rar)
通用 IO 口ourdev_605692GXSED3.rar(文件大小:3K) (原文件名:gpio.rar)
I2Courdev_605693TEHUOU.rar(文件大小:11K) (原文件名:i2c.rar)
内存ourdev_605694MICLU9.rar(文件大小:2K) (原文件名:mem_if.rar)
or1200 cpu coreourdev_605695GF5IIK.rar(文件大小:182K) (原文件名:or1200.rar)
PS2ourdev_605696T1RTHU.rar(文件大小:21K) (原文件名:ps2.rar)
sdramourdev_605697ZYM0CF.rar(文件大小:24K) (原文件名:sdram.rar)
spiourdev_605698SBBL37.rar(文件大小:1.42M) (原文件名:spi.rar)
uartourdev_605699QNYKWB.rar(文件大小:36K) (原文件名:uart.rar)
usbourdev_605700KPCWGH.rar(文件大小:57K) (原文件名:usb.rar)
总线ourdev_605701VMVIKO.rar(文件大小:12K) (原文件名:wishbone.rar)
闲话 学or1200 及opencores上的IP core 有什么用? 那些都是高手写的东西,即使有bug,也值得我们去学习参考.
软件上有linux开源,硬件上有opencores 放着宝贝不去学,那就没什么可讲的了,国内的FPGA书里面讲的,不说大家也清楚,一家之言,呵呵,见笑.
下图是我做的 16路语音采集 + 语音回放 + 硬件TCP/IP传输 ( FPGA实现,没用任何cpu,包括niosii 和or1200 ,-片ep3c10即完成
用i2s接口作语音采集 语音回放 以太网协议包括 MAC ARP ICMP UDP 其中MAC核就是用opencores下的,其它的是我写的,基于wishbone总线,
可随时增加新模块,新功能)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605939GSB84A.JPG
语音采集 + 语音回放 +硬件 以太网协议板 (原文件名:h.JPG) 先顶 跟顶
狂赞楼主
希望继续抛些震撼的东东 mark mark,楼主好人 mark 相当的不错 顶一下以后再去学习 备用 mark 相当震撼 支持一下先,呵呵。一直没有机会动手。 顶!楼主能否给一些针对上述IPcore应用的例子? mark 十分感谢!
楼主可否给个简单的应用工程,我曾经使用过penCores的IP,但是每次把它加入工程后,编译的时候软件就会报错! 马克 记号~留用 mark 还不知道怎么用,楼主详细写个教程如何> mark MARK mark 有时间看看 mark 好东东,mark 好东西啊,谢谢楼主分享。 mark mark 好东西,相当震撼。。。 MARK BOOKMARK
震惊!!! mark 顶啊, 这么好的东西 相当牛,用力顶你! mark mark! 好东西。留名学习 mark mark 学一个新东西,先要看看市场好买到不,另外开发工具怎么样 mark!~ 回fanwt ,or1200是一个软核,你可以在任何fpga上实现,开发工具,都是开源的.你不必用在产品上,假如你真想学点什么的话,还是从轮子
开始
上工程! or1200 + uart + spi + sdram + rom (基本系统,Quartusii 8.0 ,大家可根据需要,按本例示范,可挂上其它IP core, IP core 我以上传到1,2楼)
Quartusii 工程 or1200 + uart + spi + sdram + rom (基本系统)ourdev_605883NTYWDB.rar(文件大小:640K) (原文件名:ep3c16_board.rar)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605884EABRXU.JPG
Quartusii 工程截图 (原文件名:g.JPG)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_605885X08W96.JPG
超级终端输出 (原文件名:f.JPG)
串口输出 boot程序,.mif文件是rom.v需要用的ourdev_605886RTLM0W.rar(文件大小:151K) (原文件名:rom_3c16_tc_top_48Mhz.rar)
基本的软硬件程序以全部上传!!! 好东西。留名学习 相当震撼 ... 赞一个~~有时间下下来看看~~~ mark 果然是好东西 收藏,留用 强悍!
一定要留个名!
好好学习学习! 震撼...... mark mark 收藏 原理图的扩展名好像是.mdi阿。用什么打开阿谢谢! 回复【楼主位】hxl_led
-----------------------------------------------------------------------
我想问一下程序是不是SPI flash加载到外部的SDRAM,还是利用了内部的BRAM。我为是做FPGA的,但是没有用过这么多大的软核。也比较害怕折腾,没太多时间,主要集中精力做RTL设计。 能不能帮忙下载下openmsp430,好像需要帐号 支持,酷贴 mark fishhead :原理图xp可双击直接打开
倘余清: 程序是从SPI flash加载到外部的SDRAM,假如你的程序不大,可以在片内ram做运行 好东西啊,前几天看老师在m3上移植ucos2,觉得好了不起,现在看起来也就那样! 留个记号,请问楼主已经在OR1200官网注_册过,但是登录不了,导致官网上的资料也载不了。什么原因? mark mark
mark 太大了,我的c5不够用 楼主:有两个问题请教一下:
1. 在FPGA里面,or1200最高能跑多少MHz?
2. 我用你的程序bin2hex.exe生成不了hex文件。为何? yuzr : 我也是,近来不知是什么原因
68000 : 1)与fpga有关系,主要是布线延迟,cycloneiii -8 的可到60Mhz,别的我没用过
2)cygwin下,make即可,你可先熟悉一下工具链 强帖,留名! mark 请教楼主
你发的IP核中的PS2—MOUSE,请教如何驱动它?是不是还要自已再写一个驱动代码的?因为ps2_mouse是需要发送一些命令才能运行的 bad_fpga : 如你不用or1200 则要写一个RTL master来操作它,opencores下有它的文档 mark 强贴一定要mark mark 长见识 MARK Mark 楼主上传到41楼的例子能否给个使用说明,看的一头雾水,太复杂了! cool ! FPGA新手
修改了一个路径和文件名[../rom_3c16_tc_top_48Mhz/hxl_led.mif]后居然通过了,这是第一次完整编译通过openrisc,激动ing...仔细查看了一下资源,在我的CycloneII EP2C8Q208上够资源,再次激动,睡觉去了。谢谢楼主的启蒙。 回复【69楼】hxl_led
bad_fpga : 如你不用or1200 则要写一个rtl master来操作它,opencores下有它的文档
-----------------------------------------------------------------------
我没找到相关的MASTER和文档对这CORE的驱动及描写,可以提供一下你自己的CORE吗?就是能把PS2鼠标跑起来,按左键或右键点一下灯就行了。谢谢 wcabcd : 我会陆续写每个模块的使用说明,既然是一步一步,肯定是比较详细,最近比较忙,计划先从wishbone 总线,和串口驱动开始写
至于or1200介绍,wishbone总线的说明,可参考网上资料,北航也有一本书,也可以参考(但你绝对找不到你想要的东西,如一个完整的工程,一个完整的例子)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606303NJSKKA.JPG
北航出的一本or1200的书 (原文件名:i.JPG) 我这有EP1C12Q240的OR1200开发板和光盘,还有50片PCB,PCB是4层的,有要的请和我联系
以前就想发上来,不过光盘内容太大,上G的内容,一直没能上传 回复【80楼】huxiaoping
-----------------------------------------------------------------------
huxiaoping : 如你能将资料陆续上传,那怕是一点点,那对大家都是一个福音啊 可以在国产fpga上跑不? wxw123321 : 源码RTL,不依赖厂家IP,我想应该可以吧,至少在actel altera lattice xilinx都可以跑 回复【79楼】hxl_led
-----------------------------------------------------------------------
感谢楼主的分享精神,这样开源才能真正学到东西!顶 多谢楼主!!
tags:downloaded 谢楼主, mark mark.. 牛人,感谢 回复【1楼】hxl_led
-----------------------------------------------------------------------
顶下,以后有用! 串口的使用一 (写完,请大家提意见及建议)
http://cache.amobbs.com/bbs_upload782111/files_35/ourdev_606653XSH2Z4.JPG
串口的使用 (原文件名:j.JPG)
UART IP Core 使用说明ourdev_606807GLB9QY.pdf(文件大小:139K) (原文件名:UART IP Core 使用说明.pdf) 这个东西不错,留名~~
关键是这个cpu,外设占用FPGA的资源,actel的ARM M3 貌似占的资源不少。
thanks! 请问楼主,ep2c35的资源够跑这个吗?谢谢! 我在DE1上面跑楼主的程序成功了
接着学习啊
哇哈哈 顶了,不错的资料,很无私。。。 两个问题
1.编译时老是缺少那个rom文件
解决
2.我的EP3C10资源好像连引脚都不够! 好贴,顶一下 pspice :ep2c35 资源够,5k 查找表就能把内核跑起来
ssaweee :
1在embed_rom.v下 程序
defparam
altsyncram_component.intended_device_family = "Cyclone",
altsyncram_component.width_a = 32,
altsyncram_component.widthad_a = 9,
altsyncram_component.numwords_a = 512,
altsyncram_component.init_file = "d:/rom_3c16_tc_top_48Mhz/hxl_led.hex",
altsyncram_component.operation_mode = "ROM",
altsyncram_component.outdata_reg_a = "UNREGISTERED",
altsyncram_component.address_aclr_a = "NONE",
altsyncram_component.outdata_aclr_a = "NONE",
altsyncram_component.width_byteena_a = 1,
altsyncram_component.lpm_hint = "ENABLE_RUNTIME_MOD=NO",
altsyncram_component.lpm_type = "altsyncram";
用quartusii 将hxl_led.mif 变换成hxl_led.hex即可,同时注意路径
2) 你可以将除串口外的外设引脚改成虚引脚 回复【98楼】hxl_led
-----------------------------------------------------------------------
恩,好了,5k
scXXX是什么引脚?我吧它全去掉了 mark