FPGA竟然使Apple II个人电脑做回了自己!

背景:
微处理器软核代码开放,那么将源代码用工具例化到FPGA里面是不是就能实现其逻辑功能,当年流行的微处理器成就的一些产品是不是可以再拿出来回味回味呢?答案是肯定的, MicroCore的MCL51,MCL65等,就可以将代码综合后例化到FPGA里面,分配了引脚就可以实现相应的逻辑功能。今天小编就带领各位领略一下用FPGA使当年风靡的Atari 2600 VCS游戏机和Apple II个人电脑再次重生!

MicroCore的MCL65软核,微处理器版本型号为6502,此型号处理器在1970s,1980s和以后的时间里被用在很多的产品中。MicroCore实验室目前在开发超小型的基于微定序器的嵌入式处理器内核具有非常多的经验,其处理器内核可以在任何FPGA或ASIC技术中实现,他们最近实现了基于Artix-7以MCL51为内核的同步模块冗余系统应用。小编将MCL65软核例化到Spartan-7 S50 FPGA里面,例化后占用的FPGA的资源只有0.77%,接下来看看应用的效果怎么样。先前小编就写过在Commodore VIC-20 PC上面应用的例子,今天将软核编译后下载到FPGA里面然后应用到Atari 2600 VCS(Video Computer System)和Apple II PC中,这两款机器都是在1977年问世的,而且MCL65处理器在这两款机器中的应用都很好,而且都是完全依赖指令级定时循环的特定功能。

图.1 用Spartan-7 FPGA使MicroCore 实验室的MCL65处理器运行在Atari 2600 VCS中

图.1 用Spartan-7 FPGA使MicroCore 实验室的MCL65处理器运行在Atari 2600 VCS中

 将Atari 2600 VCS的视频输出端口和NTSC制式的模拟TV显示器相连接,因为它只有128 bytes的RAM空间,这对于帧寄存器来讲实在是太小了,所以处理器需要产生一个新的30帧每秒的视频格式,为的是和TV的水平扫描频率和垂直刷新频率保持一致。图.1所示为MicroCore实验室的MCL65处理器核例化到价值109美元的Digilent Arty S7 Spartan-7 FPGA 开发板上,并将例化有软核处理器逻辑功能的开发板应用在Atari 2600 VCS上,如图所示是显示了游戏的画面。

图.2 用Spartan-7 FPGA 使MCL65处理器在Apple II 上启动Apple Dos 3.3

图.2 用Spartan-7 FPGA 使MCL65处理器在Apple II 上启动Apple Dos 3.3

接下来,用同样的方法将例化有MCL65软核代码的FPGA模块用到Apple II的个人电脑中。传奇的Steve Wozniak设计了Apple II的软盘驱动Disk II,他在学过了当时基于TTL芯片的软盘控制器和WD1771软盘控制器之后,决定使用更少的硬件来设计一个更好的软盘控制器。他所设计的控制器是基于精确的指令级别的处理器时间,将要写进/读出软盘的数据进行编码/解码。这也是Steve Wozniak自己所描述的在苹果公司做的最棒的工作,令他终身难忘,他的功绩也永久的载入了Apple II的成功的历史中。将MicroCore实验室的MCL65处理器核代码编译后实例化到Digilent Arty S7 Spartan-7 FPGA开发板中,并将此开发板连接到Apple II上面,并且从Disk II启动Apple的DOS 3.3,得到的结果如图.2所示。本次小编就介绍这两个平台的应用,如果你感兴趣的话可以自己下载MicroCore实验室的MCL65处理器内核代码进行自己的开发。于此同时介绍一下本次小编使用的硬件里面的Spartan-7 FPGA,它提供了较小的芯片尺寸,较高的性能,丰富的接口和相应的扩展功能,能够兼容Vivado的设计工具包,使本次的硬件历史之旅表现的很到位。

总结:
科技的发展可谓是每天都在变化,在变化之中也有着科技的经典之作。在软硬件都开源时代背景下,很难预测下一个十年硬件会发展成什么样一种状态,但是基本的逻辑是不会改变的,历史中的发展规律和设计思想可以拿来学习,借鉴,回味。每一个人都有成为科技的领军人物的可能,会创造历史的人有着疯狂的精神,但也要从小事做起。抓住开源的机遇,抓住FPGA和各种工具的便利,坚信自己的选择,想搞事情可以先从做一个技术大咖开始哦!

用户喜欢...

汽车行业 FPGA桥接解决方案能够解决许多问题

在过去十年里,随着智能手机及其应用生态体系的不断发展,汽车电子领域中移动相关应用的创新技术也深受其影响。汽车制造商已经开始将用于智能手机的相同处理器平台应用到新一代汽车中...


QDR SRAM接口FPGA 详细Verilog代码

QDR SRAM介绍 QDR 具有独立的读、写数据通路,均使用DDR,在每个时钟周期内会传输四个总线宽度的数据 (两个读和两个写),这就是QDR四倍数据速率的由来。 这里用到的是典型2字突发的QDR,...


3D成像: 嵌入式FPGA处理引擎实现3D web检测

Steven Gloffen 奥地利自动化解决方案提供商digMAR公司为德国地毯和纺织品切割机供应商KURIS公司开发了一套3D图像处理系统。这套多相机机器视觉系统设计用于扫描纺织材料,可以自动计算基于...


Aldec的边缘计算示例: Zynq SoC 的 FPGA架构将嵌入式视觉/ ADAS性能提升了10倍

Aldec的一个应用工程师 Farhad Fallah 在 New Electronics 网站上发表的一篇题​​为生活在边缘的文章最近引起了我的注意,因为它简洁地描述了为什么 FPGA 对于许多高性能的边缘计算应用如此有用...


恒扬数据携手OpenPOWER多家成员共同推进基于CAPI SNAP框架的FPGA加速应用开发

日前,以“智慧链接新智能 创新加速助中国” 为主题2017年OpenPOWER 中国高峰论坛在京隆重召开,包括IBM、赛灵思、英伟达、浪潮、中太服务器、恒扬数据等在内的联盟成员出席了此次盛会并...


LVDS高速ADC接口, Xilinx FPGA实现

LVDS 即Low-Voltage Differential Signaling。FPGA的selecteIO非常强大,支持各种IO接口标准,电压电流都可以配置。其接口速率可以达到几百M甚至上千M。使用lvds来接收高速ADC产生的数据会很方便。像IS...


通俗讲解单片机、ARM、MCU、DSP、FPGA、嵌入式错综复杂的关系!

首先,“嵌入式”这是个概念,准确的定义没有,各个书上都有各自的定义。但是主要思想是一样的,就是相比较PC机这种通用系统来说,嵌入式系统是个专用系统,结构精简,在硬件和软件...


在机器学习的应用上,软件工程师和FPGA真的有着难以逾越的鸿沟吗?

人工智能和机器学习正在渗透所有的行业。随着人工智能算法的成熟,支持这些算法的硬件平台也日趋成熟。目前,这些硬件平台包括 ASIC,CPU,GPU以及 FPGA 。在 Plunify,尽管我们的强项是F...


Atlas助力华为云FPGA加速云服务器首秀北美市场

近日,华为技术有限公司(Huawei Technologies Co., Ltd.)与All Programmable技术和器件的全球领先企业赛灵思公司(Xilinx, Inc.,(NASDAQ:XLNX))在美国科罗拉多丹佛举行的2017 年超级计算大会上联合宣布,基...


Xilinx FPGA在基因组测序中大显身手!

作者:sleibso ,编译:蒙面侠客 引言: PrecisionFDA平台是基因组信息学社区和共享数据平台,这是一个为研究人员准备的开源、基于云的工具,它将为下一代测序诊断提供依据,并且为所有开...


深度解析FPGA四大设计要点

FPGA的用处比我们平时想象的用处更广泛,原因在于其中集成的模块种类更多,而不仅仅是原来的简单逻辑单元(LE)。早期的FPGA相对比较简单,所有的功能单元仅仅由管脚、内部buffer、LE、RAM构...


FPGA上电后IO的默认状态

概述 在进行FPGA硬件设计时,引脚分配是非常重要的一个环节,特别是在硬件电路上需要与其他芯片通行的引脚。Xilinx FPGA从上电之后到正常工作整个过程中各个阶段引脚的状态,会对硬件设...


FPGA中组合逻辑和时序逻辑的区别

数字电路根据逻辑功能的不同特点,可以分成两大类,一类叫组合逻辑电路(简称组合电路),另一类叫做时序逻辑电路(简称时序电路)。 1.组合逻辑概念 组合逻辑电路在逻辑功能上的特...


Xilinx FPGA复位浅析

1. 普通逻辑的复位 对于xilinx 7系列的FPGA而言,flip-flop支持高有效的异步复/置位和同步复位/置位。对普通逻辑设计,同步复位和异步复位没有区别,当然由于器件内部信号均为高有效,因此推...


FPGA双端口RAM操作(乒乓操作)

如果需要重读,需要用ram,如果不需要重读的话就用FIFO 双buffer不太好实现错误重传机制!!!! 双buffer作用: 1、跨时钟域 2、完成数据位宽转换 3、完成数据缓冲 双buffer缓冲操作示意图,...


Mellanox网卡嵌入Xilinx FPGA将降低背板插槽数量与CPU周期占用

Mellanox公司的下一代Innova网络适配器不仅将整合强制性高速接口,同时亦将嵌入一块Xilinx FPGA芯片。 分流工作负载已经成为Mellanox适配器发展策略中的一项重要组成部分,而这显然也迎合了一...