在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 28880|回复: 64

[活动] RISClite活动预告:人人都是CPU设计师——发布高速ARM9,直播cortex-m0设计

[复制链接]
发表于 2012-4-10 11:07:59 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
之所以取名字为RISClite,是因为希望以我们更懂Verilog,更理解RTL设计的精髓的基础上,对RISC做出更精华的设计。我们都知道RISC处理器三级流水线、五级流水线,但没有形成一套漂亮的设计方法,把这简单的流水线轻松的下载入FPGA内部。而且,一个CPU设计的Verilog RTL描述,只需要两万门,甚至一万门,但我们却无法使用Verilog来复制它们。这都是不正常的现象,希望能够在这次活动中,去解决这些不正常的现象。

解决这些不正常现象的方法靠什么?靠我们脑海的思维,靠我们的想象力与思考力。人以及人的思考力,我们都不欠缺,欠缺的是凝聚力,欠缺一场思维的碰撞与交汇。我只是想开个头,以我自身对Verilog的理解能力,去抛砖引玉,让更多的人认识到设计一个32位的RISC CPU真的很简单,简单到只需要码上不到两千行代码。通过这种设计CPU的活动,让我们更加关注如何在FPGA上实现漂亮的设计,让FPGA/ASIC设计成为一场思维碰撞、思想交融的盛宴!

我不知道我是不是忽悠,但我知道,我忽悠FPGA这个微观世界的能力,显然要稍强于忽悠你们。Verilog是一门语言,通向FPGA这个微观世界的设计语言。我作为一个掌握者,希望教会更多的人去学习它,去忽悠FPGA,让FPGA完全按照我们的要求去运行。因此,RISClite的最终目的,是要你会这门语言,而不是简单的掌握我的几个RISC设计。也就是,你在我这儿,不仅能获得“鱼”,更重要的是你能获得“渔”,通向数字电路设计的一片蓝海。

因此,我决定举行下面的活动,希望得到大家的支持!

1,兼容ARM9的软核处理器继续走向更高、更快、更强。我在书中给出的兼容ARM9软核设计,简单易懂,而且Dhrystone性能极高,非常适于教学。但缺点在于它在FPGA上运行的频率稍低,只在30~40MHz左右(spartan 6),阻碍了它在高速设计中的运用。当然,我已经对它进行了强力优化,为了答谢大家在eetop上对我的支持,各位网友均可在本论坛上下载到详细注释的高速版的兼容ARM9软核处理器。我们知道,乘法器非常影响频率,真正的ARM9TDMI采用的是32*8的乘法器,可见,乘法器的实现是非常灵活的。因此,高速版分为两个版本,一个版本是不带乘法功能,其他指令完全无碍,如果你只是想实现控制,确认它不会用到乘法指令,那么它非常适合你,因为它在spartan6上综合后,可以达到近80MHz(12~13 ns)。具体能够跑到多少,有待关注它的网友在后面评测。如果你想自己设计乘法器,那么完全可以在这个版本的基础上进行二次开发,运行你自己的乘法器,附加在这个版本上面。当然,作者也会给出自己的解决方案,那就是采另外一个版本,采用32*32的乘法器,在spartan6上也能综合到60MHz以上。读者在读完书以后,再对照这个高速版本的设计,一定能给你更多的启发,对于如何把同样的设计做到高速,你能得到最直观的了解。

2,兼容ARM9软核处理器我都是直接给出代码的方式,读者看到的是最终的结果,而无法了解它形成的过程。我在第二阶段,会直播我的开发过程,目标是ARM公司最新的兼容Cortex-M0软核处理器。了解cortex-m0的都知道,它几乎是ARM9的缩小版,指令更加精简了,只有16 bit位宽,而且cortex-m0的所有指令,都能在ARM9中找到影子。大家在了解我设计ARM9的过程中,其实可以自行进行cortex-m0的设计了,我做这个直播,只不过是水到渠成、顺水推舟的事。但读者通过一步步完成的教程,可以了解到Verilog设计过程与C语言其他设计的差别。最终设计的软核处理器,我也希望我只完成最基本的功能,希望更多的人参与进来,制定更详细的方案,大家一起完成差异化的设计。这就是我想达成的目标:人人都是CPU设计师。当然cortex-m0我想为大家推介一款非常优秀的国产编译器:coocox,它们的网址是:www.coocox.org。有兴趣的可以提前了解一下。最终设计的兼容cortex-m0处理器的Dhrystone性能更可以超过1 DMIPS/MHz。我们知道正版m0/m1的只有0.8~0.9。

谢谢大家关注,我希望能够帮到大家!
发表于 2012-4-11 12:24:21 | 显示全部楼层
期待ing~~~~~~~~楼主威武啊~~~
发表于 2012-4-11 14:14:16 | 显示全部楼层
good job!
很感謝版大的分享^^
发表于 2012-4-13 10:58:52 | 显示全部楼层
期待,但想明确一下,cortex-M0实际上被证明失败的,现在是用cortex-M0+,这个就是流水线、功耗上的关系。
另外,ARM9的设计建议你搞下去,增加一个指令集扩展的内容,更方便大家使用,因为ARM本身是个控制器,但如果你通过预留指令集扩展,能够很容易丰富大家的设计。例如A9ES的DSP增强,就是增加了一条CLZ以及几个乘法指令!
发表于 2012-4-13 22:41:29 | 显示全部楼层
我在做后端啊, core hardening 哈哈
发表于 2012-4-17 09:19:43 | 显示全部楼层
頂一下!感謝無私 分享!!!
发表于 2012-4-20 12:40:50 | 显示全部楼层
本帖最后由 lordback 于 2012-4-20 12:56 编辑

LZ很牛,非常期待下文。

另外想请问LZ对于设计的各个feature是怎样验证的,对CPU的验证好像不太容易。

另外有个更有意思的想法,LZ有没有研究过cache一致性的问题,如果有深入研究的话是否考虑以后把这款CPU升级成多核?

希望LZ能建个QQ群,收编一下研究CPU的人加入,期望能形成一个民间组织。
发表于 2012-4-21 20:40:27 | 显示全部楼层
支持楼上的……
发表于 2012-5-2 20:55:39 | 显示全部楼层
支持7楼~建个群吧~~~~
发表于 2012-5-3 13:55:07 | 显示全部楼层
期待!!!!!!!!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /2 下一条


小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-12-24 07:17 , Processed in 0.022364 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表