数字逻辑设计工具软件和电路模拟器。
源代码:
hneemann/Digital: A digital logic designer and circuit simulator. (github.com)
一款易于使用的数字逻辑设计器和电路模拟器,专为教育目的而设计。
下载与安装
无需安装,只需解压Digital.zip文件即可下载。在 Linux 上启动 shell 脚本,在 Windows 和 MacOS 上可以直接启动 JAR 文件。运行 Digital 需要 Java 运行时环境(至少 JRE 8)。在 Windows 上,获取 Java 的最简单方法是安装 Eclipse Temurin项目提供的二进制文件。
如果在您的系统上启动 Digital 时出现任何问题,请尝试从Digital文件夹中的命令行运行 Digital :
java -jar Digital.jar
特征
以下是数字化的主要特点:
-
通过测量图可视化信号状态。
-
用于分析振荡的单门模式。
-
组合和时序电路的分析和综合。
-
简单的电路测试:您可以创建测试用例并执行它们来验证您的设计。
-
许多示例:从传输门 D 触发器到完整(简单)的类似 MIPS 的单周期 CPU。
-
包括有限状态机 (FSM) 的简单编辑器。然后,FSM 可以转换为状态转换表和实现 FSM 的电路(参见屏幕截图)。
-
包含最常用的 74xx 系列集成电路的库。
-
支持通用电路。这允许创建在使用时可以参数化的电路。以这种方式,例如可以创建具有可选择位宽度的桶形移位器。
-
良好的性能:示例处理器的时钟频率为 120 kHz。
-
支持大型电路:“Conway's Game of Life”示例由大约 2400 个有源组件组成,并且运行良好。
-
可以使用用 Java 实现并打包在 jar 文件中的自定义组件。有关详细信息,请参阅此示例。
-
简单的远程TCP 接口 ,例如允许汇编器 IDE控制模拟器。
-
可以使用 VHDL 或 Verilog 来描述组件。模拟VHDL 定义的组件需要安装开源VHDL 模拟器ghdl ,模拟Verilog定义的组件需要安装开源Verilog模拟器Icarus Verilog 。
-
电路可以导出为 VHDL 或 Verilog。还直接支持 BASYS3 板和 TinyFPGA BX板。有关详细信息,请参阅文档。示例文件夹包含示例 CPU 的变体,它在 BASYS3 板上运行。
-
直接导出 JEDEC 文件,您可以将其闪存到GAL16v8 或GAL22v10。这些芯片有些过时(1985 年推出!),但对于初学者练习来说足够了,易于理解且有详细记录。还 支持ATF150x芯片,该芯片提供多达 128 个宏单元和系统编程。有关详细信息,请参阅文档。
-
电路的 SVG 导出,包括 LaTeX/Inkscape 兼容的 SVG 版本(请参阅 ctan)
-
没有遗留代码。
-
良好的测试覆盖率(大约 80%;GUI 测试和 HDL 模拟器集成测试都没有在 Travis-CI 构建服务器上运行,因此 CodeCov 测量的覆盖率仅为 50% 左右)。几乎所有示例都包含确保它们正常工作的测试用例。
发行说明中列出了尚未发布的最新更改 。您可以在此处找到最新的预发布版本。在预发布版本中,通常不执行自动化 GUI 测试。所有其他测试(包括 HDL 测试)均执行无误。
如果您想从源代码构建 Digital:
-
首先克隆存储库。
-
需要 JDK(至少 JDK 8)(Oracle JDK 或 OpenJDK)
-
maven 用作构建系统,因此最简单的方法是安装maven。
-
之后,您可以简单地运行
mvn install
构建 Digital。 -
运行
mvn site
以创建 findbugs 和 JaCoCo 代码覆盖率报告。 -
大多数 IDE(Eclipse、NetBeans、IntelliJ)都能够导入
pom.xml
来创建项目。
贡献指南
美国对中国实施芯片围堵,为了自主可控,过去几年中国芯片产业投入巨量的资金。半导体人才极度稀缺,一些半导体设计人员,资深人员的年薪甚至达到了三百多万。培养半导体人才的机构也赚钱。开源的电路设计软件可以帮助没有经验的人快速上手。
要通过开源设计软件快速成为芯片设计或芯片测试人才,以下是一些建议:
-
学习基础知识:首先,你需要掌握数字电路、模拟电路、半导体物理等基础知识。这些基础知识是理解芯片设计和测试的基础。
-
选择合适的开源设计软件:根据你的学习目标和兴趣,选择适合的开源设计软件。例如,对于芯片设计,你可以考虑使用开源的EDA(电子设计自动化)工具,如KiCad、OpenCircuitDesign等。对于芯片测试,你可以考虑使用开源的测试平台,如OpenOCD等。
-
深入学习和实践:通过阅读官方文档、教程和案例,深入了解所选软件的功能和使用方法。同时,通过实践来巩固所学知识。你可以尝试设计一些简单的电路或芯片,并使用所选软件进行仿真和测试。
-
参与开源社区:加入所选软件的开源社区,与其他开发者交流和学习。你可以向社区寻求帮助,也可以为社区做出贡献。通过参与开源社区,你可以了解最新的技术动态和发展趋势,提高自己的技能水平。
-
不断学习和提升:芯片设计和测试是一个不断发展和变化的领域。为了保持竞争力,你需要不断学习和提升自己的技能。你可以关注最新的技术动态、参加相关的研讨会和培训课程,或者寻求与行业专家的合作和交流机会。
-
实践经验积累:除了学习和使用开源设计软件外,实践经验也非常重要。你可以尝试参与一些实际的芯片设计或测试项目,积累实践经验。这将有助于你更好地理解芯片设计和测试的流程、技巧和挑战。
最后,成为芯片设计或芯片测试人才需要时间和努力。
三百万年薪,可能需要十多年的艰苦学习。
通过不断学习和实践,你将能够掌握所需的技能,并在这个领域取得成功。同时,也要注意保持耐心和毅力,因为这是一个需要长期投入的领域。
原文链接: