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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 55394|回复: 252

开源免费的ARM IP核:可综合、可跑uclinux、ASIC面积24000门、FPGA时序26ns!!

[复制链接]
发表于 2009-6-10 20:04:11 | 显示全部楼层 |阅读模式

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

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

x
开源免费的ARM ip核:FreeARM7现在已经可以跑uclinux了!!

  只要你有仿真器modelsim\ncverilog\vcs,都可以使用这个高性能的ARM7软核跑一跑uclinux。

FreeARM7的性能之高,可以和原版媲美了。

  面积:ASIC综合24000门!!

时序:spartan-3e 500上能跑到26 ns!!

但是,一个如此高性能的开源ARM IP核却不到2000行。它加上ARM出品的高效无敌的编译器,那么你的SOC设计绝对是无以伦比的。

你可能还担心,她的功能如何?!如果它能运行uclinux,那你还担心她的功能吗?

下面这个modelsim实例就是她跑uclinux的情况。

你可以把所有的信号拉出来,观察它的运行情况。所有的寄存器R0,R1,R2,R3,CPSR都可以拖到波形窗口。

绝对是你学习ARM处理器的好工具。你可以围绕她组建自己的SoC系统,不用担心浪费,你需要什么外设,就加什么外设!

你需要多大内存,就给她多大内存,只要你的嵌入式软件不介意,你可以完全自助。

和FreeARM7一起高飞吧!!

   

                               
登录/注册后可看大图

                               
登录/注册后可看大图
1.jpg (87.05 KB)
2009-6-10 19:58




这个实例的使用方法非常简单,你只需下载入同一目录。然后编译testbench:tb_sp.v,和最小的软核:arm6.v,

进行仿真:然后在窗口敲上:run 90 ms。

那么所有的uclinux log信息就会打印在你的仿真窗口。

还不试试??

qq 讨论群:8128626(已满)
                   79566499

[ 本帖最后由 teaimport 于 2009-6-17 13:46 编辑 ]

uclinux.rar

991.88 KB, 下载次数: 1361 , 下载积分: 资产 -2 信元, 下载支出 2 信元

v0.rar

446.62 KB, 下载次数: 995 , 下载积分: 资产 -2 信元, 下载支出 2 信元

skyeye模拟器源码,有skyeye的可以试试。

发表于 2009-6-11 18:31:46 | 显示全部楼层
呵呵,我用MODELSIM 跑了一下,很好很强大,
顺便提供我的do文件给大家; ( 见附件或者下面脚本)
在modelsim下运行即可

onbreak {resume}
# create library
if [file exists work] {
vdel -all}
vlib work
vmap work work
vlog  arm6.v tb_sp.v
vsim -t ps -wlf tb_sp.wlf tb_sp
view wave
add wave *
#add wave sim:/tb_sp/
log -r *
radix hex
run -all

tb_do.rar

242 Bytes, 下载次数: 230 , 下载积分: 资产 -2 信元, 下载支出 2 信元

 楼主| 发表于 2009-6-12 17:52:59 | 显示全部楼层

wave.do文件,可以加一些有用的信号到波形图

onerror {resume}
quietly WaveActivateNextPane {} 0
add wave -noupdate -format Logic -radix hexadecimal /tb_sp/u_arm6/clk
add wave -noupdate -format Logic /tb_sp/irq
add wave -noupdate -format Logic /tb_sp/u_arm6/cpsr_i
add wave -noupdate -format Logic /tb_sp/u_arm6/irq_en
add wave -noupdate -format Logic /tb_sp/u_arm6/code_flag
add wave -noupdate -format Logic /tb_sp/u_arm6/cmd_flag
add wave -noupdate -format Logic -radix hexadecimal /tb_sp/u_arm6/rom_en
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/rom_addr
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/code
add wave -noupdate -format Logic -radix hexadecimal /tb_sp/u_arm6/ram_cen
add wave -noupdate -format Logic -radix hexadecimal /tb_sp/u_arm6/ram_wen
add wave -noupdate -format Literal -radix binary /tb_sp/u_arm6/ram_flag
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/ram_addr
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/ram_rdata
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/ram_wdata
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r0
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r1
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r2
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r3
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r4
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r5
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r6
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r7
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r8
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/r9
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/ra
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/rb
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/rc
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/rd
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/re
add wave -noupdate -format Literal -radix binary /tb_sp/u_arm6/cpsr
add wave -noupdate -format Logic /tb_sp/u_arm6/to_vld
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/to_num
add wave -noupdate -format Literal -radix hexadecimal /tb_sp/u_arm6/to_data
add wave -noupdate -format Literal /tb_sp/u_arm6/spsr
TreeUpdate [SetDefaultTree]
WaveRestoreCursors {{Cursor 1} {18934265 ns} 0}
configure wave -namecolwidth 150
configure wave -valuecolwidth 100
configure wave -justifyvalue left
configure wave -signalnamewidth 0
configure wave -snapdistance 10
configure wave -datasetprefix 0
configure wave -rowmargin 4
configure wave -childrowmargin 2
configure wave -gridoffset 0
configure wave -gridperiod 1
configure wave -griddelta 40
configure wave -timeline 0
update
 楼主| 发表于 2009-6-17 13:47:34 | 显示全部楼层
竟然没有人顶?!
 楼主| 发表于 2009-6-17 17:02:57 | 显示全部楼层
自己顶
发表于 2009-6-17 22:00:25 | 显示全部楼层

原项目在哪里

最近自己在学。有几年经验了,想先看看mico8,简单点的。
希望以后能和楼主多交流。下一步再做个大点的。请问,原项目是哪里的?opencores?
发表于 2009-6-17 23:28:15 | 显示全部楼层
楼主太强大了
 楼主| 发表于 2009-6-18 06:59:34 | 显示全部楼层
没有原项目,最早发布于:http://www.socvista.com/bbs/forumdisplay.php?fid=110

  我本想放进opencore,可opencore拒收,没法,只好游荡着。

  我的联系方式在第二个qq群里。

  希望更多人参与其中来。
发表于 2009-6-19 06:56:53 | 显示全部楼层
不错,谢谢楼主
发表于 2009-6-19 10:49:13 | 显示全部楼层
调试过的兄弟说说需要多少逻辑资源啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-15 10:06 , Processed in 0.027675 second(s), 6 queries , Gzip On, Redis On.

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