开源软核处理器介绍

以下内容摘自《步步惊芯——软核处理器内部设计分析》一书


      随着FPGA技术的发展,以及EDA软件工具的进步,如今的FPGA应用范围越来越广,以致出现了SOPC(System-On-a-Programmable-Chip:可编程片上系统)的概念,用可编程逻辑技术把整个系统放到一块可编程逻辑芯片上,其中可以包含处理器、DSP、RAM、ROM、总线控制器、UART控制器、以太网控制器、USB控制器、JTAG接口、FPGA编程接口等各种功能模块,且每个功能模块都可以设计成为IP(Intellectual Property)核,IP核指的是完成某种功能的设计模块。借助于IP核以及一些标准的总线接口,硬件设计开发者可以像搭积木那样搭建硬件平台。

      IP核有三种:软核、固核、硬核。软核指的是在寄存器级或者门级对电路功能用HDL(Hardware Description Language)进行描述,表现为VHDL或Verilog HDL代码,软核与生产工艺无关,不涉及物理实现,为后续设计留有很大的空间,增大了IP的灵活性和适应性。用户可以对软核的功能加以裁剪以符合特定的应用,也可以对软核的参数进行设置,包括总线宽度、存储器容量、使能或禁止某些功能块等。固核是完成了综合的功能块,通常以网表的形式提交给客户使用。硬核指的是以版图的形式实现的设计模块,它基于一定的设计工艺,不同的客户可以根据自己的需要选用特定生产工艺下的硬核。软核使用灵活,但其可预测性差,延时不一定能达到要求;硬核可靠性高,能确保性能,如速度、功耗等,可以很快投入使用。

      本书关注的并不是如何使用各种IP核搭建SOPC系统

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SPARC                                                                              Sun UltraSPARC II处理器 SPARC,全称为“可扩充处理器架构”(Scalable Processor ARChitecture),是RISC处理器架构之一。它最早于1985年由升阳电脑所设计,也是SPARC国际公司的注册商标之一。这家公司于1989年成立,其目的是向外界推广SPARC,以及为该架构进行符合性测试。此外该公司为了扩阔SPARC设计的生态系统,SPARC国际也把标准开放,并授权予多间生产商采用,包括德州仪器、Cypress半导体、富士通等。由于SPARC架构也对外完全开放,因此也出现了完全开放原始码的LEON处理器,这款处理器以VHDL语言写成,并采用LGPL授权。 SPARC架构原设计给工作站使用,及后应用在升阳、富士通等制造的大型SMP服务器上。而升阳开发的Solaris操作系统也是为SPARC设计的系统之一,除Solaris外,NeXTSTEP、Linux、FreeBSD、OpenBSD及NetBSD系统也提供SPARC版本。 现时最新版本的SPARC为第8及第9版,在2005年12月,升阳方面宣布其UltraSPARC T1处理器将采用开放原始码方式。 开源CPU--OpenSparc T1简介     FPGA级别 2006年3月,Sun宣布开源化其多核心UltraSparc T1 CPU的处理器设计,采用的是GNU通用公共许可证(GNU GPL license)。之前Sun已经公开了"Hypervisor"API规范,允许各公司将Linux、BSD 及其他操作系统移植到UltraSparc T1平台。 Sun是业界首家将复杂的硬件设计使用GNU GPL许可进行发布的公司,而此举也将为UltraSparc T1处理器增加曝光度,并吸引开发人员为该平台开发软硬件解决方案。 该硬件设计的开源发布包括64-bit UltraSparc T1的Verilog硬件描述语言源代码,验证套装和模拟模型,ISA规范及Solaris 10 OS虚拟镜像。T1处理器的代号为“Niagara”,于去年发布并应用于Sun的T1000/T2000服务器中。 Sun目前推出了4、6、8核心的CPU版本,且每核心最多支持4线程,即总共最多32线程。T1基于Sparc V9架构,每核心集成16KB指令缓存和8KB主数据缓存,整个处理器共享3MB L2缓存。“OpenSparc T1”芯片设计,验证套装,架构和性能模型工具已经发布在http://www.opensparc.net网站。Sun还发布了“Cool Tools”,其中包括优化多线程CPU性能的各种程序以及CMT编程及描绘工具。 OpenSparc T1处理器的主要特征包括: 8个Sparc V9处理核心,每核心4线程,共计32线程 每处理核心16KB一级指令缓存,共128KB; 每处理核心8KB一级数据缓存,共64KB; 3MB二级缓存,4-way bank,12向关联,各核心共享; 4个DDR2内存控制器,每通道位宽144bit,总带宽峰值25GB/s; IEEE754兼容浮点单元(FPU),各核心共享; J-Bus输入输出接口,峰值带宽2.56GB/s,128bit多元地址/数据复用总线。
开源IP核I2C仿真是通过使用开源软件和硬件进行I2C协议的仿真模拟。I2C(Inter-Integrated Circuit)是一种串行通信协议,常用于各种电子设备之间的通信。开源IP核是指基于开源许可的可重用的硬件模块,可以在FPGA(Field-Programmable Gate Array)等可编程逻辑器件中使用。通过仿真模拟,我们可以验证I2C通信的正确性、稳定性和性能。 为了进行开源IP核I2C仿真,我们可以使用一些开源软件和硬件平台。例如,我们可以使用Verilog或VHDL这样的硬件描述语言编写开源的IP核代码,并使用开源的EDA(Electronic Design Automation)软件,如Yosys、Icarus Verilog和GTKWave进行仿真和波形分析。 在仿真过程中,我们可以模拟各种I2C设备的通信场景,包括主设备和从设备之间的数据传输和控制。我们可以设置时钟频率、数据帧大小、地址和传输模式等参数,以验证IP核的功能和性能是否符合规范。 另外,我们还可以使用开源硬件平台来验证IP核的功能。例如,我们可以将IP核代码加载到开源FPGA板上,如Lattice ICE40或Xilinx Spartan系列,然后在硬件级别模拟I2C通信。这样可以更加真实地模拟I2C设备之间的通信,同时也可以验证IP核在实际硬件环境中的正确性和稳定性。 总的来说,开源IP核I2C仿真是一种使用开源软件和硬件进行I2C通信模拟和验证的方法,可以帮助我们更好地理解和优化I2C通信,提高系统的可靠性和性能。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值