अप्रैल में ओलंपियाड प्रकार के स्कूली बच्चों के लिए आधुनिक सर्किटरी पर एक रोशनानोव संगोष्ठी हुई । उनके बाद, आयोजकों के एक समूह ने लॉबी में इकट्ठा किया और एक लंबे समय के लिए हैरान हो गया कि एक ही समय में विषय को अधिक रोचक और उपयोगी कैसे बनाया जाए। उदाहरण के लिए एनटीआई ओलंपिक के प्रारूप में वेरिलोग और एफपीजीए दर्ज करना। यह गणितीय रूप से दिलचस्प छोड़ने का फैसला किया गया था, लेकिन छात्र कार्यों के लिए कुछ सार जैसे कि मल्टीप्रोसेस सिस्टम में कैश सुसंगत प्रोटोकॉल। इसके अलावा, सेंसर के साथ एक स्वचालित ग्रीनहाउस का विचार बहुत उत्साही नहीं था, क्योंकि यह एक सौ बार arduino और STM32 पर लागू किया गया था, और FPGAs ग्रीनहाउस के लिए कुछ भी दिलचस्प नहीं जोड़ते हैं।
और अचानक - यूरेका! और अगर हम प्रोग्रामिंग में बिना शुद्ध सर्किटरी पर बने ग्राफिक गेम्स में प्रतियोगिताओं को आयोजित करते हैं, तो हमारे पूर्वजों ने ब्रेझनेव और कार्टर के दिनों में पिन-पोंग जैसे खेल किए थे। और प्राचीन K561 चिप्स पर नहीं, बल्कि आधुनिक Xilinx और Altera (अर्थात, इंटेल FPGA) पर आचरण करने के लिए और रजिस्टर, जो कि Apple, Intel और SpaceX में डिज़ाइनर उपयोग करते हैं, के स्तर पर समान डिज़ाइन तकनीकों का उपयोग कर रहे हैं।
संक्षेप में, हम 8 से
26 जुलाई को ज़ेलेनोग्राड के एक ग्रीष्मकालीन स्कूल में इससे निपटेंगे। स्कूल का हिस्सा, जिस योजना पर इस पोस्ट में चर्चा की जाएगी, वह डिजिटल सर्किटरी की मूल बातें, प्रोसेसर के आर्किटेक्चर और माइक्रोआर्किटेक्चर के पहले चरणों, साथ ही साथ (यहां तक कि ज्यादातर) हार्डवेयर कंप्यूटर ग्राफिक्स के लिए समर्पित है।
यदि वह समय पर अपना पासपोर्ट और रूसी वीजा प्राप्त कर लेती है तो मैं अपनी बेटी एलिजाबेथ को ज़ेलेनोग्राड के सहायक के रूप में लाने की कोशिश करूँगा। एलिजाबेथ, रूसी-यूक्रेनी-जापानी होने के नाते, केवल अंग्रेजी बोलती है। यहाँ ज़ेलेनोग्राड में और रूसी की मूल बातें सीखते हैं। और साथ ही, वह प्रशिक्षकों को सही अंग्रेजी उच्चारण सिखाएगा जो स्कूल में मदद करने के लिए तैयार हैं (MIET से वैकल्पिक है, यह MIPT, MSU, MEPhI से संभव है):

आज मैंने स्कूल के लिए एक उदाहरण बनाया है - तानिकी का खेल। मैंने
स्टीवन हग द्वारा 15 दिसंबर, 2018 को वेरिलॉग की पुस्तक डिजाइनिंग वीडियो गेम हार्डवेयर में एक
उदाहरण से अधिकांश कोड लिया। स्टीफन हग ने कुछ सुंदर, लेकिन गैर-औद्योगिक सिम्युलेटर पर कोड दिखाया। मुझे लगता है कि इस तरह के सिम्युलेटर पर सीखना एक गैस मास्क में फूलों को सूंघने जैसा है, इसलिए मैंने कोड को संश्लेषित किया और इसके परिणामस्वरूप वास्तविक लोहे में कॉन्फ़िगरेशन डाला - एक
सस्ते चीनी ज़ेओवा बोर्ड । ऐसा करने के लिए, मुझे वीजीए स्कैन पीढ़ी को फिर से लिखना, कोड को अधिक संश्लेषित करना और घड़ी संकेतों के उपयोग में कुछ पद्धतिगत अनियमितताओं को दूर करना था।
मैंने गिटहब पर परिणाम पोस्ट किया ।
यहां स्टीवन हग सिम्युलेटर में ऐसा दिखता है:

यहाँ यह मेरे पहले सन्निकटन में कैसा दिख रहा है, यंत्रवत् रूप से बोर्ड, स्कैन जनरेटर और स्टीफन कोड के लिए आवरण के संयोजन के साथ-साथ उन सभी छोटी चीजों को ठीक करना जो इंटेल FPGA क्वार्टस लाइट संस्करण में काम नहीं करते हैं, संश्लेषण और भरण:
लेकिन शिविर न केवल वीजीए स्कैन पीढ़ी, रोम, स्प्राइट्स आदि के साथ खेल के बारे में होगा। हम प्रोसेसर के साथ भी इसे पार करेंगे। हार्डवेयर-सॉफ्टवेयर कार्यान्वयन के साथ हार्डवेयर परिमित राज्य मशीनों पर खेल के कार्यान्वयन की तुलना करने के लिए। ऐसा करने के लिए, हम स्कूलएमआईपीएस शैक्षिक प्रोसेसर कोर का उपयोग करते हैं, जो कि
हेब्र पर स्टानिस्लाव ज़ेल्नियो और
गीथहब पर स्कूलमीप्स विकी द्वारा पोस्ट में वर्णित
है ।
आप प्रोसेसर में बुकमार्क डिजाइन करने के लिए स्कूलमप्स ट्रेनिंग कोर का उपयोग भी कर सकते हैं। हम यह तर्क नहीं देंगे कि बुकमार्क आपके डेस्क पर कंप्यूटर प्रोसेसर में मौजूद है, आपके फोन या कार में। हम दिखाएंगे कि उन्हें कैसे डिजाइन किया जा सकता है। बुकमार्क उदाहरण: एक हार्डवेयर राज्य मशीन कार्यक्रम के निष्पादन के दौरान वास्तुशिल्प रजिस्टरों की सामग्री की निगरानी करती है, और जब पाठ "क्लाउडलेस स्काई एबव ऑल स्पेन" उनमें दिखाई देता है, तो प्रोसेसर को विशेषाधिकार प्राप्त मोड में स्विच करता है। पाठ उपयोगकर्ता प्रोग्राम से आ सकता है, जैसे कि ईमेल क्लाइंट।
क्या सॉफ्टवेयर एंटीवायरस के साथ इस तरह के बुकमार्क का पता लगाना संभव है? नहीं। जब तक ऐसा नहीं होता तब तक सॉफ्टवेयर इसे बिल्कुल नहीं देखता। क्या इलेक्ट्रॉन माइक्रोस्कोप के तहत माइक्रोकिरिट की जांच करके इसका पता लगाना संभव है? नहीं, एक औद्योगिक प्रोसेसर में अरबों ट्रांजिस्टर हैं, यहां तक कि आर्डिनो में भी - सैकड़ों हजारों। यहां तक कि अगर आपके हाथ में प्रोसेसर का स्रोत है, तो आप बरामदे पर हजारों या लाखों लाइनों में दसियों-सैकड़ों को छिपा सकते हैं, खासकर अगर प्रोसेसर के विभिन्न हिस्सों ने बड़ी चतुराई से सोचा योजना के कुछ हिस्सों को पूरा किया।
तुम भी एक प्रतियोगिता का आयोजन कर सकते हैं जब एक टीम एक बुकमार्क बनाता है और दूसरा उसे पाता है।

कोई भी छात्र जिसने आधुनिक माइक्रोकैक्रिट डिज़ाइन विधियों के कैरियर-उन्मुख अवलोकन के साथ RUSNANO से एक सैद्धांतिक ऑनलाइन पाठ्यक्रम के तीन मॉड्यूल पूरे किए हैं (यह सब नि: शुल्क है और पुरस्कार के साथ भी) ज़ेलेनोग्राड में ग्रीष्मकालीन स्कूल में भाग ले सकते हैं:
- ट्रांजिस्टर से माइक्रोक्रेसीट तक
- डिजिटल सर्किटरी का तार्किक पक्ष
- डिजिटल सर्किटरी का भौतिक पक्ष
प्रारंभिक पाठ्यक्रम कार्यक्रम - इस पर चर्चा का स्वागत है:
सप्ताह 1. डिजिटल तर्क की मूल बातें।
दिन 1. एकीकरण के एक छोटे से डिग्री के साथ माइक्रोकिरिस्क, कॉम्बिनेटरियल लॉजिक के साथ अभ्यास।
दिन 2. एकीकरण की एक छोटी डिग्री के साथ माइक्रोकिरिक्ट्स, अनुक्रमिक तर्क के साथ अभ्यास।
दिन 3. FPGA, बटन, स्विच, एलईडी, सात-खंड सूचक के साथ अभ्यास।
दिन 4. FPGA, वीजीए को ज्यामितीय आकृतियों का उत्पादन।
दिन 5. FPGA, टैंक, दौड़ या एंग्री बर्ड खेलने के लिए एक राज्य मशीन।
सप्ताह 2. प्रोसेसर
दिन 1. विधानसभा भाषा में प्रोग्रामिंग।
दिन 2. एक-चक्र schoolMIPS प्रोसेसर।
दिन 3. वीजीए पर ज्यामितीय आकृतियों के समापन के साथ प्रोसेसर का एकीकरण।
दिन 4. रुकावट और मल्टीटास्किंग के बारे में व्याख्यान। व्यक्तिगत परियोजना - वीजीए के आउटपुट के साथ प्रोसेसर पर प्रोग्राम किया गया एक वीडियो गेम।
दिन 5. कन्वेयर के बारे में व्याख्यान। व्यक्तिगत परियोजनाओं की प्रतियोगिता।
सप्ताह 3. प्रोग्रामेबल रेडियो। ब्लॉक कार्यक्रम में तीन मुख्य भाग होते हैं:
- इलेक्ट्रोडायनामिक्स और रेडियो तरंग प्रसार (सैद्धांतिक भाग) की मूल बातें;
- ट्रान्सीवर पथ के संचालन का सिद्धांत (सिद्धांत और अभ्यास);
- डिजिटल सिग्नल प्रोसेसिंग की मूल बातें - फ़िल्टरिंग, वर्णक्रमीय विश्लेषण (सिद्धांत और अभ्यास)।
दिन 1. इलेक्ट्रोडायनामिक्स और रेडियो तरंग प्रसार की सैद्धांतिक नींव। संचरण पथ के संरचनात्मक आरेख, घटकों के कार्य। सिग्नल (हार्मोनिक, आयताकार)। एनआई एल्विस का उपयोग करके सिग्नल अभ्यास।
दिन 2. उच्च आवृत्ति के लिए संकेतों को स्थानांतरित करना। Matlab का उपयोग करके आवृत्ति हस्तांतरण के लिए गणितीय औचित्य। एनआई डेटेक्स का उपयोग करके आवृत्ति हस्तांतरण में व्यावहारिक अभ्यास।
दिन 3. संकेतों का प्रवर्धन और उत्सर्जन। NI Datex का उपयोग करके अभ्यास करें। एंटेना की प्रत्यक्षता का प्रदर्शन।
दिन 4. सिग्नल को छानना। NI Datex का उपयोग करके अभ्यास करें। मतलाब में डिजिटल सिग्नल फ़िल्टरिंग
दिन 5. संकेतों को कम आवृत्ति पर स्थानांतरित करना। NI Datex का उपयोग करके अभ्यास करें। कवर की गई सामग्री को सारांशित करना, संक्षिप्त करना।
वैसे, स्टीफन हग की बहुत सारी सामग्री, जिसमें से मैं स्प्राइट्स आदि के बारे में जानकारी देखता हूं, प्राचीन टेक्सास इंस्ट्रूमेंट्स टीएमएस 9918 वीडियो प्रोसेसर से आता है, जो कि जापानी यामाहा एमएसएक्स कंप्यूटर में स्थित था, जिसे गोरशेव सरकार ने सोवियत स्कूलों को कंप्यूटरीकृत करने के लिए आयात किया था। जब मैं खुद एक स्कूलबॉय था, तो मुख्य Zilog Z80 प्रोसेसर पर चल रहे असेंबलर प्रोग्राम से इस वीडियो प्रोसेसर को प्रबंधित करना और सामान्य रूप से इस वीडियो प्रोसेसर को डिज़ाइन करना तुच्छ नहीं था। इलेक्ट्रॉनिक डिजाइन ऑटोमेशन तकनीक (ईडीए) में सफलता के कारण, यह आधुनिक छात्रों के लिए संभव हो गया है, और आधुनिक चिप्स (स्टीफन हैग की पुस्तक - 2018) के डिजाइन को पढ़ाने के लिए भी उपयोगी है।
लेकिन अब भूरे बालों वाले सोवियत स्कूली बच्चों के लिए - क्या आपको यामाहा में यह खेल याद है?
इलेक्ट्रॉनिक डिजाइन स्वचालन के बारे में। स्कूली बच्चों के लिए शिविर के अलावा, यहां एलिजाबेथ और मैं वयस्कों के लिए समान विषयों पर एक संगोष्ठी आयोजित करने में मदद कर रहे हैं,
लेकिन ज़ेलेनोग्राड में नहीं, बल्कि लास वेगास में, डिज़ाइन ऑटोमेशन सम्मेलन में - डीएसी , और शैक्षिक के साथ नहीं, बल्कि औद्योगिक प्रोसेसर के साथ, और नहीं ग्राफिक्स, और एअर इंडिया के लिए एक कॉपीरोसेसर के साथ। इस तरह की संगोष्ठी छात्रों के लिए एक स्वाभाविक अगला कदम है जो ज़ेलेनोग्राड में स्कूल जाते हैं और फिर MIET, MEPhI, MIPT, HSE MIEM, मॉस्को स्टेट यूनिवर्सिटी, ITMO, LETI, SSAU, NSTU और अन्य विश्वविद्यालयों में अध्ययन करते हैं जहां वे RTL- microcircuit डिजाइन मार्ग तत्वों को पढ़ाते हैं। FPGAs / FPGAs के लिए GDSII, कंप्यूटर वास्तुकला और संश्लेषण प्रयोगशालाओं।
