您现在的位置: 爱51代码网 >> 范文 >> 文章正文
OpenRisc-21-添加自己的IP core到ORSoC并测试

OpenRisc-21-添加自己的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’为例),需要修改三个文件,增加一个文件。论文网 
三个需要修改的文件为:arbiter_dbus.v,orpsoc-params.v,orpsoc_top.v
一个需要增加的文件为:mycore.v
如下图:这里需要注意的是,在ORSoC里面共有3个wishbone的arbiter,咱们用的是arbiter_dbus。为什么呢?很简单,instruction那个是取指令用的,很显然不能用;byte那个是8位的,我的是32位的,很显然也不能用。
21.2 概述
一般,添加自己的ipcore到ORSoC,需要三大步:
1>编写符合wishbone interface的ipcore:mycore
2>定义mycore中用到的parameters
3>增加arbiter的slave或者mater接口(本小节是slave)
4>在顶层module例化这个ipcore

当然为了测试验证,还要
5>编写她的driver。

21.3 rtl编码
下面就逐个把需要修改的文件的内容说一下:
1》编写符合wishbone interface的ipcore:mycore.v


[html] view plaincopyprint?
01./* 
02.* 
03.* mycore.v 
04.* rill create 2013-03-26 
05.* 
06.*/ 
07. 
08. 
09.`include "orpsoc-defines.v" 
10.module mycore 
11.(      
12.wb_clk,          
13.wb_rst,      
14.wb_dat_i,            
15.wb_adr_i,            
16.wb_sel_i,        
17.wb_cti_i,    
18.wb_bte_i,        
19.wb_we_i,         
20.wb_cyc_i,        
21.wb_stb_i,    
22.         
23.wb_dat_o,        
24.wb_ack_o,        
25.wb_err_o,                     
26.wb_rty_o 
27.); 
28. 
29.parameter addr_width = 32; 
30.parameter mycore_adr = 0; 
31.parameter idle=2'b00; 
32.parameter read=2'b01; 
33.parameter write=2'b10; 
34.parameter operate=2'b11; 
35.     
36.input [addr_width-1:0]      wb_adr_i; 
37.input                       wb_stb_i; 
38.input                       wb_cyc_i; 
39.input [2:0]               &nbs

[1] [2] [3] [4] [5] [6] [7] [8] [9] [10]  ... 下一页  >> 

  • 上一篇文章:

  • 下一篇文章: 没有了
  • 最新文章 热点文章 相关文章
    sharepoint 2010 获取用户信息Us
    设计包含max函数的队列
    随机从数组中取出指定的不重复的
    mysql主从同步延迟方案解决的学习
    青岛科学六年级下册教材分析
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    mysql主从同步延迟方案解决的学习
    生日旅行总结
    中小板生日快乐随感
    送生日快乐桑葚乳酪小蛋糕
    写给女儿的生日快乐
    总分公司财务核算
    恢复使用繁体字可行性研究报告
    保险受益人制度相关问题的探讨
    初中生地理读图能力培养的研究
    搞笑生日祝福
    NLP中文信息处理---正向最大
    中国工作流厂商形成战略联盟
    TIME_WAIT状态下对接收到的数
    The layout of PID & PORT i
    hadoop核心逻辑shuffle代码分
    The layout of PID & PORT i
    The layout of PID & PORT i
    The layout of PID & PORT i
    MapReduce错误任务失败处理 
    Oracle恢复内部原理(介质恢
     



    设为首页 | 加入收藏 | 网站地图 | 友情链接 |