Mandallama Saati
Skor - 53,508 (L şeklindeki tasarım nedeniyle aktif olarak yalnızca 36,828'i kullanılıyor)
Yüksek Kaliteli Kayıt - https://1drv.ms/u/s!ArQEzxH5nQLKhvt_HHfcqQKo2FODLQ
Golly desen - https://1drv.ms/u/s!ArQEzxH5nQLKhvwAmwCY-IPiBuBmBw
Rehber ilkeler -
- Bu benim ilk kez hücresel bir otomat kullanmaktığım için, büyük hazır bileşenleri birbirine bağlamaktan kaçındım. Almadığım geçerli bir yaklaşım, sıfırdan başlayan ve sürekli olarak son çıkışa bir çift ekleyen bir ikili toplayıcı, ardından BCD dönüştürücüye, ekran demultipleksleyiciyi, 7-segment kod çözücüyü ve 7-parçalı göstergeyi izleyen bir ikili toplayıcı olacaktır.
- Saati soğuk başlatmak mümkün olmalıdır. Kendime, belirli bir iletken hücreye yerleştirilmiş tek bir elektron başının saati doğru şekilde başlatması gerektiği konusunda ek kısıtlama getirdim. Simülasyona başlamadan önce birçok farklı flip-flop ve bireysel zamanlama elemanlarının manuel olarak senkronize edilmesini istemedim.
Bölüm I: Dakika Sayacı
Matematik
İkilik olarak 0 ile 9 arasında sayma (en az önemli dakika hanesi için) aşağıdaki şekildedir -
0 - 0000
1 - 0001
2 - 0010
3 - 0011
4 - 0100
5 - 0101
6 - 0110
7 - 0111
8 - 1000
9 - 1001
En az anlamlı olan (2 ^ 0 birim bit akımı) sütunlar halinde, 01010101, 2 ^ 1 birim akım 0011001100, 2 ^ 2 birim akım 0000111100 ve 2 ^ 3 birim akım ise 0000000011 gider.
İlki kolay - sonsuza dek sadece 01 flip-flip. Üçüncüsü, dört sıfır, altı 0 saniyeden oluşan bir fazdır, faz altı sıfır tarafından kaydırılır. Dördüncü, sekiz adet 0 ve iki adet 1 olan bir akıştır.
İkincisi, iğrenç bir asimetrisi olduğu için biraz daha zor. Ancak şunu farkettim (nerede. Concat operatörü):
0011001100. 0011001100 = 0011001100. (1100110011) = 00110011001100110011 XOR 00000000001111111111 = 5 (0011) XOR 00000000001111111111
(Bu arada, daha sonra söylendiği gibi, saatimin çoğunluğu 60 atımlık bir ticker ile çalışıyor. 00000000001111111111 çift uzunluklu dalga, 120 atım ticker ihtiyacının ortaya çıktığı yerdir).
tasarlamak
Çıktı, yukarıdan aşağıya doğru akar, Dakika Sayısı (2 ^ 0, 2 ^ 1, 2 ^ 2, 2 ^ 3), ardından Onlarca Dakika (2 ^ 0, 2 ^ 2, 2 ^ 1) olur. Alttaki iki kablonun geçtiğine dikkat edin.
- 120-beat ana saat
- Soğuk bir başlangıç için bir elektronun yerleştirileceği yer. Herhangi bir elektron kuyruğu olmadan iki yönde ayrılır, ancak hemen üzerindeki diyot bunlardan birini yakalar ve etrafta dolaşan ve 120-atım halkasının etrafında dönen güzel bir elektron verir.
- 12 saniyelik ikincil saat.
- İletken + diyot bobini ikincil 12 vuruş saatini başlatır. Kelimeler bu küçük parçanın ne kadar senkronize edileceğini tanımlayamaz. 120 ve 60 vuruş saatlerini senkronize etmeniz, ardından 12 vuruşlu ve frekans düşürücü 24 vuruşlu sözde saatleri senkronize etmeniz ve ardından 24 vuruşlu saati 120 vuruşlu saate geri bağlamanız gerekir, aksi takdirde XOR geçidi çalışmaz .
- Faz değişimi.
- Takla. Girişteki tek bir elektron önce ayar hattına, daha sonra belirli bir süre sonra vurur, sıfırlama hattına tam olarak bir darbe girer, bir darbe çıkarır.
- Buraya humps eklemek - sıfırlama satırında, flip-flop'ta ayarlanan ve sıfırlama arasındaki gecikmeyi artırır. Her ekstra kambur, ekstra bir darbe verir. Aşağıdaki flip-flopta dokuz ekstra kenet var, bu yüzden set ile reset arasında on vuruş.
- Zor 2 ^ 1 dakikalık dakika çizgim için XOR geçidi.
- AND-NOT geçit ve çok özel parça uzunlukları, geçmiş her elektron darbesinin kendiliğinden iki katına çıkar ve arkadaki elektronu yok eder. Frekans yarısı. 12 vuruşlu ikincil kaynaktan 24 vuruşlu bir saat oluşturur.
- 60-beat ikincil saat, aslında işin çoğunu yapıyor. Hızlı bir saati daha yavaş bir saatten başlatmak kolaydır, bu yüzden en yavaş saat (120 atış) çok az kullanılsa bile ustadır. 60 vuruşlu saat bu şeyin kalbidir.
- Elektronları taşıyan geri besleme teli, yalnızca 60 vuruşlu saat işaretlendiğinde. Saatin 120 atım master'ından tekrar tekrar başlatılmasını durdurmak için AND-NOT geçidi ile birlikte kullanılır. Aksi takdirde birçok korkunç şey olur ve Ctrl-Z kurtarıcıdır.
- 60 ritmi saatin başladığı diyot.
- Bu cihazın tamamı bir flip flop, AND geçidi ve AND-NOT geçidi birleşimidir. Bir mandal verir. Bir darbe, başlatır, bir darbe durur.
- Mandalı kalibre etmek için tel halkası 10 pals açık, on pals girişinde birer 10 pals kapalı. O olmadan 12 darbe, 8 darbe. Bu on on on mandal, on dakikalık blokların temel bileşenlerini oluştururken, aynı şekilde 6 mikron (1 darbeli) flip-flop'lar dakika birimlerinin temel bileşenlerini oluşturdu.
- Soğuk başlangıç başlangıç atımı, başladığı saatler ile iki faz atışı olmak da dahil olmak üzere her türlü soruna neden oldu. Bu mandalları mahvediyor. Bu AND geçidi, senkronizasyon dışı darbeleri yakalar ve atar - özellikle de başlangıç darbesi.
- Bu, geçmişe bakıldığında biraz pişman olduğum tasarımın bir parçası. Bir elektron alır, beşe böler ve arkasındaki beş elektronu imha eder, 111111 ila 100000 alır.
- Bu bir elektron alır ve öne doğru diker. Kesin olmak için iki aşama ileride. 100000 alır ve 101000 yapar. Bölüm 16 ile birlikte 111111 -> 100000 -> 101000 alıyoruz. Geçmişe bakıldığında keşke 111111 -> 101010 -> 101000; aynı etkiyi daha az alanda başarırdı.
- Yukarıdaki modeller daha sonra 20 açık, 40 kapalı elde etmek için alt mandala itilir. Bu bölünmüş, yarısı 20 birim faz değiştirilmiştir ve bunlar onlarca dakikalık iki yüksek dereceli bit akışını oluşturur.
Bölüm II: Saat Sayacı
açıklama
Saat sayacına giriş, saatte bir olmak üzere tek bir elektron darbesidir. İlk adım, her on iki saatte bir, bunu tek bir elektron darbesine indirgemek. Bu birkaç "mandal ve yakala" ilkelleri kullanılarak elde edilir.
Bir "mandal", 6 mikronluk bir açma / kapama mandalı vermek üzere bir AND-NOT'a ve bir AND geçidine bağlı bir 6 mikron flip-flop'tur. Bir "yakalama" girdi olarak sürekli bir elektron akışını alır, ilk geçişe izin verir, ardından akım yakalamanın başladığı noktada sona erene kadar diğer tüm elektronları yok eder.
Bir mandalı, ardından bir mandalı yerleştirmek, seri olarak bir mandala açılan bir elektron dönüşü, bir ucu diğer ucundan dışarı elektron (sonuçta kalan tarafından tutulur). Sonra ikinci elektron girişi -> mandalı kapatır, sessizce sıfırlar. Net etki: ilk elektron geçer, ikinci elektron yok edilir ve bu elektronlar arasındaki gecikme süresine bakılmaksızın vb .
Şimdi seri olarak iki "mandal ve yakala" zincirleyin ve geçen dört elektronun sadece bir tanesi var.
Ardından, üçüncü bir "mandal ve yakala" alın, ancak bu sefer dördüncü bir mandalı gömün ve flip-flop SET satırında, AND-NOT geçidi ve flip-flop SET arasında tutun. Bunun nasıl çalıştığını düşünmenize izin vereceğim, ancak bu sefer gecikme ne kadar uzun olursa olsun üç elektrondan yalnızca biri geçiyor .
Son olarak, dört elektrondan birini alın ve üçte birini, bir AND geçidiyle birleştirin ve on iki elektrondan yalnızca biri geçer. Bu bölüm, aşağıdaki saat sayacının sol üst kısmındaki yolların dağınık dalgasıdır.
Daha sonra, her on iki saatte bir elektronu alın ve her saat başı bir tanesine geri bölün, ancak her birini farklı bir iletken tel üzerine verin. Bu, on üç çıkış noktasına sahip uzun sargılı iletken kullanılarak elde edilir.
Bu elektronları alın - farklı iletkenlerden bir saat sonra, ve bir flip-flop SET hattına basın. Aynı flip floptaki RESET çizgisine bir sonraki saat iletken tarafından çarpılarak saatte her kabloya altmış bakliyat verilir.
Son olarak - bu darbeleri alın ve doğru BCD bit akışlarını çıkarmak için yedi buçuk bayt ROM’a (Salt Okunur Bellek) geçirin. WireWorld ROM'un daha ayrıntılı bir açıklaması için buraya bakın: http://www.quinapalus.com/wires6.html
tasarlamak
- Saat başına bir elektron girişi.
- İlk mandal.
- İlk yakalamak.
- Dış "mandal ve yakala" SET satırında gömülü "mandal ve yakala".
- VE geçit.
- AM / PM mandalı (her on iki saatte bir kez açılır / kapanır).
- Her tel halkası 6x60 = 360 ünite uzunluğundadır.
- Flip / Flop daha küçük bir profil oluşturmak için kendi tarafında döndü.
- ROM'un yedi buçuk baytı.
notlar
- Dakikada bir elektronu olan 6 mikronluk tasarımı sayesinde simülasyonu gerçek zamanlı bir saat için dakikada altı nesilde (her 10 saniyede bir nesil) gerçekleştirin.
- AM / PM hattı AM için yüksek (1), PM için düşük (0). Bu seçim yapmak için alışılmadık bir yol gibi görünebilir, ancak gerekçesi var. Saatin soğuk başlatılması sırasında, AM / PM çizgisi başlangıçta doğal olarak düşüktür (0). AM / PM çizgisi en yükseğe çekildiğinde (1), bu sayım saat 12: 00'da başladığını gösterir. Bu noktadan önceki tüm çıktılar dikkate alınmamalıdır, bu noktadan sonraki tüm çıktılar anlamlı kabul edilir.
kullanışlı bağlantılar