揭秘 IBM MCGA 门阵列逆向工程:芯片构造、功能及未来研究计划!

发布时间:2026/6/28 5:19:01
揭秘 IBM MCGA 门阵列逆向工程:芯片构造、功能及未来研究计划! 导航菜单切换导航[ ](/)[ 登录 ](/login?return_tohttps%3A%2F%2Fgithub.com%2Fschlae%2FIBM_MCGA)外观设置平台- **AI 代码创作**- [GitHub Copilot借助 AI 编写更优质代码](https://github.com/features/copilot)- [GitHub Copilot 应用从问题到合并的直接代理](https://github.com/features/ai/github-app)- [MCP 注册表新功能集成外部工具](https://github.com/mcp)- **开发者工作流**- [Actions自动化任何工作流](https://github.com/features/actions)- [Codespaces即时开发环境](https://github.com/features/codespaces)- [Issues规划和跟踪工作](https://github.com/features/issues)- [代码审查管理代码变更](https://github.com/features/code-review)- **应用程序安全**- [GitHub 高级安全发现并修复漏洞](https://github.com/security/advanced-security)- [代码安全在构建过程中保障代码安全](https://github.com/security/advanced-security/code-security)- [密钥保护防患于未然阻止信息泄露](https://github.com/security/advanced-security/secret-protection)- **探索**- [为何选择 GitHub](https://github.com/why-github)- [文档](https://docs.github.com)- [博客](https://github.blog)- [更新日志](https://github.blog/changelog)- [市场](https://github.com/marketplace)[查看所有功能](https://github.com/features)解决方案- **按公司规模划分**- [企业版](https://github.com/enterprise)- [中小型团队](https://github.com/team)- [初创企业](https://github.com/enterprise/startups)- [非营利组织](https://github.com/solutions/industry/nonprofits)- **按用例划分**- [应用现代化](https://github.com/solutions/use-case/app-modernization)- [DevSecOps](https://github.com/solutions/use-case/devsecops)- [DevOps](https://github.com/solutions/use-case/devops)- [CI/CD](https://github.com/solutions/use-case/ci-cd)- [查看所有用例](https://github.com/solutions/use-case)- **按行业划分**- [医疗保健](https://github.com/solutions/industry/healthcare)- [金融服务](https://github.com/solutions/industry/financial-services)- [制造业](https://github.com/solutions/industry/manufacturing)- [政府部门](https://github.com/solutions/industry/government)- [查看所有行业](https://github.com/solutions/industry)[查看所有解决方案](https://github.com/solutions)资源- **按主题探索**- [AI](https://github.com/resources/articles?topicai)- [软件开发](https://github.com/resources/articles?topicsoftware-development)- [DevOps](https://github.com/resources/articles?topicdevops)- [安全](https://github.com/resources/articles?topicsecurity)- [查看所有主题](https://github.com/resources/articles)- **按类型探索**- [客户案例](https://github.com/customer-stories)- [活动与网络研讨会](https://github.com/resources/events)- [电子书与报告](https://github.com/resources/whitepapers)- [商业洞察](https://github.com/solutions/executive-insights)- [GitHub 技能](https://skills.github.com)- **支持与服务**- [文档](https://docs.github.com)- [客户支持](https://support.github.com)- [社区论坛](https://github.com/orgs/community/discussions)- [信任中心](https://github.com/trust-center)- [合作伙伴](https://github.com/partners)[查看所有资源](https://github.com/resources)开源- **社区**- [GitHub 赞助资助开源开发者](https://github.com/sponsors)- **项目**- [安全实验室](https://securitylab.github.com)- [维护者社区](https://maintainers.github.com)- [加速器](https://github.com/accelerator)- [GitHub 明星项目](https://stars.github.com)- [存档项目](https://archiveprogram.github.com)- **仓库**- [主题](https://github.com/topics)- [热门趋势](https://github.com/trending)- [集合](https://github.com/collections)企业版- **企业解决方案**- [企业平台由 AI 驱动的开发者平台](https://github.com/enterprise)- **可用附加组件**- [GitHub 高级安全企业级安全功能](https://github.com/security/advanced-security)- [Copilot for Business企业级 AI 功能](https://github.com/features/copilot/copilot-business)- [高级支持企业级 24/7 支持](https://github.com/premium-support)[定价](https://github.com/pricing)搜索或跳转至...搜索代码、仓库、用户、问题、拉取请求...搜索清除[搜索语法提示](https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax)提供反馈我们会阅读每一条反馈并认真对待您的意见。包含我的电子邮件地址以便能与我联系取消 提交反馈保存的搜索使用保存的搜索可以更快地筛选结果名称查询要查看所有可用的限定符请参阅我们的[文档](https://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax)。取消 创建保存的搜索[ 登录 ](/login?return_tohttps%3A%2F%2Fgithub.com%2Fschlae%2FIBM_MCGA)[ 注册 ](/signup?ref_ctaSignupref_locheaderloggedoutref_page%2F%3Cuser-name%3E%2F%3Crepo-name%3Esourceheader-reposource_reposchlae%2FIBM_MCGA)外观设置重置焦点您在另一个标签页或窗口中登录了。[重新加载]()以刷新您的会话。您在另一个标签页或窗口中注销了。[重新加载]()以刷新您的会话。您在另一个标签页或窗口中切换了账户。[重新加载]()以刷新您的会话。 关闭提醒{{ message }}[ schlae ](/schlae) / **[IBM_MCGA](/schlae/IBM_MCGA) ** 公开- [ 通知 ](/login?return_to%2Fschlae%2FIBM_MCGA) 您必须登录才能更改通知设置- [ 复刻 2 ](/login?return_to%2Fschlae%2FIBM_MCGA)- [ 加星 28 ](/login?return_to%2Fschlae%2FIBM_MCGA)- [ 代码 ](/schlae/IBM_MCGA)- [ 问题 0 ](/schlae/IBM_MCGA/issues)- [ 拉取请求 0 ](/schlae/IBM_MCGA/pulls)- [ 操作 ](/schlae/IBM_MCGA/actions)- [ 项目 ](/schlae/IBM_MCGA/projects)- [ 安全与质量 0 ](/schlae/IBM_MCGA/security)- [ 洞察 ](/schlae/IBM_MCGA/pulse)其他导航选项- [ 代码 ](/schlae/IBM_MCGA)- [ 问题 ](/schlae/IBM_MCGA/issues)- [ 拉取请求 ](/schlae/IBM_MCGA/pulls)- [ 操作 ](/schlae/IBM_MCGA/actions)- [ 项目 ](/schlae/IBM_MCGA/projects)- [ 安全与质量 ](/schlae/IBM_MCGA/security)- [ 洞察 ](/schlae/IBM_MCGA/pulse)[](/schlae/IBM_MCGA)schlae/IBM_MCGA主分支[分支](/schlae/IBM_MCGA/branches)[标签](/schlae/IBM_MCGA/tags)[](/schlae/IBM_MCGA/branches)[](/schlae/IBM_MCGA/tags)转到文件代码打开更多操作菜单文件夹和文件| 名称 | 名称 | 最后提交消息 | 最后提交日期 || --- | --- | --- | --- |最新提交历史记录[3 次提交](/schlae/IBM_MCGA/commits/main/)[](/schlae/IBM_MCGA/commits/main/)3 次提交[mcga72x8205flat](/schlae/IBM_MCGA/tree/main/mcga72x8205flat mcga72x8205flat)|[mcga72x8205flat](/schlae/IBM_MCGA/tree/main/mcga72x8205flat mcga72x8205flat)||[mcga72x8300flat](/schlae/IBM_MCGA/tree/main/mcga72x8300flat mcga72x8300flat)|[mcga72x8300flat](/schlae/IBM_MCGA/tree/main/mcga72x8300flat mcga72x8300flat)||[README.md](/schlae/IBM_MCGA/blob/main/README.md README.md)|[README.md](/schlae/IBM_MCGA/blob/main/README.md README.md)||查看所有文件仓库文件导航- READMEIBM MCGA 门阵列逆向工程IBM 的 MCGA多色图形阵列是随 PS/2 型号 25 和 30 推出的低成本视频芯片组。爱普生 Equity 1e 使用与 MCGA 兼容的视频但不使用相同的芯片。IBM 芯片组由内存控制器门阵列和视频格式化器门阵列组成。其中一些是在 IBM 内部的门阵列工艺上制造的而另一些则使用了精工的外部门阵列部件。内存控制器门阵列72X8300这个门阵列包含 MC6845 同步发生器 IC 的实现管理视频 RAM 与 ISA 总线的接口管理字符 RAM 接口以及其他一些杂项功能包括时钟选择和显示器 ID 回读。我逆向工程的示例是使用精工 SLA6430 门阵列实现的。它包含 4342 个基本单元BC每个基本单元有 4 个晶体管。这些基本单元排列成 167 行和 26 列。这是一个 2 微米的 CMOS 工艺有 2 层金属。图像来自 [72x8300-sla6430j](https://siliconpr0n.org/map/ibm/72x8300-sla6430j/)。逆向工程的原理图和布局可以在 mcga72x8300flat 子目录中找到。视频格式化器门阵列72X8205格式化器门阵列解码 ISA 内存和 IO 端口地址管理 RAMDAC 接口并在图形和文本模式下生成像素数据。这个 IC 有两张图片。第一张 [72x8205-gl14105fs](https://siliconpr0n.org/map/ibm/72x8205-g14l05fs/) 似乎是在 IBM 内部的门阵列工艺上制造的。不幸的是在开盖过程中顶层金属层被移除了所以无法提取网表。第二张 [72x8205-sla6330j](https://siliconpr0n.org/map/ibm/72x8205-sla6330j/) 已经被逆向工程详见 mcga72x8205flat 子目录。它是一个精工 SLA6330 门阵列。它包含 3312 个基本单元每个基本单元有 4 个晶体管。这些基本单元排列成 144 行和 23 列。72x8300内存控制器门阵列注意事项基于逆向工程的工作发现了关于 MCGA 的新信息。- MCGA 可以与外部 HSYNC 和 VSYNC 信号同步锁定。这些信号被引出到视频连接器引脚 12ID1是 VSYNC引脚 11ID0是 HSYNC。要启用此模式向寄存器 0x12字符发生器接口和同步极性或显示感应的第 3 位写入 1。在 PS/2 型号 30 的技术参考手册中这一位被列为“保留 0”。据推测这种同步锁定模式需要一个外部时钟 PLL 连接到 25MHz 或 14MHz 时钟输入。- 寄存器 0x10模式控制的第 3 位“兼容性”仅影响 80x25 文本模式。它会使水平定时寄存器乘以 2对于 0x00 水平总数会加 1对于 0x02 起始水平同步会减 1。- 寄存器 0x10模式控制的第 2 位“时钟 1”控制哪个时钟驱动视频电路。在默认状态下大多数视频电路使用 25.175MHz 时钟。您可以通过将此位更改为 0 来将时钟频率设置为 14.318MHz 输入。- 寄存器 0x10模式控制的第 6 位“保留 0”尚未完全理解。- 寄存器 0x20保留是一个制造测试模式寄存器。| 位 | 功能 || --- | --- || 7 | 14.318MHz 备用时钟模式未知 || 6 | VCK 引脚备用模式通常 VCKIN 直接连接到 VCK || 5 | 加速模式未知 || 4 | 加速模式光标位置高计数器 || 3 | 加速模式光标位置低/字符计数器 || 2 | 加速模式垂直总数调整计数器 || 1 | 加速模式垂直计数器 || 0 | 加速模式水平计数器 |计数器加速模式基本上是将时钟信号注入到每个计数器的高 4 位和低 4 位因此计数器运行得更快。这有助于工厂在芯片测试仪中进行测试。72x8205视频格式化器门阵列注意事项扩展模式寄存器 0x1A 有两个未记录的位| 位 | 功能 || --- | --- || 1 | 未知可能即使在其他分辨率下也强制使用 256 色模式 || 0 | 未知可能将边框颜色强制应用到整个显示屏 |通过访问以下位置可以使用其他制造测试寄存器- 寄存器 0x19 - 制造寄存器地址- 寄存器 0x18 - 制造寄存器数据要访问特定的制造测试寄存器将地址加载到寄存器 0x19 中然后在 0x18 处读取或写入内容。制造测试寄存器如下| 地址 | 寄存器 || --- | --- || 0 | 未实现 || 1 | 只读。包含发送到 RAMDACP[7:0] 引脚的最新数据内容 || 2 | 只读。包含从 VRAMCP[7:0] 引脚接收的最新数据内容 || 3 | 只读。包含来自格式化逻辑的未知 16 色模式数据 || 4 | 只写寄存器操作如下 |地址为 4 的只写寄存器仅实现以下两位| 位 | 功能 || --- | --- || 0 | 制造硬复位相当于复位引脚。写入 1 使设备进入复位状态写入 0 使设备退出复位状态 || 1 | 写入 1 禁用大量输出包括连接到 RAMDAC 的输出 |逆向工程过程信息72x8300 图像从 21808x21778 缩放至 10904x10889。输出的 jpg 文件设置为 85% 的压缩率以节省空间设置为 48DPI并以 0.103170 的比例因子导入到 KiCAD 中。这使得在 KiCAD 单位中基本单元之间的间距为“3mm”。在识别出每种基本单元类型后为其创建了库封装并将其与原理图符号关联起来。所有焊盘都放置在中心以便封装可以旋转因为原始中的许多基本单元是镜像的。门阵列使用两层金属理解层与层之间的连接可能具有挑战性。一般来说只有少数允许的连接- 金属 1 到金属 2- 金属 2 到多晶硅栅极- 金属 2 到扩散层每列在金属 2 上有两条平行线分别承载 VCC右侧和 GND左侧。因此每个基本单元中的左侧两个晶体管是 NMOS右侧两个晶体管是 PMOS。在一个基本单元中两个晶体管共享一个栅极每个栅极有三个连接焊盘。触点可以将 VCC 或 GND 连接到两个晶体管之间共享沟道连接上的扩散区域或者连接到一个晶体管、另一个晶体管或两者的隔离沟道连接上。进入或离开逻辑门的外部信号通常使用在金属 1 上穿过整个单元的水平走线进行连接。逻辑门内部的布线通常在金属 2 上完成。除了金属 2 上承载电源和接地的垂直平行线外还有另一组水平走线在金属 1 上也承载电源和接地。我的逆向工程布局中没有在这些线上放置走线因为它们不是信号线。走线从封装焊盘开始放置沿着底层金属连接到所有其他连接的焊盘赋予一个网络名称然后反向传播到原理图与通常的 KiCAD 过程相反。未来计划- 研究从 KiCAD 网表生成 Verilog关于IBM MCGA 逆向工程芯片资源Readme哎呀加载时出现错误。[请重新加载此页面]()[ 活动](/schlae/IBM_MCGA/activity)加星[ **28** 颗星](/schlae/IBM_MCGA/stargazers)关注者[ **2** 人关注](/schlae/IBM_MCGA/watchers)复刻[ **2** 次复刻](/schlae/IBM_MCGA/forks)[ 举报仓库 ](/contact/report-content?content_urlhttps%3A%2F%2Fgithub.com%2Fschlae%2FIBM_MCGAreportschlae%28user%29)[版本](/schlae/IBM_MCGA/releases)未发布任何版本[包 0](/users/schlae/packages?repo_nameIBM_MCGA)哎呀加载时出现错误。[请重新加载此页面]()[贡献者](/schlae/IBM_MCGA/graphs/contributors)* * *哎呀加载时出现错误。[请重新加载此页面]()页脚[ ](https://github.com) (C) 2026 GitHub, Inc.页脚导航- [条款](https://docs.github.com/site-policy/github-terms/github-terms-of-service)- [隐私](https://docs.github.com/site-policy/privacy-policies/github-privacy-statement)- [安全](https://github.com/security)- [状态](https://www.githubstatus.com/)- [社区](https://github.community/)- [文档](https://docs.github.com/)- [联系我们](https://support.github.com?tagsdotcom-footer)- 管理 Cookie- 不共享我的个人信息您此时无法执行该操作。