CircuitVerse プロジェクト

このページには、Google シーズンの Google ドキュメントで承認されたテクニカル ライティング プロジェクトの詳細が記載されています。

プロジェクトの概要

オープンソースの組織:
CircuitVerse
テクニカル ライター:
dvls
プロジェクト名:
CircuitVerse Interactive Book の統合と改善
プロジェクトの期間:
標準の長さ(3 か月)

プロジェクトの説明

1 概要

CircuitVerse は、ウェブベースのグラフィカル ユーザー インターフェースを使用して回路の設計とシミュレーションを行えるプラットフォームの提供を目的としたオープンソース プロジェクトです。ロジック シミュレータは、主に教育用途向けに設計されていますが、完全な CPU 実装の設計にも使用できます。ソフトウェアの技術ドキュメントに加えて、オンラインのインタラクティブ ブックで、ユーザーがデジタル ロジック設計を学習できるようにしています。この書籍では、ユーザーは書籍内から直接回線を試してインタラクティブな体験ができます。

この書籍は開発の初期段階にあり、関連するセクションが一部欠けています。また、異なるセクションをつなぐフローという点で一般的な構造が緩く、より詳細なコンテンツが必要です。さらに、コントリビューターのプロジェクトへのコラボレーションを支援するガイドラインや、どのコンテンツがどの優先順位で必要なのかについて、コントリビューションを導くための計画やロードマップもないというのが組織です。

この提案の目的は、メンターと協力して投稿に関するガイドラインを策定し、トピック開発計画を策定し、現在のコンテンツの改善に貢献するとともに、開発計画に基づく新しいコンテンツを作成することです。

2 The Current State of the Interactive Book

Google Summer of Code 2019 でプロジェクトが開始されて以来、学生コミュニティの助けを借りて「やりくりの成長」を示しました。プロジェクト組織自体は主にデベロッパーによって形成されているため、デベロッパーは GSoD に参加し、Interactive Book の改善に向けた外部からの支援を募っています。プロジェクトのデベロッパーが、この書籍が現在、一部のセクションの書き直し、新しいコンテンツの追加、より詳細で包括的な内容になっていることを特定しました。さらにチームは、GSoD の後に、新しい投稿に関するガイドラインと、コンテンツ開発に関する一般的な「マスタープラン」を作成することを期待しています。

3 この提案の貢献度は?

この提案は、寄稿者同士のコラボレーション プロセスをより調和のとれたものにすることで、コンテンツの一貫性を高めることを目指して、貢献ガイドラインの第 1 版を共同で作成するものです。また、書籍のトピックの開発計画の概要も表示されます。新しい開発計画に基づく緊急の追加や変更も提供されます。

4 利用可能な代替案の分析

Wikibooks([Help:Contributing]、[Wikibooks:Policies and Guidelines])や OpenStreetMap([Organized Creating Guidelines])、Linux Documentation Project([LDP Author Guide])など、類似した特性を持ついくつかの成熟したオープンソース プロジェクトで、ドキュメントに関するコントリビューションのガイドラインがすでに策定されています。これらのサンプルは、オープンソース プロジェクトの成功経験に基づいてプロジェクトのガイドラインを作成するために使用できます。

トピックの開発計画では、オープンコースのシラバス([MIT Open Courseware] など)や、デジタル ロジック回路に関するリファレンス ブックを比較できます。これには、[Lessons In Electric Circuits -- Volume IV -Digital]、[Wikibooks: Digital Circuits]、[Wikibooks: Digital Electronics] などのオープンブックが含まれます。

[ヘルプ:貢献] https://en.wikibooks.org/wiki/Help:貢献

[Wikibooks:ポリシーとガイドライン] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

[組織化された編集ガイドライン] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

[LDP 作成者ガイド] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

[MIT Open Courseware] https://ocw.mit.edu/

[Lessons In Electric Circuits -- Volume IV -Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

[Wikibooks: Digital Circuits] https://en.wikibooks.org/wiki/Digital_Circuits

[Wikibooks: Digital Electronics] https://en.wikibooks.org/wiki/Digital_Electronics

5 提案するドキュメントの構造

このインタラクティブな書籍は、アマチュアの電子愛好家や中等教育の学生から、デジタル論理回路のスキルを更新または強化する必要がある高等教育の学生や専門家まで、幅広いユーザー層に役立つ可能性があります。

書籍のユーザーの不均一性に対処するために、「多層」構造が提案されています。この構造では、各層が複雑さのレベルとコンテンツの理論的な深さに対応するようになっています。

そのため、ドキュメントの構造は 2 次元で増大します。最初の次元はデジタル論理システムのトピックの論理的または従来の順序に対応し、2 番目の次元はレベルを表します。

以下の構造化リストには、提案された 2 次元の構造が示されています。標準的なトピック シーケンスは、最上位レベルに示されています。わかりやすくするため、各トピックでは、基本、中程度、上級の各レベルに対応する 3 つの複雑性レイヤのみを定義しています。レベルごとに、具体的な一般的なトピックに関連するコンテンツが一覧表示されます。

  • 2 値を使用した表現:
    • 基本レベル: 2 進数、負の数、その他の底、コード化。
    • 中レベル: [具体的なコンテンツなし]
    • 上級レベル: モジュールとリング
  • 2 進数を使用する数学演算:
    • 基本レベル: 加算、減算、乗算、除算
    • 中レベル: ブール代数、ブール関数
    • 上級レベル: その他の代数、シャノン分解
  • 組み合わせ SSI コンポーネント:
    • 基本レベル: シンボル、論理ゲート、真理値テーブル
    • 中レベル: ロジック ファミリー、ユニバーサル ゲート
    • 上級レベル: 時間の挙動(タイミング モデル、ハザード)
  • 組み合わせロジック設計:
    • 基本レベル: 機能の説明、実装
    • 中レベル: 正規関数、K マップ
    • 上級レベル: マップ入力変数、Quine McCluskey、バイナリ キューブ表現
  • 組み合わせ MSI コンポーネント:
    • 基本レベル: MUX、DEMUX、エンコーダ、デコーダ、半加算器、全加算器
    • 中レベル: MUX ベースの関数
    • 上級レベル: [特定のコンテンツなし]
  • 組み合わせ LSI コンポーネント:
    • 基本レベル: ROM、ALU
    • 中レベル: PLD(PLA、PAL、GAL)
    • 上級レベル: [特定のコンテンツなし]
  • シーケンシャル SSI コンポーネント:
    • 基本レベル: ラッチ、フリップフロップ、クロック信号、時間図
    • 中レベル: メモリ フィードバック、同期システム、非同期システム
    • 上級レベル: [特定のコンテンツなし]
  • シーケンシャル MSI コンポーネント:
    • 基本レベル: レジスタ、カウンタ
    • 中レベル: [具体的なコンテンツなし]
    • 上級レベル: [特定のコンテンツなし]
  • シーケンシャル デザイン:

    • 基本レベル: [具体的なコンテンツなし]
    • 中レベル: Sequential Synthesis、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 シミュレータを見つけ、当大学の COVID-19(新型コロナウイルス感染症)封じ込め対策により、研究所の活動が足りない状況を補う優れたツールであると判断しました。シミュレータのテスト中、私は同社のインタラクティブ ブックも見つけました。デジタル論理システムに関するコース全体の主な参考資料としては十分ではありませんでしたが、現在の内容は正確で理解しやすいため、学習リソースに加えました。

シミュレータと書籍を集中的に使っていたため、組織から GSoD について連絡を受けました。自分の専門分野から直接、プロジェクトに貢献できる機会を見いだしました。

9 件の参考資料

  • [Wikibooks ヘルプ:貢献],
  • [Wikibooks:ポリシーとガイドライン]
  • [OpenStreetMap の組織的な編集ガイドライン]
  • [Linux ドキュメント プロジェクト(LDP)作成ガイド]
  • [MIT Open Courseware Introductory Digital Systems Laboratory シラバス]
  • [Lessons In Electric Circuits -- Volume IV -Digital]
  • [Wikibooks: Digital Circuits]
  • [Wikibooks: デジタル エレクトロニクス]
  • [Linux パンフレット プロジェクト]

    [Wikibooks Help:Contributing] https://en.wikibooks.org/wiki/Help:Contributing

    [Wikibooks:ポリシーとガイドライン] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

    [OpenStreetMap の組織的な編集ガイドライン] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

    [The Linux Documentation Project (LDP) Author Guide] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

    [MIT Open Courseware Introductory Digital Systems Laboratory Syllabus] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111-introduction-digital-systems-laboratory-spring-2006/syllabus/

    [Lessons In Electric Circuits -- Volume IV -Digital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

    [Wikibooks: Digital Circuits] https://en.wikibooks.org/wiki/Digital_Circuits

    [Wikibooks: Digital Electronics] https://en.wikibooks.org/wiki/Digital_Electronics

    [Linux パンフレット プロジェクト] http://lbproject.sourceforge.net/