[FPGA] 从零开始设计一个简单的CPU和计算机,证明是可行的!

[复制链接]
583|11
 楼主 | 2017-9-6 16:47 | 显示全部楼层 |阅读模式
现代的CPU很强大和复杂,导致很多人认为个人是无法设计一个CPU的,或者即使能设计出来简单的也是需要很多经费和大量的元器件。


百度谷歌一下网上的设计,几乎都是外国人的作品,有一些还是很复杂的,动不动说花了好几年时间。最近有一个英国剑桥的詹姆斯·纽曼(James Newman),打造一台只能玩俄罗斯方块的大块头花了他四年时间,耗资达到4万英镑!!!!而仅仅只是希望让人了解计算机的工作原理。


那我们普通人能不能加入?到底能不能设计出一个计算机来?


当然能!


强大的CPU暂且不说,就拿简单的来说,我认为个人设计一个简单的CPU不但是可行的,还是非常有意义的,当然这个设计必须得是从零开始设计的----只使用简单的逻辑元器件,比如74系列元器件(三极管?)。


在查找了很多相关的书籍还有逛国内外网站后,又花了很多时间去比较和验证,终于设计出了一个简单又特别经典的计算机(关键是成本也少)。


也许很多人说为什么不使用可编程逻辑器件来制作呢?还简单便捷,我觉得能使用简单的逻辑器件制作的才是从零开始设计,也是对计算机的底层工作原理了解最好的方式。


另外要说,按照我的设计,你甚至可以使用简单的三极管、MOS管来制作一个计算机!而且并不是很难的事情,因为我的设计也只使用了28块74系列芯片而已!


==============================================
介绍一下我设计的计算机系统的基本概况:


小名:qCPU(CuteCPU)
CPU:4位
ROM:4KB
RAM:256B
运行频率:74芯片极限
IO:2组4位的IO口
4个按键
其他外设就是5个LED发光二极管,一个蜂鸣器,一个5X7点阵LED,一个LCD1602液晶
总共8条指令,配备我自己设计的汇编器,使用起来跟
当年使用8086汇编编程很像
目前可以使用USB下载,USB提供电源,在电脑编写代码后,编译下载运行一条龙!!


==============================================


目前的指令如下:
ADD 加法
RM 读取内存
ADDC 带进位加法
WM 写内存
SUB 减法
OUT IO输出
< 小于比较
= 等于比较
GOTO 小跳转
QCLR 清空
QMOV 赋值
QADD 加法
QSUB 减法
QGOTO 长跳转
QJMP 立即跳转


==============================================


不多说了,,,上图说话吧,,目前一些功能还在测试中,代码库也在完善中。
这个板子发去打样后发现有一个BUG,就在板子上临时修改了



















| 2017-9-7 11:01 | 显示全部楼层
没有图片
| 2017-9-7 11:03 | 显示全部楼层
互联网有爱
| 2017-9-7 11:03 | 显示全部楼层
另外FPGA/CPLD之类的可以只用门级设计,逻辑电路和74+板子差不多,还方便修改;
| 2017-9-7 11:48 | 显示全部楼层
70年代的书,经常有这些74搭的东西
 楼主 | 2017-9-7 13:25 | 显示全部楼层

有图片啊
 楼主 | 2017-9-7 13:25 | 显示全部楼层
 楼主 | 2017-9-7 13:25 | 显示全部楼层
宇容创行 发表于 2017-9-7 11:48
70年代的书,经常有这些74搭的东西

恩,老一辈的东西了
| 2017-9-8 09:07 | 显示全部楼层

没有图片

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 手机登录

x
 楼主 | 2017-9-8 10:26 | 显示全部楼层


我这边可以看见,可能是转载的问题吧,
从百度贴吧里转的


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册 手机登录

x
| 2017-9-9 12:50 | 显示全部楼层
板子做的还是很不错呦,我是菜鸟,多多指教。
| 2017-9-9 14:13 | 显示全部楼层
我大二的时候看了一个叫龙少CPU的视频把我惊坏了。
扫描二维码,随时随地手机跟帖
*滑动验证:
您需要登录后才可以回帖 登录 | 注册 手机登录

本版积分规则

快速回复

您需要登录后才可以回帖
登录 | 注册 手机登录
高级模式
我要创建版块

论坛热帖

关闭

热门推荐上一条 /3 下一条

分享 快速回复 返回顶部 返回列表