我如何制作自己的微控制器?我已经使用GAL芯片做了一些工作,并编写了一个芯片来执行简单的命令,如加法、加载、移动、异或和输出,但我想做一些更像真正的微控制器的事情。
我该怎么做呢?我读过一些关于FPGA和CPLD的书,但不是很多,所以我在寻找一些关于获得什么和如何开始在它上开发的建议。
发布于 2009-03-11 05:54:16
在here上寻找一本好的维基书籍。我在教电子英语的时候写了一些作业,但是我找不到了。在我任教的时候,大多数学生都很乐意使用Xilinx Foundation包中的原理图捕获工具。他们现在已经转移到ISE和WebPACK了。您可以免费下载WebPack,它很有用,其中包含原理图捕获和仿真。
如果你真的想脱颖而出,那就学习VHDL或Verilog (VHDL在我工作过的地方似乎更常见,但这只是少数几个地方),并编写设计代码,而不是通过GUI输入设计。
如果你对数字逻辑设计(和一些HDL)有所了解,我知道你可以在大约2天内用VHDL语言模拟出一个功能强大的8位微处理器。在这段时间内,您不会构建任何速度极快或功能强大的东西,但这是一个很好的起点。如果您必须了解数字设计,请在进入uP设计之前,花几天时间了解这些工具是如何工作的,并模拟一些基本逻辑电路。
开始学习数字系统的基础知识,以及如何构建二进制加法器。继续构建ALU以处理加法、减法、and、or、xor等,然后构建序列器以从RAM读取操作码并将其提供给执行单元。
你可以对指令集设计产生兴趣,但我建议你从非常简单的开始,直到你弄清楚到底是怎么回事,然后把它扔掉,再从更复杂的东西开始。
一旦你很好地模拟了设计,你就可以评估它的复杂性,并购买一台适合你的设备。你应该看看你所选择的设备家族的开发系统。选择一个比开发所需的更大的设备,因为能够在它运行时添加额外的工具来调试它是很好的,而且几乎可以肯定的是,在将它安装到设备上的早期阶段,您不会优化您的设计。
编辑:Colin Mackenzie有一个关于uC设计和一些FPGA电路板的很好的教程,以及其他一些东西。
发布于 2009-03-10 23:38:16
您可能想看看OpenCores.org,这是一个用于开源IP核心开发的“伪造”站点。另外,考虑给自己找一个像one of these这样的开发板。
发布于 2009-03-11 16:29:48
我曾经看过一本教科书,里面介绍了如何用TTL芯片构建机器。它具有与PDP-8相同的指令集,这非常--我的意思是非常--简单,所以实际的机器架构很容易用这种方式实现。
PDP-8 FAQ提到了一本书:"The Art of Digital Design,“第二版,作者是Franklin Prosser和David Winkel (普林蒂斯-霍尔出版社,1987年,ISBN0-13-046780-4)。它还提到了人们在FPGA中实现它。
鉴于这种CPU架构的极端简单性和PDP-8代码或参考实现的可用性,这可能是一个很好的热身起点。
或者,我的一个熟人在FPGA上实现了一个拇指(砍下手臂),这是一个由Steve Furber (一位杰出的橡子校友)运营的大学项目。考虑到这可以压缩成一种足够小的格式以供大学项目使用,这也可能是一个好的开始。
https://stackoverflow.com/questions/632698
复制相似问题