29 मार्च, गेरार्ड विलियम्स III नामक एक इंजीनियर ने Apple से इस्तीफा दे दिया। यह खबर CNET और दुनिया भर के तीन दर्जन अन्य प्रकाशनों द्वारा तुरंत प्रकाशित की गई, न केवल तकनीकी, बल्कि वित्तीय भी। इस इंजीनियर ने ऐसा क्या किया कि उसके जाने से स्टॉक सट्टेबाजों में उत्तेजना पैदा हो गई? वह एप्पल आईफोन में 9 साल से प्रोसेसर डिजाइन कर रहा था, इससे पहले वह 12 साल से एआरएम में काम कर रहा था, इससे पहले वह टेक्सास इंस्ट्रूमेंट्स में डीएसपी डिजाइन कर रहा था, और इससे पहले वह इंटेल में एफपीजीए सर्किट विकसित कर रहा था। वेरिलॉग और वीएचडीएल हार्डवेयर विवरण भाषाओं का उपयोग करते हुए, सभी स्थानों में उन्होंने रजिस्टर ट्रांसफर के स्तर पर डिजाइन तकनीक का इस्तेमाल किया।
रूस के करीब उदाहरण? सही फोटो पर: इल्या नेगनोव, 25 वर्षीय मस्कोवाइट ने 2011 में हैरिस एंड हैरिस किताब ली (जिसका नवीनतम संस्करण
यहां या
यहां डाउनलोड किया जा सकता
है ), एक साधारण प्रोसेसर तैयार किया, अब ऐप्पल में काम करता है, एक जीपीयू वेरिल पर डिज़ाइन करता है, सप्ताहांत पर एक हवाई जहाज पर उड़ान भरता है। नीचे सेंट पीटर्सबर्ग के कुछ नवविवाहित जोड़े हैं जो कैमरे से कैमरा और FPGA छवि प्रसंस्करण पर डिज़ाइन किए गए हैं और इनोवेट FPGA प्रतियोगिता में पुरस्कार प्राप्त किया है। उन्होंने सांता क्लारा में इंटेल के मुख्यालय में अपना हनीमून बिताया। इसके बाद, कीव के कामरेड, जिनमें से दो ने इनोवेट एफपीजीए यूरोपीय फाइनल में कांस्य जीता। और अंत में, ग्रेड 5 और 9 के दो स्कूली बच्चे, जो ब्रेडबोर्ड पर एकीकरण की एक छोटी सी डिग्री के माइक्रोकिरुकेट्स के साथ अपना पहला अभ्यास करते हैं, और फिर बरामदे और एफपीजीए पर अभ्यास करने के लिए आगे बढ़ते हैं।
ये छात्र के जेरार्ड विलियम्स द थर्ड के प्रक्षेपवक्र पर पाँच अंक हैं। प्रक्षेपवक्र भारी नहीं है, क्योंकि डिजिटल माइक्रोकिरेट्स के डिजाइन में प्रवेश करने की प्रारंभिक बाधा प्रोग्रामिंग में प्रवेश करने की तुलना में अधिक है। इस पोस्ट में हम बात करेंगे कि रूसी और अन्य छात्रों के लिए प्रक्षेपवक्र के प्रारंभिक खंड को कैसे सुविधाजनक बनाया जाए।

इन दो हफ्तों में, रूसो, वेव कम्प्यूटिंग, एमआईईटी, आईवीए टेक्नोलॉजीज, एचएसई एमआईईएम, एम्परका, पब्लिशिंग हाउस डीएमके-प्रेस के सहयोगियों का एक समूह निम्नलिखित आयोजन करता है: सबसे पहले, छात्र एक सैद्धांतिक ऑनलाइन पाठ्यक्रम लेते हैं (
ट्रांजिस्टर से माइक्रोक्रेकिट के हिस्से, डिजिटल का तार्किक पक्ष) सर्किटरी " ,
" डिजिटल सर्किटरी का भौतिक पक्ष " ), जिस पर वे तथाकथित RTL2GDSII मार्ग से परिचित होते हैं - प्रौद्योगिकियों का एक समूह जो इंजीनियर इलेक्ट्रॉनिक कंपनियों में चिप्स डिजाइन करने के लिए उपयोग करते हैं। फिर हम
FPGA के पुन: संयोजन योग्य तर्क सर्किट के साथ व्यावहारिक कक्षाएं चलाते हैं । इस तरह, उदाहरण के लिए, वह 6.111 पाठ्यक्रम में एमआईटी पढ़ाता है, लेकिन हम इसे ओलंपियाड प्रकार के स्कूली बच्चों के लिए बहुत ही मूल रूप में आजमाते हैं।
सैद्धांतिक पाठ्यक्रम महत्वपूर्ण है, इसलिए रजिस्टर ट्रान्सफर के स्तर पर डिज़ाइन थ्योरी को समझाने वाले व्यावहारिक पाठ्यक्रम पर समय व्यतीत नहीं करना है, बल्कि FPGA कार्ड्स के साथ खेलते हुए तीन शामें बिताना है, जिसे आप बाद में अपने साथ ले जा सकते हैं। इसके अलावा, एक सैद्धांतिक पाठ्यक्रम FPGA अभ्यास को उन बड़े उत्पादों से जोड़ता है जो ASIC चिप्स का उपयोग करते हैं।
व्यावहारिक पाठ्यक्रम एक और प्रयोग होगा (पिछले वाले निज़नी नोवगोरोड, कीव, अल्मा-अता, कज़ाकिस्तान, मिन्स्क, नोवोसिबिर्स्क, टॉम्स्क और इर्कुत्स्क में विभिन्न शिक्षकों द्वारा आयोजित किए गए थे) यह पता लगाने के लिए कि शुरुआती के लिए वेरिलोग और एफपीजीए दिलचस्प और उपयोगी कैसे हैं।
क्या यह एकीकरण के एक छोटे से डिग्री के साथ microcircuits के साथ FPGAs के साथ अभ्यास करने के लिए लायक है? इस स्कोर पर अलग-अलग राय हैं: समारा विश्वविद्यालय के डीन इल्या कुद्र्यावत्सेव का मानना है कि यह इसके लायक नहीं है, ब्रेडबोर्ड पर प्राचीन CMOS 4000 के बजाय 2019 में नवीनतम तकनीक को तुरंत देना बेहतर है, जो 50 साल पहले प्रासंगिक थे। IVA Technologies के एक न्यूरोचिप डिज़ाइन इंजीनियर स्टानिस्लाव ज़ेल्नियो का मानना है कि यह इसके लायक है, क्योंकि अन्यथा छात्र FPGAs को एक अन्य माइक्रोकंट्रोलर जैसे Arduino के रूप में देखते हैं, लेकिन बस एक अजीब प्रोग्रामिंग भाषा Verilog के साथ। वास्तव में, एक छात्र या छात्र को तुरंत स्पष्ट रूप से महसूस करना चाहिए कि वेरिलोग योजना का वर्णन करता है, न कि कार्यक्रम (निर्देशों की श्रृंखला), और मस्तिष्क में सही छवि को व्यवस्थित करने के लिए CMOS 4000 की मदद से अभ्यास करता है।
यदि आप वेरिलोग पर लिखते हैं, जैसे कि यह एक कार्यक्रम था, सर्किट नहीं, तो कोड सिम्युलेटर पर काम करेगा, लेकिन संश्लेषित नहीं किया जाएगा, और यहां तक कि अगर यह संश्लेषित किया जाएगा, तो आपको एक पागल (समय या आकार के संदर्भ में) योजना मिलेगी।
इसलिए, दृष्टिकोणों में से एक इस तरह दिखता है: सर्किट को एकीकरण की एक छोटी डिग्री (काउंटरर्स, शिफ्ट रजिस्टरों, योजक, डिकोडर) के माइक्रोकिरिकेट्स पर डिज़ाइन करने के लिए, फिर इसे एक फ़ाइनल पर दोहराएं, संश्लेषित करें और एफपीजीए में पंजीकरण करें।
कुछ लोग कहते हैं: स्क्रीन पर (योजनाबद्ध प्रविष्टि) माउस के साथ FPGA के लिए आरेख क्यों नहीं बनाया जाता है और इसे veril पर अभ्यास करने से पहले FPGA में दर्ज करें? माउस दृष्टिकोण में तीन कमियां हैं:
- इसके लिए लर्निंग सॉफ्टवेयर की आवश्यकता होती है, जो ब्रेडबोर्ड में चिपके घटकों की तुलना में अधिक समय लेता है।
- ब्रेडबोर्ड पर एक पुल-अप रोकनेवाला के बिना एक उड़ा हुआ एलईडी या फ्लोटिंग इनपुट से अनुभव एक योजनाबद्ध प्रविष्टि में बाँझ अनुभव से अधिक मूल्यवान है।
- डिजिटल लॉजिक डिजाइनरों ने 1990 के दशक के बाद से एक योजनाबद्ध प्रविष्टि का उपयोग नहीं किया है, हर कोई कभी-कभी वीएचडीएल पर, बरामदे पर लिखता है।
हां, CMOS 4000 और 74XX 1970 के दशक में पुराने हो चुके थे, उन्हें PAL, GAL, PLD, फिर एकीकृत चिप्स द्वारा बदल दिया गया था। इसलिए, 1970 के दशक में वे बच्चों के लिए मग में इस्तेमाल किए गए थे, और 1980 के दशक में वे फैशन से बाहर हो गए, क्योंकि उन्होंने उन्हें उपयोग करने की अपनी क्षमता के लिए मजदूरी का भुगतान करना बंद कर दिया था, लेकिन कोई भी तब से नहीं आया है, जो अधिक स्पष्ट रूप से प्रदर्शित करता है, उदाहरण के लिए, डी-ट्रिगर फ़ंक्शन, इसलिए। FPGA / FPGA के प्रीक्वल के रूप में उन्हें लागू किया जा सकता है। MIT वही करता है -
यहाँ लैब # 1 देखें ।
FPGAs पर छोटे स्तर के एकीकरण और उनके समकक्षों के माइक्रोक्रिस्किट्स के साथ अभ्यास के बाद, आप कार्यों को जटिल कर सकते हैं और एक FPGA पर कर सकते हैं जो एकीकरण की छोटी डिग्री के दर्जनों, सैकड़ों या हजारों microcircuits ले गए, जिनकी मैं बाद में चर्चा करूंगा।
यहाँ संयोजन के तर्क का एक उदाहरण है, एक छोटा सा एकीकरण के साथ माइक्रोकिरकूट्स पर एक प्राथमिकता एनकोडर:
और यहाँ यह प्राथमिकता एनकोडर Verilog हार्डवेयर विवरण भाषा में कैसा दिखता है:
module priority_encoder
(
input [2:0] in,
output reg [1:0] out
);
always @*
begin
casez (in)
3'b1?? : out = 2'd1;
3'b01? : out = 2'd2;
3'b001 : out = 2'd3;
default : out = 2'd0;
endcase
end
endmodule
, , :
:

-:
, SPI, I2C, UART , , , VGA. FPGA :
, .VGA , .

— 7- , , 4x4, ( ), ( ).
-
c , ,
Hacker's Delight.
, , .
schoolMIPS.
-
17-19 . , — RUSNANO USA. , 3000 Sand Hill Road -. - Apple, Google Amazon.
- . , RTL2GDSII, , , , .
