如何制作自己的微控制器?我已经完成了一些使用GAL芯片的工作并编写了一个芯片来执行简单的命令,例如添加,加载,移动,xor和输出,但我想做一些更像真正的微控制器。

我该怎么做呢?我已经阅读了一些关于FPGA和CPLD的内容,但不是很多,所以我们正在寻找一些关于如何获得以及如何开始开发的建议。

有帮助吗?

解决方案

这里查看一本好的维基书。我在教电子版时曾写过一些课程,但我找不到它。在我教学时,大多数学生都乐于使用Xilinx Foundation软件包中的原理图捕获工具。他们现在已经进入了ISE和WebPACK。您可以免费下载WebPack,这很有用,并且其中包含原理图捕获和模拟。

如果您真的想要发光,请学习VHDL或Verilog(VHDL似乎在我工作的地方比较常见,但这只是一小部分地方)并对设计进行编码而不是通过GUI输入。 / p>

如果您对数字逻辑设计(以及一些HDL)一无所知,那么我可以在大约2天内使用VHDL模拟一个功能有限的8位微处理器。在那段时间里,你不会构建任何超快速或强大的东西,但它是一个很好的起点。如果您必须了解数字设计,请在几天内了解这些工具的工作原理并模拟一些基本的逻辑电路,然后再进行uP设计。

开始学习数字系统的基础知识,以及如何构建二进制加法器。继续构建ALU以处理加法,减法和/或xor等,然后使用序列器从RAM读取操作码并将它们提供给执行单元。

你可以对指令集设计有所了解,但是我建议你开始真的很简单,直到你了解到最新情况,然后把它扔掉,然后再用更复杂的东西重新开始。

一旦你很好地模拟了设计,你可以衡量其复杂性并购买适合的设备。您应该查看您选择的设备系列的开发系统。选择一个比开发所需的设备更大的设备,因为能够在运行时添加额外的仪器来调试它是很好的,而且几乎可以肯定,在设备上的设计的早期阶段你也不会对设计进行优化。 / p>

编辑: Colin Mackenzie 有一个很好的关于uC设计和一些FPGA板的教程以及一些其他的东西。

其他提示

您可能需要浏览 OpenCores.org ,“伪造”等。开源IP核开发的站点。另外,考虑让自己成为像其中之一这样的开发板来玩。

许多工具生态系统围绕着 VHDL ,尽管 Avalda 正在研究为FPGA编译F#的工具。

我曾经看过一本教科书,曾经用TTL筹码建造一台机器。它具有与PDP-8相同的指令集,这非常 - 我的意思是 非常 - 简单,因此实际的机器架构很容易以这种方式实现。

PDP-8常见问题解答提到了一本书:“< a href =“https://rads.stackoverflow.com/amzn/click/com/0130467804”rel =“nofollow noreferrer”>数字设计的艺术,&quot;第二版,作者:Franklin Prosser和David Winkel(Prentice-Hall,1987,ISBN 0-13-046780-4)。它还提到人们在FPGA中实现它。

鉴于这种CPU架构的极端简单性以及PDP-8代码或参考实现的可用性,它可能是热身的良好起点。

另外,我的一个熟人在FPGA上实施了一个拇指(缩减ARM)作为一个由Steve Furber(着名的Acorn校友)管理的大学项目。鉴于这可以压缩成一个足够小的格式用于大学项目,这也可能是一个良好的开端。

要使用软核微处理器,我喜欢 Spartan 3入门板来自Digilent的只是因为它有1M的静态RAM。你知道,SDRAM和DDR RAM很难实现。

LED,开关和简单的串行接口是调试和通信的优势。

正如有人已经指出的那样, OpenCores.org 是查找工作示例的好地方。我使用 Plasma uC 在大学期间写了一些论文。

微控制器可以像ROM一样简单(指令* 2 ^ x +(时钟相位)是地址,输出是控制信号,你很好)。或者它可以是一个复杂的哈里兽,有三个臂和分支预测支持硬件。

您能否详细说明您的愿望?

在搜索了所有人的一些非常有用的链接之后,我遇到了这个 Wikiversity课程

首句之一是“你有没有想过建立自己的微处理器?”

Xilinx MicroBlaze PicoBlaze 用于其FPGA的软控制器。后者是免费的,而IIRC则需要支付Microblaze。
顾名思义,PicoBlaze是一款小型处理器,它有其局限性,但OTOH非常紧凑,足以支持在CPLD上运行。无论如何,一个很好的处理器,让你开始。
Pablo Bleyer有一个与PicoBlaze兼容的 PacoBlaze 。 PacoBlaze是用Verilog编写的(和Adam说的一样,不像VHDL那么常见)。

你需要一个大fpga的小mcu。

如果你需要像AD这样的东西,你需要一个带有正确硬件块的fpga。

你需要一个软核放入fpga。

但是在这个项目之前如何只使用普通的MCU, 所以你知道你要去哪里?来自Atmel的一些AVR怎么样。

您可以在此站点获得免费的pic微控制器样本。最后我知道,你甚至不需要支付运费。

http://www.microchip.com/stellent/idcplg?IdcService = SS_GET_PAGE&安培; NODEID = 64

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top