CircuitVerse 项目

本页面包含有关 Google 文档季可接受的技术写作项目的详细信息。

项目摘要

开源组织:
CircuitVerse
技术文档工程师:
dvls
项目名称:
CircuitVerse 互动式图书整合和改进
项目时长:
标准时长(3 个月)

Project description

1 份摘要

CircuitVerse 是一个开源项目,旨在提供一个平台,以便在其中使用基于网络的图形界面设计和模拟电路。逻辑模拟器可用于设计完整的 CPU 实现,不过它主要用于教育用途。除了该软件的技术文档之外,我们还提供一本在线互动式书,引导用户学习数字逻辑设计。用户可以通过本书直接在书中试用电路,从而获得互动体验。

这本书处于早期开发阶段,目前缺少一些相关章节,在连接不同章节的流程方面,整体结构较为松散,并且需要更详细的内容。此外,根据该组织的规定,该组织没有帮助贡献者协作参与项目的准则,也没有用于指导贡献者贡献哪些内容的计划或路线图。

此提案的目的是与导师合作,共同制定贡献准则、制定主题开发计划、为改进当前内容贡献力量,并根据此开发计划创作新内容。

2 互动式图书的当前状态

该项目自 2019 年 Google 编程之夏启动以来,在学生社区的帮助下,展现出了“非受管的发展”。项目组织本身主要由开发者组成,因此他们已参与 GSoD 以寻求外部帮助来改进互动式图书。该项目的开发者发现,这本书目前需要重新编写部分章节和添加新内容,使图书更详细、更全面。此外,在 GSoD 之后,该团队将制定有关新贡献的准则以及内容开发的通用“总体计划”。

3 该提案有什么作用

此方案将推动共同创建第一版贡献准则,旨在确保贡献者的协作过程更协调,从而产生更加一致的内容。此外,我们还会概述图书主题的发展计划。根据新开发计划,该计划中最紧急的新增内容和变更也会贡献给相关人员。

4 分析可用替代方案

几个具有类似特征的成熟开源项目已经制定了文档贡献准则,例如 Wikibooks([Help:Contributing]、[Wikibooks:Policies andguidelines])、OpenStreetMap([组织编辑准则])或 Linux 文档项目([LDP 作者指南])。这些示例可用于根据成功开源项目的经验来构建项目的准则。

针对该主题的发展计划,您可以比较各种开放课程的大纲(例如 [麻省理工学院公开课件])以及有关数字逻辑电路的参考书,包括 [课程电路 - Volume IV -Digital]、[Wikibooks:数字电路书:数字] 和 [Wiki] 等开放式图书。

[帮助:投稿] https://en.wikibooks.org/wiki/Help:投稿

[Wikibooks:政策和准则] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

[组织编辑指南] https://wiki.osmfoundation.org/wiki/Organified_Editing_Guidelines

[LDP 作者指南] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

[麻省理工学院开放课程软件] https://ocw.mit.edu/

[课程电路 - Volume IV -Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

[Wikibooks:数字电路] https://en.wikibooks.org/wiki/Digital_Circuits

[Wikibooks:数字电子产品] https://en.wikibooks.org/wiki/Digital_Electronics

5 建议文档的结构

这本互动式图书可能适合广泛的受众,从业余电子爱好者和中学教育的学生到需要复习或增强数字逻辑电路技能的高等教育学生和专业人士。

为了解决图书用户呈现的差异性问题,我们提出了一种“多层”结构,其中每一层都对应于内容复杂度的更高程度和内容的理论深度。

因此,文档的结构从两个维度开始增长:第一个维度对应于数字逻辑系统中主题的逻辑或传统顺序,而第二个维度表示层级。

以下结构化列表中显示了提议的二维结构。标准主题序列显示在最顶层。为简单起见,只为每个主题定义了三层复杂度,分别对应基本、中等和高级。对于每个级别,系统都会列出与特定常规主题相关的内容。

  • 使用二元数表示:
    • 基本级:二进制数、负数量、其他基数、编码。
    • 中级:[无具体内容]
    • 高级级别:模块和环
  • 包含二进制数的数学运算:
    • 基本级:加法、减法、乘法、除法
    • 中级:布尔代数、布尔函数
    • 高级:其他代数、香农分解
  • 组合 SSI 组件:
    • 基础级别:符号、逻辑门、Truth 表
    • 中级:逻辑系列、通用门
    • 高级级别:时间行为(计时模型、危险)
  • 组合逻辑设计:
    • 基本级:功能说明、实现
    • 中级:规范函数、k-Maps
    • 高级:映射输入变量、Quine McCluskey、二进制立方体表示法
  • 组合 MSI 组件:
    • 基础级:MUX、DEMUX、编码器、解码器、半加器、全加器
    • 中级:基于 MUX 的函数
    • 高级:[无具体内容]
  • 组合 LSI 组件:
    • 基础级:ROM、ALU
    • 中级:PLD(PLA、PAL、GAL)
    • 高级:[无具体内容]
  • 顺序 SSI 组件:
    • 基础级:锁存器、人机识别系统、时钟信号、时间图
    • 中级:内存反馈、同步系统、异步系统
    • 高级:[无具体内容]
  • 连续 MSI 组件:
    • 基础级别:寄存器、计数器
    • 中级:[无具体内容]
    • 高级:[无具体内容]
  • 顺序设计:

    • 基础级别:[无具体内容]
    • 中级:顺序合成、FSM(Mealy、Moore)、状态图、状态最小化、状态分配、竞态条件
    • 高级:基于 MSI 的设计、基于 LSI 的设计、流程图、MDS 图

    在基础层面上,用户无需具备较高的数学知识即可了解数字逻辑电路的工作原理和使用方式。因此,它可能适合业余爱好者和中等教育学生。如果这些用户具备必要的技能,并希望更深入地了解他们,则可以完成中等水平的部分或全部内容。

    中等水平的内容和要求应该相当于数字逻辑系统中的高等教育水平入门课程。

    最后,高级课程包含通常可以在大学数字系统的补充或选做高级课程中找到的内容。

    我们将在项目的早期阶段(第 3 周)与导师讨论这一提议的结构,随后这些导师将将其作为参考来规划长期主题发展计划。

    所提议的结构可以利用文档的大部分(如果不是全部)当前内容,必要时进行相应的修订、扩展或更正。此外,我们将针对现有文档中尚未涵盖的内容编写新的章节。

6 个目标

  1. 为互动式图书项目撰写贡献指南初稿。
  2. 大体介绍图书主题的发展情况。
  3. 重写和重构当前内容。
  4. 根据开发计划创建新内容。

7 时间表

第 1 周:(9 月 14 日至 9 月 20 日)根据其他项目的示例以及截至目前的项目经验,分析并与导师讨论最佳准则。第 2 周:(9 月 21 日至 9 月 27 日)撰写指南草稿 第 3 周:(9 月 28 日至 10 月 4 日)与导师讨论主题开发计划草案。 第 4 周:(10 月 5 日 - 10 月 11 日)撰写发展计划。 第 5 至 11 周:(10 月 12 日至 11 月 29 日)撰写贡献内容,包括调整后的内容以及新主题。 第 12 周:(11 月 30 日至 12 月 5 日)提交项目报告。 项目评估:(12 月 3 日 - 12 月 10 日) - 技术文档工程师的评估提交材料。 - 提交导师评估申请。

8 为什么选择 CircuitVerse 互动图书

由于新型冠状病毒肺炎 (COVID-19) 的全球危机,我开始寻找能够对数字逻辑系统本科课程的学生提供帮助的在线资源。几十年来,我一直是 Free-Libre 开源技术的倡导者,因此我会优先考虑此类项目。我发现了 CircuitVerse 模拟器,并认为它是一个很好的工具,能够有效弥补我们大学因新冠防控措施而缺乏实验室活动的情况。在测试模拟器时,我还发现他们的互动式图书内容还不足以作为关于数字逻辑系统的完整课程的主要参考资料,但当前的内容正确且易于理解,因此我将其添加到了学习资源中。

由于我频繁使用他们的模拟器并预订大量产品,因此该组织联系了我,向我介绍 GSoD。借此机会,我可以直接基于自己的专业领域为项目做贡献。

9 处参考

  • [Wikibooks Help:投稿],
  • [Wikibooks:政策和指南]
  • [OpenStreetMap 组织编辑指南]
  • [Linux 文档项目 (LDP) 作者指南]
  • [麻省理工学院开放课程软件入门数字系统实验室课程表]
  • [电路课程 -- Volume IV - Digital]
  • [Wikibooks:数字电路]
  • [Wikibooks:数字电子产品]
  • [Linux 手册项目]

    [Wikibooks 帮助:贡献] https://en.wikibooks.org/wiki/Help:Contributing

    [Wikibooks:政策与准则] https://zh.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

    [OpenStreetMap 组织编辑指南] https://wiki.osmfoundation.org/wiki/Organeous_Editing_Guidelines

    [Linux 文档项目 (LDP) 作者指南] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

    [麻省理工学院开放课程软件入门数字系统实验室课程大纲] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111-introductory-digital-systems-laboratory-spring-2006/syllabus/

    [课程电路 - Volume IV -Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

    [Wikibooks:数字电路] https://en.wikibooks.org/wiki/Digital_Circuits

    [Wikibooks:数字电子产品] https://en.wikibooks.org/wiki/Digital_Electronics

    [Linux 手册项目] http://lbproject.sourceforge.net/