CircuitVerse projesi

Bu sayfa, Google Dokümanlar Sezonu için kabul edilen bir teknik yazı projesinin ayrıntılarını içerir.

Proje özeti

Açık kaynak kuruluşu:
CircuitVerse
Teknik yazar:
dvl
Projenin adı:
CircuitVerse Etkileşimli Kitap Birleştirme ve İyileştirmeleri
Proje süresi:
Standart uzunluk (3 ay)

Proje açıklaması

1 Özet

CircuitVerse, web tabanlı bir grafik kullanıcı arayüzü kullanılarak devrelerin tasarlanıp simüle edilebileceği bir platform sunmayı amaçlayan bir açık kaynak projesidir. Mantık simülatörü, özellikle eğitim amacıyla tasarlanmış olsa da CPU uygulamalarını tamamlamak için tasarım yapmak amacıyla kullanılabilir. Yazılımla ilgili teknik belgelerin yanı sıra, etkileşimli bir online kitap olan bu kitap, dijital mantık tasarımını öğrenmede kullanıcıya yol gösterir. Kitap, kullanıcının etkileşimli bir deneyim için devreleri doğrudan kitabın içinden denemesine olanak tanıyor.

Kitap, geliştirme aşamasının erken aşamasındadır ve şu anda bazı alakalı bölümlere sahip değildir. Genel yapı, farklı bölümleri bağlayan bir akış açısından gevşektir ve daha ayrıntılı içerik gerektirir. Dahası kuruluşa, katkıda bulunanların projede ortak çalışmasına yardımcı olacak yönergeler veya katkılara hangi içeriklerin hangi öncelik ile ihtiyaç duyulduğu konusunda rehberlik edecek bir plan veya yol haritası yoktur.

Bu teklifin amacı, danışmanlarla birlikte çalışarak katkı yönergeleri oluşturmak, konu geliştirme planı hazırlamak, mevcut içeriğin iyileştirilmesine katkıda bulunmak ve geliştirme planına göre yeni içerikler oluşturmaktır.

2 Etkileşimli Kitabın Mevcut Durumu

Proje, Google Summer of Code 2019'da başladığından beri öğrenci topluluğunun yardımıyla "yönetilmeyen bir büyüme" yakaladı. Proje organizasyonunun kendisi ağırlıklı olarak geliştiriciler tarafından oluşturulmuştur. Bu nedenle de GSoD'un bir parçası olarak İnteraktif Kitabı iyileştirmek için dışarıdan yardım almak istemektedirler. Projenin geliştiricileri, kitabın şu anda bazı bölümlerin yeniden yazılmasını ve yeni içerik eklenmesini gerektirdiğini ve kitabı daha ayrıntılı ve kapsamlı hale getirdiğini belirlemiştir. Ayrıca ekip, GSoD'dan sonra yeni katkılarla ilgili yönergelere ve içerik geliştirme için genel bir "ana plana" sahip olmayı bekliyor.

3 Bu teklifin katkısı nedir?

Bu öneri, katkıda bulunanlar için daha uyumlu bir ortak çalışma süreci sağlayarak daha tutarlı içerikler sunulması amacıyla, katkı yönergelerinin ilk sürümünün birlikte oluşturulmasına katkıda bulunacaktır. Ayrıca, kitabın konuları için bir geliştirme planı özetlenir. Yeni geliştirme planına göre yapılan en acil eklemeler ve değişiklikler de katkıda bulunacaktır.

4 Mevcut alternatiflerin analizi

Benzer özelliklere sahip birçok açık kaynak projesinde belgelere katkıda bulunma yönergeleri halihazırda geliştirilmiştir. Örneğin, Wikibooks ([Yardım:Katkıda Bulunma], [Wikibooks:Politikalar ve yönergeler]), OpenStreetMap ([Organised Edit Guidelines]) veya Linux Belgeleme Projesi ([LDP Yazar Rehberi]). Bu örnekler, başarılı açık kaynak projelerinin deneyimine dayanarak proje yönergelerini oluşturmak için kullanılabilir.

Konunun geliştirme planı için açık kursların müfredatı (ör. [MIT Open Courseware]) ve dijital mantık devreleri hakkındaki referans kitapları ([Lessons In Electric Circuits -- Volume IV -Digital], [Wikibooks: Digital Circuits: Digital] ve [Wikibooks: Digital Circuits: Digital] ve [Dijital Devreler] gibi açık kitaplar dahil) karşılaştırılabilir.

[Yardım:Katkıda Bulunma] https://tr.wikibooks.org/wiki/Yardım:Katkıda Bulunma

[Wikibooks:Politikalar ve kurallar] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

[Düzenli Düzenleme Yönergeleri] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

[LDP Yazar Rehberi] https://www.tldp.org/LDP/LDP-Author-Guide/html/index.html

[MIT Açık Eğitim Araçları] https://ocw.mit.edu/

[Elektrik Devreleri - Dersler - Cilt IV -Dijital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

[Wikibooks: Dijital Devreler] https://en.wikibooks.org/wiki/Digital_Circuits

[Wikibooks: Dijital Elektronik] https://en.wikibooks.org/wiki/Digital_Electronics

5 Teklif edilen belgelerin yapısı

Etkileşimli kitap, amatör elektronik meraklısı ve ortaöğretim öğrencilerinden dijital mantık devrelerinde becerilerini yenilemeye veya güçlendirmeye ihtiyaç duyan yükseköğretim öğrencileri ve profesyonellerine kadar geniş bir kitleye hitap edebilir.

Kitabın kullanıcıları arasındaki farklılığı ele almak için, her katmanın artan karmaşıklık düzeyine ve içeriğin teorik derinliğine karşılık geldiği bir "çok katmanlı" yapı önerilmiştir.

Bu nedenle, belgelerin yapısı iki boyutta büyür. İlk boyut dijital mantık sistemlerindeki mantıksal veya geleneksel konu dizisine karşılık gelirken ikinci boyut düzeyi temsil eder.

Aşağıdaki yapılandırılmış listede, önerilen iki boyutlu yapı temsil edilmektedir. Standart konu sırası en üst düzeyde sunulur. Basitlik sağlaması açısından, her konu için temel, orta ve ileri seviyelere karşılık gelen üç karmaşıklık katmanı tanımlanmıştır. Her seviye için, belirli bir genel konuyla ilgili içerikler listelenir.

  • İkili sayılarla gösterme:
    • Temel düzey: İkili sayılar, Negatif miktarlar, Diğer tabanlar, Kodlama.
    • Orta düzey: [belirli bir içerik yok]
    • Gelişmiş düzey: Modüller ve halkalar
  • İkili sayı sisteminde matematik işlemleri:
    • Temel düzey: Toplama, Çıkarma, Çarpma, Bölme
    • Orta düzey: Boole cebiri, Boole fonksiyonları
    • İleri düzey: Diğer cebirler, Shannon'ın ayrıştırılması
  • Kombinasyon SSI bileşenleri:
    • Temel düzey: Semboller, Mantık kapıları, Doğruluk tabloları
    • Orta düzey: Mantık aileleri, Evrensel kapılar
    • İleri düzey: Zaman davranışı (zamanlama modelleri, tehlikeler)
  • Kombinasyon mantık tasarımı:
    • Temel düzey: İşlevsel açıklama, Uygulama
    • Orta düzey: Standart işlevler, k-Haritalar
    • İleri düzey: Haritaya girilen değişkenler, Quine McCluskey, İkili küplerin gösterimi
  • Kombinasyon MSI bileşenleri:
    • Temel düzey: MUX, DEMUX, Kodlayıcı, Kod Çözücü, Yarım ekleyici, Tam toplayıcı
    • Orta düzey: MUX tabanlı işlevler
    • Gelişmiş düzey: [belirli bir içerik yok]
  • Kombinasyon LSI bileşenleri:
    • Temel düzey: ROM, ALU
    • Orta düzey: PLD'ler (PLA, PAL, GAL)
    • Gelişmiş düzey: [belirli bir içerik yok]
  • Sıralı SSI bileşenleri:
    • Temel düzey: Mandallar, Parmak arası terlikler, Saat sinyalleri, Zaman diyagramları
    • Orta düzey: Bellek Geri Bildirimi, Eşzamanlı sistemler, Eşzamansız sistemler
    • Gelişmiş düzey: [belirli bir içerik yok]
  • Sıralı MSI bileşenleri:
    • Temel düzey: Kayıtlar, Sayaçlar
    • Orta düzey: [belirli bir içerik yok]
    • Gelişmiş düzey: [belirli bir içerik yok]
  • Sıralı tasarım:

    • Temel düzey: [Belirli bir içerik yok]
    • Orta seviye: Sıralı sentez, FSM (Mealy, Moore), Durum diyagramları, Minimum eyalet sayısı, Durum ataması, Yarış koşulları
    • İleri düzey: MSI tabanlı tasarım, LSI tabanlı tasarım, Akış diyagramları, MDS diyagramları

    Temel düzey, kullanıcıların yüksek matematik bilgisi gerektirmeden dijital mantık devrelerinin nasıl çalıştığını ve bunları nasıl kullanacağını anlamasını sağlamalıdır. Bu nedenle, amatör amatör ve ortaöğretim öğrencileri için uygun olabilir. Bu kullanıcılar gerekli becerilere sahipse ve daha derin bir anlayış oluşturmak istiyorsa orta düzeydeki içeriğin bir kısmında veya tamamında çalışabilirler.

    İçerik ve şartlar olarak orta düzey, dijital mantık sisteminde yükseköğretim düzeyinde bir giriş kursuna eşdeğer olmalıdır.

    Son olarak, ileri düzey seviye, genellikle üniversitelerde dijital sistemlerle ilgili tamamlayıcı veya isteğe bağlı ileri düzey kurslarda bulunabilen içerikleri içerir.

    Önerilen bu yapı, projenin ilk aşamasında (3. Hafta) mentorlarla tartışılacak. Daha sonra bu yapı, uzun vadeli konu geliştirme planını özetlemek için bir girdi olarak kullanılacaktır.

    Önerilen yapıda, gerekli olması halinde düzeltilecek, genişletilecek veya düzeltilecek olan doküman içeriğinin tamamı olmasa bile çoğu kullanılabilir. Ayrıca, henüz mevcut belgelerde yer almayan içerikler için yeni bölümler yazın.

6 Hedef

  1. Etkileşimli Kitap projesi için katkı yönergelerinin ilk taslağını oluşturun.
  2. Kitabın konuları için bir gelişimi ana hatlarıyla belirtin.
  3. Mevcut içeriği yeniden yazın ve yapılandırın.
  4. Geliştirme planına göre yeni içerik oluşturun.

7 Zaman Çizelgesi

1. Hafta: (14 Eylül - 20 Eylül) Diğer projenin örneklerinden yola çıkarak en iyi yönergeleri ve projede o ana kadar edinilen deneyimleri analiz edip mentorlarla tartışın. 2. Hafta: (21 Eylül - 27 Eylül) Kılavuz taslağı yazın 3. Hafta: (28 Eylül - 4 Ekim) Konu geliştirme planı taslağını mentorlarla tartışın. 4. Hafta: (5 Ekim - 11 Ekim) Geliştirme planı yazın. 5.-11. hafta: (12 Ekim - 29 Kasım) Katkılarınızı yeniden yapılandırılmış içerikler ve yeni konular içerecek şekilde yazın. 12. Hafta: (30 Kasım - 5 Aralık) Proje raporu gönderme. Proje değerlendirmesi: (3 Aralık - 10 Aralık) - Teknik yazarın değerlendirme gönderimi. - Mentorların değerlendirme gönderimleri.

8 Neden CircuitVerse Etkileşimli Kitabı

COVID-19 küresel krizi nedeniyle, dijital mantık sistemleri üzerine lisans veren öğrencilerime yardımcı olacak çevrimiçi kaynakları aramaya başladım. Birkaç on yıldır Free-Libre Açık Kaynak teknolojilerinin savunucusuyum, bu yüzden bu tür projelere öncelik veriyorum. CircuitVerse simülatörünü buldum ve üniversitemizin COVID-19'u kontrol altına almayla ilgili alınan önlemler nedeniyle bu simülatörün laboratuvar eksikliği durumunu giderecek harika bir araç olduğuna karar verdim. Simülatörü test ederken aynı zamanda Etkileşimli Kitaplarını da buldum. İçerik, dijital mantık sistemleriyle ilgili kapsamlı bir kurs için henüz ana referans olarak yeterli olmasa da mevcut içerikleri doğru ve kolay anlaşılır nitelikte olduğundan bunu öğrenim kaynaklarına ekledim.

Onların simülatörünü ve rezervasyonlarını yoğun bir şekilde kullandığım için kuruluş, bana GSoD hakkında bilgi vermek üzere iletişime geçti. Bu sayede, projeye doğrudan uzmanlık alanımdan destek verme fırsatını yakaladım.

9 Referans

  • [Wikibooks Yardımı:Katkıda Bulunma],
  • [Wikibooks:Politikalar ve kurallar]
  • [OpenStreetMap'in Organize Düzenleme Yönergeleri]
  • [Linux Belgeleme Projesi (LDP) Yazar Rehberi]
  • [MIT Açık Ders Yazılımı Tanıtımı Dijital Sistemler Laboratuvarı Müfredatı]
  • [Elektrik Devreleri Konusunda Dersler -- 4. Cilt -Dijital]
  • [Wikibooks: Dijital Devreler]
  • [Wikibooks: Dijital Elektronik]
  • [Linux Broşür Projesi]

    [Wikibooks Yardım:Katkıda Bulunma] https://en.wikibooks.org/wiki/Help:Katkıda bulunma

    [Wikibooks:Politikalar ve kurallar] https://en.wikibooks.org/wiki/Wikibooks:Policies_and_guidelines

    [OpenStreetMap Düzenleme Yönergeleri] https://wiki.osmfoundation.org/wiki/Organised_Editing_Guidelines

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

    [MIT Açık Ders Yazılımına Giriş Dijital Sistemler Laboratuarı Ders Programı] https://ocw.mit.edu/courses/electrical-developing-and-computer-science/6-111-introuction-digital-systems-laboratory-spring-2006/syllabus/

    [Elektrik Devreleri - Dersler - Cilt IV -Dijital] https://www.ibiblio.org/kuphaldt/electricCircuits/Digital/index.html

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

    [Wikibooks: Dijital Elektronik] https://en.wikibooks.org/wiki/Digital_Electronics

    [Linux Broşür Projesi] http://lbproject.sourceforge.net/