如何设计自己的基于ARM的处理器?


37

我对如何设计自己的基于ARM的CPU有几个问题?

  • 一个人如何以ARM许可证开头并以准备好可焊接到板上的封装结束?
  • 我从ARM那里可以获得什么(我确信他们有多个可用的许可证选项-体系结构许可证(高通Snapdragon风格)和核心许可证(TI OMAP风格))?
  • 一旦获得ARM的“帮助”,我需要继续使用哪些工具?
  • 我要寄给工厂什么?
  • 我相信只有某些晶圆厂获得许可才能在硅晶片上蚀刻ARM内核。我对吗?
  • 作为一名学生,我可以负担得起在FPGA上执行此操作的能力吗?我如何获得类似这样的经验?

9
显而易见的答案是与ARM交谈。
奥林·拉斯洛普

3
看看opencores.com-那里有许多处于不同状态的完整性和功能性的各种处理器内核。就获得实际的ARM核心资源而言……​​如@OlinLathrop所说……与ARM交流。
akohlsmith

6
我不理解反对意见,这可能是一个幼稚的问题,但绝对是合法的IMO。
乔恩·L

2
问题在于您的问题是特定于您将无法遵循的工作流程的。您可以遵循的工作流程-在HDL中使用原始或免费提供的设计作为FPGA的目标-与猜测完全不同。
克里斯·斯特拉顿

2
所述的Cortex-M1核似乎是旨在在任何适当功能的FPGA运行。主要的FPGA供应商都拥有IP许可证,并像其他任何软核一样将其交付给设计人员。我假设不是免费的,但是可能有一些专门供学术使用的程序。
RBerteig

Answers:


68

公司的做法如下:

  1. 筹集约1000万美元。
  2. 与ARM协商以获得许可证。这将至少花费一百万美元。
  3. 从ARM获取设计文件。它可能采用某种形式的VHDL,Verilog或“加密”网表。
  4. 结合使用自己的逻辑(用于外设)和ARM给您的产品设计自己的芯片。此步骤可能需要一些昂贵的CAD软件和一小组专家。预计将花费至少500万美元和几年的时间。
  5. 获取为芯片本身制作的掩模。如果您使用任何现代半导体工艺,则将花费约一百万美元。
  6. 获取芯片本身。价格各不相同,但应低于50万美元。
  7. 调试您创建的芯片,修复错误,然后返回到步骤5,直到可以出售为止。

这是您的操作方式:

  1. 在您当地的大学参加研究生水平的计算机体系结构课程。
  2. 学习更多有关数字逻辑的课程,以及其他内容。
  3. 在VHDL或Verilog中从头设计CPU。
  4. 从头开始设计另一个CPU。
  5. 查看ARM指令集并设计兼容的CPU。
  6. 使您的ARM兼容CPU在FPGA中工作。
  7. 除非您要被起诉,否则请勿分发您的VHDL / Verilog源代码。
  8. 利用您的ARM经验为您的博士学位撰写出色的论文。
  9. 使用您的博士学位在ARM或TI或任何人那里找到工作。然后使用公司的前7个步骤重复该过程。

好的,这个清单有点嘲讽,但基本上是正确的。关键是,甚至不用担心直接与ARM打交道,因为很有可能您没有钱。而且也不要做任何会被ARM起诉的事情。


1
+1。极好的答案。我要说的是,但更好。
Rocketmagnet 2012年

1
任何好的课程都将包括不同种类的CPU的基本结构以及它们如何工作。主题应包括微代码,指令解码,ALU的,内存存取,高速缓存,寄存器,流水线,数据hazzards,指令预取等

3
是否有任何理由使ARM的指令集本身比比其克隆比比皆是的其他任何CPU更具专利性?当然,有些结构特性已申请了专利,但是如果目标是设计一个可与现有编译器一起使用的CPU,那么指令集本身会带来问题吗?
2012年

1
@supercat通常,除非它们包含一些体系结构的内容,否则它们本身不是很容易获得专利。MIPS在其CPU上做到了这一点,他们在CPU中获得了一些指令的专利,这些指令可以加载/存储未与字对齐的字,以及一些可以在大小端之间动态切换的东西。当MIPS起诉MIPS克隆制造商时,法庭上对此提出了质疑,MIPS获胜(大约在2000年)。但是大多数专利都是关于架构问题的。不幸的是,如果不复制架构和指令集,就无法制造与现有编译器兼容的CPU。


32

ARM有一个大学DesignStart计划。作为一名学生,您只能访问基本的Cortex-M0材料。但是,如果您真的有兴趣,请让您的老师参与进来,然后您可以使用更多的设计材料(Verilog FPGA代码,评估IP,仿真等)。


4
谢谢:-)我会尽力让我的顾问要求其中的一些。
卢勋爵。

WFIW,此答案现在已过时,Cortex-M0和Cortex-M3均可用,并且该产品的某些部分向非学生/机构开放。
肖恩·霍利哈内


3

ARM Cortex-M1(可能是最简单的ARM处理器)是第一个专门设计为在FPGA中实现为软处理器的ARM处理器。针对以下FPGA类型进行了优化:

Actel (M1 ProASIC3 and M1 Fusion)
Altera (Cyclone-II, Stratix-III)
Xilinx (Spartan-3, Virtex-5)

ARM本身正在制造用于Altera Cyclone IIICortex-M1开发套件,尽管DigiKey的价格为625美元,有点贵。不过,您确实获得了所有的ARM Cortex-M1 IP,并获得了进行开发的许可证(加上为生产中的1000块板免费提供的专利使用费,非常酷)。

单独获得IP可能有一些选择(也许他们有一个学术课程,其他人提到了大学课程,但这是针对M0的)。然后,您可以单独购买开发板。

这是有关Altera上ARM Cortex-M1的更多信息。

以下是有关将ARM Cortex-M1放在Actel FPGA上的一些信息

同时,人们对FPGA上其他版本的ARM Cortex也产生了兴趣。这是某人在Xilinx FPGA上实现ARM Cortex-M0的论文。


如果要更改设计,请尝试制造“合适的” 32位计算机。目前,ARM一次读取8位32位指令,这意味着PC在每次提取指令时都会递增4。
艾伦·坎贝尔

1

现在,您可以通过ARM的DesignStart程序访问Cortex-M3处理器(和可扩展的AHB / APB子系统)。

Eval选项提供了一个FPGA目标(通过模糊的内核RTL支持所有仿真,Verilog中的其他所有功能)。目前,该产品针对具有mbed支持的ARM MPS2 + FPGA。

Pro版本(仅适用于可以签署许可证的公司/大学)允许制造,并且在Verilog中包括处理器内核(涵盖Cortex-M0和Cortex-M3)。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.