CircuitVerse 프로젝트

이 페이지에는 Google Season of Docs에 선정된 기술 문서 프로젝트의 세부정보가 포함되어 있습니다.

프로젝트 요약

오픈소스 조직:
CircuitVerse
기술 문서 작성자:
dvls
프로젝트 이름:
CircuitVerse 대화형 도서 통합 및 개선
프로젝트 길이:
표준 기간 (3개월)

Project description

개요 1개

CircuitVerse는 웹 기반 그래픽 사용자 인터페이스를 사용하여 회로를 설계하고 시뮬레이션할 수 있는 플랫폼을 제공하는 것을 목표로 하는 오픈소스 프로젝트입니다. 로직 시뮬레이터는 주로 교육용으로 설계되었지만 CPU 구현을 완료할 때까지 설계하는 데 사용할 수 있습니다. 소프트웨어에 관한 기술 문서 외에도 온라인 양방향 책을 통해 사용자가 디지털 로직 설계를 학습할 수 있습니다. 이 책을 사용하면 사용자가 책 내에서 직접 회로를 시도하여 양방향 환경을 즐길 수 있습니다.

이 책은 초기 개발 단계에 있으며 현재 일부 관련 섹션이 누락되어 있습니다. 일반적인 구조는 여러 섹션을 연결하는 흐름 측면에서 느슨하며 더 자세한 콘텐츠가 필요합니다. 또한 조직에 따르면 참여자가 프로젝트에 공동작업하는 데 도움이 되는 가이드라인이 없으며, 어떤 콘텐츠가 필요한지, 어떤 우선순위로 참여해야 하는지 안내하는 계획이나 로드맵도 없습니다.

이 제안서의 목표는 멘토와 협력하여 참여 가이드라인을 만들고, 주제 개발 계획을 수립하고, 기존 콘텐츠를 개선하는 데 기여할 뿐만 아니라 개발 계획에 따라 새 콘텐츠를 만드는 것입니다.

2 양방향 책의 현재 상태

2019년 Google Summer of Code에서 프로젝트가 시작된 이후 학생 커뮤니티의 도움을 받아 '관리되지 않는 성장'을 보였습니다. 프로젝트 조직 자체는 주로 개발자로 구성되어 있으므로 개발자들은 GSoD에 참여하여 인터랙티브 북을 개선하기 위한 외부 지원을 모색했습니다. 프로젝트 개발자는 현재 도서에 일부 섹션을 다시 작성하고 새로운 콘텐츠를 추가해야 함을 확인했으며 도서를 더 상세하고 포괄적으로 변경했습니다. 또한 GSoD 후에는 새로운 참여에 대한 가이드라인과 콘텐츠 개발을 위한 일반적인 '마스터 플랜'이 마련될 것으로 예상됩니다.

3 이 제안서는 어떤 기여 요인인가요?

이 제안서는 참여자 가이드라인의 첫 번째 버전을 공동으로 만들어 참여자를 위한 보다 조화로운 협업 프로세스를 보장하고 더 일관된 콘텐츠를 제공하는 데 기여할 것입니다. 책 주제에 대한 개발 계획도 설명합니다. 새 개발 계획에 따른 가장 긴급한 추가사항과 변경사항도 제공됩니다.

4 사용 가능한 대안 분석

유사한 특성을 가진 여러 성숙한 오픈소스 프로젝트에서 이미 문서에 대한 참여 가이드라인을 마련했습니다(예: 위키북스([도움말: 참여], [위키북스: 정책 및 가이드라인]), OpenStreetMap([조직적 편집 가이드라인]), Linux 문서 프로젝트([LDP 저자 가이드]). 이러한 예는 성공적인 오픈소스 프로젝트의 경험을 바탕으로 프로젝트 가이드라인을 빌드하는 데 사용할 수 있습니다.

주제의 개발 계획의 경우 공개 과정 (예: [MIT Open Courseware])의 강의 계획과 [Lessons In Electric Circuits -- Volume IV -Digital], [Wikibooks: Digital Circuits], [Wikibooks: Digital Electronics]와 같은 공개 도서를 포함하여 디지털 로직 회로에 관한 참고서를 비교할 수 있습니다.

[도움말:Contributing] https://ko.wikibooks.org/wiki/Help:Contributing

[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/

[교훈적인 전기 회로 -- 4권 -디지털] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

[위키북: 디지털 회로] https://ko.wikibooks.org/wiki/Digital_Circuits

[Wikibooks: 디지털 전자공학] https://en.wikibooks.org/wiki/Digital_Electronics

5 제안된 문서의 구조

이 양방향 책은 아마추어 전자 애호가와 중등 교육 학생부터 디지털 로직 회로에 관한 기술을 업데이트하거나 강화해야 하는 고등 교육 학생 및 전문가에 이르기까지 다양한 사용자에게 유용할 수 있습니다.

도서 사용자의 이질성을 해결하기 위해 '다층' 구조가 제안됩니다. 여기서 각 층은 콘텐츠의 복잡도와 이론적 깊이의 증가하는 수준에 해당합니다.

따라서 문서의 구조는 두 가지 측면에서 확장됩니다. 첫 번째 측정기준은 디지털 로직 시스템의 주제의 논리적 또는 기존 시퀀스에 해당하며, 두 번째 측정기준은 수준을 나타냅니다.

다음 구조 목록에서는 제안된 2차원 구조가 표현됩니다. 표준 주제 시퀀스는 최상위 수준에 표시됩니다. 편의상 각 주제에 대해 기본, 중급, 고급 수준에 해당하는 세 가지 복잡성 수준만 정의됩니다. 각 수준에는 특정 일반 주제와 관련된 콘텐츠가 나열됩니다.

  • 바이너리 숫자를 사용한 표현:
    • 기본 수준: 바이너리 수, 음수 수량, 기타 기수, 코딩
    • 중간 수준: [구체적인 콘텐츠 없음]
    • 고급 수준: 모듈 및 환
  • 이진수를 사용한 수학 연산:
    • 기본 수준: 덧셈, 뺄셈, 곱셈, 나눗셈
    • 중간 수준: 부울 대수, 불리언 함수
    • 고급 수준: 기타 대수, 섀넌 분해
  • 조합 SSI 구성요소는 다음과 같습니다.
    • 기본 수준: 기호, 로직 게이트, 진리표
    • 중간 수준: 로직 패밀리, 범용 게이트
    • 고급 수준: 시간 동작 (타이밍 모델, 위험)
  • 조합 로직 설계:
    • 기본 수준: 기능 설명, 구현
    • 중간 수준: 표준 함수, 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 인터랙티브 북을 선택하세요

코로나19 전 세계 위기 때문에 디지털 로직 시스템에 관한 학부 과정의 학생들에게 도움이 되는 온라인 리소스를 찾기 시작했습니다. 저는 수십 년 동안 Free-Libre 오픈소스 기술을 지지해 왔기 때문에 이러한 종류의 프로젝트를 우선시합니다. CircuitVerse 시뮬레이터를 발견했고, 이 시뮬레이터가 우리 대학의 코로나19 격리 조치로 인해 실험실 활동의 부족을 보완할 수 있는 훌륭한 도구라고 판단했습니다. 시뮬레이터를 테스트하면서 양방향 책도 찾았습니다. 이 콘텐츠가 아직 디지털 논리 시스템 전체 과정을 위한 기본 참고 자료로 충분하지는 않지만 현재 콘텐츠가 정확하고 이해하기 쉬웠기 때문에 학습 리소스에 포함했습니다.

시뮬레이터와 책을 집중적으로 사용하고 있었기 때문에 해당 조직에서 GSoD에 관해 알려주기 위해 연락을 취했습니다. 이 기회를 통해 전문 분야에서 프로젝트에 직접 기여할 수 있을 것으로 생각했습니다.

9 참조

  • [Wikibooks 도움말:참여하기],
  • [Wikibooks:정책 및 가이드라인]
  • [OpenStreetMap 조직적 편집 가이드라인]
  • [Linux 문서 프로젝트 (LDP) 작성자 가이드]
  • [MIT 공개 강의 초급 디지털 시스템 실험실 강의 계획]
  • [전기 회로 수업 - 볼륨 IV - 디지털]
  • [위키북: 디지털 회로]
  • [Wikibooks: 디지털 전자공학]
  • [Linux 브로셔 프로젝트]

    [Wikibooks 도움말:참여] https://ko.wikibooks.org/wiki/도움말:참여

    [Wikibooks:정책 및 가이드라인] https://ko.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 공개 강의 자료 디지털 시스템 입문 실험실 강의 계획] https://ocw.mit.edu/courses/electrical-engineering-and-computer-science/6-111-introductory-digital-systems-laboratory-spring-2006/syllabus/

    [교훈의 전기 회로 -- 4권 -디지털] 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/