CircuitVerse プロジェクト

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

プロジェクトの概要

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

プロジェクトの説明

1 件の概要

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

この書籍は開発の初期段階にあり、関連するセクションが一部不足しています。異なるセクションをつなぐ流れが全体的であるため、より詳しい内容が必要になります。さらに、コントリビューターのプロジェクトへの協力を支援するガイドラインや、どのコンテンツをどの優先順位で必要となるかについて、貢献を導くための計画やロードマップもないという組織もあります。

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

2 The Current State of the Interactive Book

Google Summer of Code 2019 で開始されたプロジェクト以来、学生コミュニティの助けを借りてプロジェクトは「管理されていない成長」を示しています。プロジェクト組織そのものは主にデベロッパーによって構成されているため、彼らは GSoD に加わり、Interactive Book の改善に向けた外部の協力を求めました。プロジェクトのデベロッパーが現在、書籍が一部のセクションの書き換えと新しいコンテンツの追加を必要としていること、およびコンテンツをより詳細で包括的なものにする必要があることを認識しています。さらにチームは、GSoD の後に新しいコントリビューションのガイドラインと、コンテンツ開発に関する一般的な「マスタープラン」を作成することを期待しています。

3 この提案の貢献度は?

この提案は、寄付ガイドラインの最初のバージョンの共同作成に貢献します。これにより、より調和のとれたコラボレーション プロセスを実現し、より一貫性のあるコンテンツに協力することが可能になります。書籍のトピックの開発計画についても概説します。新しい開発計画に従った、最も緊急性の高い追加や変更も提供されます。

4 利用可能な代替物質の分析

Wikibooks([Help:貢献]、[Wikibooks:Policies and Guidelines])、OpenStreetMap([組織編集ガイドライン])、Linux ドキュメント プロジェクト([LDP 作成者ガイド])など、類似した特性を持つ複数の成熟したオープンソース プロジェクトでは、ドキュメントのための貢献ガイドラインがすでに策定されています。これらの例は、成功したオープンソース プロジェクトの経験に基づいて、プロジェクトのガイドラインを作成するために使用できます。

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

[ヘルプ:貢献] https://ja.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 コンポーネント:
    • 基本レベル: レジスタ、カウンタ
    • 中レベル: [具体的なコンテンツなし]
    • 上級: [特定のコンテンツなし]
  • 順次設計:

    • 基本: [特定のコンテンツなし]
    • 中レベル: シーケンシャル合成、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 日~ 11 日)開発計画を作成する。第 5 ~ 11 週: (10 月 12 日~ 11 月 29 日)再構成したコンテンツと新しいトピックからなる投稿を書きます。12 週目(11 月 30 日~ 12 月 5 日)プロジェクト レポートの提出。プロジェクト評価:(12 月 3 日~ 12 月 10 日)- テクニカル ライターが提出した評価提出。- メンターが提出した評価結果。

8「Why the CircuitVerse Interactive Book」

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 ヘルプ:貢献] https://en.wikibooks.org/wiki/Help:貢献

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

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

    [Linux ドキュメント プロジェクト(LDP)作成者ガイド] 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-introducing-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/