我怎样才能制造我自己的微控制器?
我怎样才能制造我自己的微控制器? 我已经使用GAL芯片做了一些工作,并编写了一个芯片来完成简单的命令,比如添加,加载,移动,异或输出,但是我想要做更像真正的微控制器。
我怎么能这样做? 我已经读了一些关于FPGA和CPLD的内容,但不是很多,所以在寻找一些build议,以及如何开始开发。
在这里找一本好的维基书。 我在教电子工程时写过一些课程,但是找不到。 在教学时,大部分学生都乐于使用Xilinx Foundation软件包中的原理图捕获工具。 他们现在已经进入ISE和WebPACK。 您可以免费下载WebPack,这非常有用,它还包含原理图捕获和仿真。
如果你真的想发光,学习VHDL或者Verilog(VHDL似乎在我工作的地方比较常见,但是这只是一小部分地方),编码而不是通过GUIinput。
如果您完全了解数字逻辑devise(以及某些HDL),那么您可以在大约2天内拥有一个function强大的8位微处理器模拟VHDL。 在那个时候,你不会创造出任何快速或极其强大的东西,但这是一个很好的起点。 如果您必须了解数字devise,那么在进入uPdevise之前,需要花几天的时间来了解这些工具的工作原理并模拟一些基本的逻辑电路。
开始学习数字系统的基础知识,以及如何构build一个二进制加法器。 继续构build一个ALU来处理加法,减法和/或xor等,然后定序器从RAM中读取操作码并提供给执行单元。
你可以使用指令集devise,但是我build议从头开始真正简单,直到你有了头脑,然后把它扔出去,再用更复杂的东西重新开始。
一旦你的devise模拟得很好,你可以评估它的复杂性,并购买一个适合的设备。 您应该查看您select的设备系列的开发系统。 select比开发所需要的设备更大的设备,因为能够在运行时添加额外的设备进行debugging是非常好的,而且在设备初始阶段几乎可以肯定不会优化您的devise。
编辑: Colin Mackenzie有关于uCdevise和一些FPGA板以及一些其他的东西很好的教程。
您可能需要查看OpenCores.org ,这是一个开源IP核开发的“伪造”网站。 另外,考虑让自己像其中一个开发板玩弄。
尽pipeAvalda正在开发用于编译FPGA的F#的工具,但大多数工具生态系统都是围绕着VHDL进行的。
我曾经看过一本教科书,从TTL芯片构build一台机器。 这与PDP-8具有相同的指令集,这非常简单,所以实际的机器架构很容易以这种方式实现。
PDP-8常见问题解答提到一本书:Franklin Prosser和David Winkel(Prentice-Hall,1987,ISBN 0-13-046780-4)的第二版“ 数字devise的艺术 ”。 它还提到人们在FPGA中实现它。
考虑到这个CPU架构极其简单,以及PDP-8代码或参考实现的可用性,这可能是一个很好的开始。
或者,我的一个熟人在一个FPGA上实现了一个大拇指(削减ARM),作为Steve Furber(一位杰出的Acorn校友)运行的大学项目。 鉴于这可以被压缩成一个足够大小的格式的大学项目,这也可能是一个好的开始。
要使用软核微处理器,我喜欢Digilent的Spartan 3入门板 ,因为它拥有1M的静态RAM。 你知道,SDRAM和DDR RAM很难走。
LED,开关和简单的串行接口是debugging和通信的一个优点。
正如有人已经指出, OpenCores.org是find工作示例的好地方。 我在大学时用Plasma uC写了一些文章。
一个微控制器可以像ROM一样简单(指令* 2 ^ x +(时钟相位)是地址,输出是控制信号,而且你可以走了)。 或者它可以是一个复杂的三臂武器和分支预测支持硬件。
你能提供关于你的愿望的更多细节吗?
在search了一些非常有帮助的链接后,我碰到了这个维基课程。
第一个句子之一是,“你有没有想过build立你自己的微处理器?
赛灵思为其FPGA提供了MicroBlaze和PicoBlaze软控制器。 后者是免费的,而IIRC,Microblaze是要支付的。
正如其名称所示,PicoBlaze是一个小型处理器,具有其局限性,但OTOH非常紧凑, 可以在CPLD上运行 。 无论如何,一个很好的处理器,让你开始。
Pablo Bleyer有一个PicoBlaze兼容的PacoBlaze 。 PacoBlaze是用Verilog编写的(像Adam说的那样,不如VHDL)。
你需要一个大的fpga来做一个小小的单片机。
如果你需要像AD这样的东西,你需要一个带有正确硬件块的fpga。
你需要一个软核来放入fpga。
但是如何在这个项目之前玩一个普通的MCU,所以你知道你要去哪里? 来自爱特梅尔的一些AVR如何?
你可以在这个站点免费获得pic微控制器的样本。 最后我知道,你甚至不需要付运费。
http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=64