FPGA पर प्रोसेसर डिज़ाइन कैसे प्राप्त करें


20

मैं हाल ही में स्व-शिक्षण तर्क डिजाइन की लंबी यात्रा पर गया था। इसका अंतिम उत्पाद एक कार्यात्मक 16 बिट सीपीयू है जो सिम्युलेटर में बिल्कुल वैसा ही डिजाइन किया गया है । अब मैंने अभी FPGA के माध्यम से इसे सिलिकॉन में डालने की संभावना को देखना शुरू किया है। मुझे पता है कि मुझे इनपुट / आउटपुट एरेना (सिमुलेशन वातावरण के लिए वास्तविक दुनिया के अलग होने) में बहुत सारे समायोजन करने होंगे और पता चला होगा कि मैंने अपना डिज़ाइन पूरी तरह से एक प्रोग्राम में किया था जो नेटलिस्ट या एचडीएल कोड निर्यात नहीं करता है इसलिए मेरे पास वास्तव में एक योजनाबद्ध है।

लेकिन, यह मानते हुए कि मैं किसी भी तरह एक बिंदु पर पहुंच जाता हूं, जहां मेरे पास अपने डिजाइन का एक नेटलिस्ट या एचडीएल कोड है, इसे सिलिकॉन में लाने के लिए मेरा अगला कदम क्या है? अब तक मैंने जो पढ़ा है, वह FPGA की तरह दिखता है, मेरा समाधान है, लेकिन Xilinx और Altera वेबसाइटों को देखने से आपका सिर घूम जाता है। क्या मैं गलत पेड़ को काट रहा हूं? असल में, मैं एक सादे अंग्रेजी विवरण की तलाश कर रहा हूं कि एक सीपीयू के कार्यात्मक योजनाबद्ध आदमी के लिए अगला कदम क्या है। एक बार जब मुझे पता चल जाता है कि मुझे किस दिशा में जाना है, तो मैं किताबों को क्रैक कर सकता हूं और वहां पहुंचने के बारे में जानने की जरूरत है। एक नोट भी, मैं मैक ओएस एक्स पर हूं लेकिन मेरे पास एक विंडो का एक्सपी बॉक्स है जिसे मैं पूरी तरह से कर सकता हूं तो मैं प्लग इन कर सकता हूं।


आपने अपना डिजाइन किस कार्यक्रम में किया ? वहाँ 3 पार्टी कन्वर्टर्स हो सकता है।
कोनोर वुल्फ

जवाबों:


17

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

संपादित करें (अपनी टिप्पणी पुनः दें)
आपको एक विशिष्ट निर्माता के लिए एक विकास प्रणाली की आवश्यकता है। अल्तेरा और Xilinx बड़े खिलाड़ी हैं, और दोनों के अपने विश्वासियों हैं। आपके द्वारा चुना गया कौन सा महत्वपूर्ण नहीं है, दोनों के पास आपकी आवश्यकताओं को पूरा करने के लिए पर्याप्त भिन्न भाग हैं।
यदि आप Xilinx के लिए चुनते हैं, तो इसका ISE WebPACK डिज़ाइन सॉफ़्टवेयर है , जो मुफ़्त है (3.4GB पर बड़ा डाउनलोड)। सॉफ़्टवेयर के अधिक उन्नत संस्करणों की तुलना में सीमाएँ इस समय आपको परेशान नहीं करना चाहिए।
आगे आपको एक विकास बोर्ड की आवश्यकता है। आपको इस बात का अंदाजा होना चाहिए कि आपको किस FPGA का चयन करने की आवश्यकता होगी। यदि आप Xilinx के लिए जाते हैं तो मैं एक स्पार्टन चुनूंगा, शायद एक स्पार्टन -6, वीरटेक्स पहले से ही उच्च अंत वाला आईएमओ है। बोर्ड पर एक्स्ट्रा में मुख्य रूप से अलग से अभी भी एक बहुत से लोग चुन रहे हैं। आप कुछ स्विच और एल ई डी से थोड़ा अधिक बोर्ड चाहते हैं। मैं एक कीबोर्ड कनेक्टर, और एक डिस्प्ले मॉड्यूल देखूंगा।
Xilinx में कई बोर्ड हैं, और Xilinx FPGAs के लिए Digilent , Avnet , Xess और कई अन्य भी हैं।

इसलिए कई बोर्डों की तुलना करें (कीमत भी एक भूमिका निभाएगी, मुझे लगता है) और FPGA के लिए विकास सॉफ्टवेयर डाउनलोड करें जिसे आप उपयोग करने की योजना बना रहे हैं। अपने डिज़ाइन को यह सत्यापित करने के लिए संश्लेषित करें कि यह चुने हुए FPGA में फिट होगा, और फिर आप इस FPGA के आसपास एक बोर्ड खरीदने के लिए तैयार हैं।

मैं FPGAs के बारे में थोड़ा बताना भूल गया। एक FPGA मूल रूप से उनके बीच प्रोग्राम कनेक्शन के साथ फाटकों का एक बड़ा संग्रह है, ताकि आप उनके बारे में लगभग कोई भी तर्क फ़ंक्शन / सिस्टम बना सकें। कई पीढ़ियों में FPGAs अधिक उन्नत हो गए और अब रैम जैसे कुशलतापूर्वक कार्य करने के लिए ब्लॉक को अनुकूलित किया है। आपके विकास सॉफ़्टवेयर के सिंथेसाइज़र गेट्स के बीच कनेक्शन आरेख बनाता है। यह FPGA में स्थायी रूप से संग्रहीत नहीं है, लेकिन इसे बाहरी कॉन्फ़िगरेशन फ़्लैश मेमोरी से पावर-अप पर लोड किया जाना चाहिए। यहीं से आपका डिज़ाइन स्टोर हो जाएगा। किसी भी अन्य फ्लैश मेमोरी की तरह इसे कई बार मिटाया और फिर से लिखा जा सकता है।


मैंने Logisim का उपयोग किया, जो योजनाबद्ध के लिए शानदार है, लेकिन कुछ भी आउटपुट की एक विधि का अभाव है, लेकिन चित्र (png, jpeg, आदि)। FPGA भ्रम की स्थिति में, इसके आंशिक रूप से उपकरणों के विशाल सरणी की बात है, लेकिन मुझे ऐसे संसाधन भी नहीं मिलते हैं जो मूल बातें और बुनियादी बातों की व्याख्या करते हैं। अगर मैं अपना सीपीयू वहां पर लगाता हूं, तो यह बाहरी दुनिया के साथ कैसे इंटरफेस करता है? मुझे किस उपकरण की जरूरत है? क्या मैं बार-बार FPGA को री-प्रोग्राम कर सकता हूं? आदि आदि। यह वास्तव में विषय के साथ परिचित की कुल कमी है। मुझे लगता है कि मुझे एक स्टार्टर गाइड की आवश्यकता है, लेकिन कहीं भी एक नहीं मिलता है।
रोरी ओ'हारे

2
आपके प्रश्न, क्रम में: 1) I / O पिन के माध्यम से बाहरी दुनिया के साथ FPGAs इंटरफ़ेस। अंतर यह है कि आप समर्पित चिप्स के विपरीत, पिन चुन सकते हैं। 2) आप स्टार्टर किट, डेवलपमेंट किट या इसी तरह की शुरुआत कर सकते हैं। इसमें FPGA, I / O के लिए कुछ कनेक्टर और बोर्ड पर बिजली की आपूर्ति होगी। अधिकांश में प्रोग्रामर भी शामिल है; अगर एक पाने के लिए मत भूलना। 3) हाँ, आप FPGA को फिर से शुरू कर सकते हैं। कार्यक्रम को अनिवार्य रूप से एक विशाल पारी रजिस्टर में चिप पर संग्रहीत किया जाता है। स्टार्टअप पर, एक समर्पित राज्य मशीन या बाहरी स्रोत इसे चिप में लोड करता है।
माइक डीमोन जूल

9

मैं Xilinx के उपकरणों से परिचित नहीं हूं, लेकिन मैं Altera के साथ हूं, इसलिए मैं आपको उनके बारे में बताऊंगा। Xilinx और दूसरों को बहुत अलग नहीं होना चाहिए।

Verilog

पहली बात जो आपको करने की ज़रूरत है वह है वेरिलोग सीखना । यह आपके सिर को चोट पहुंचाएगा क्योंकि वेरिलॉग (और कुछ इसी तरह का वीएचडीएल) पहली बार एक सिमुलेशन भाषा के रूप में डिज़ाइन किया गया था , और कई निर्माण (जैसे #5कि "5 समय के चरणों का इंतजार करें", एक समय कदम आमतौर पर एक नैनोसेकंड होता है)। इसलिए आपके वेरिलॉग कोड को संश्लेषित करने के लिए ध्यान में रखने के लिए बहुत सारे प्रतिबंध हैं , अर्थात एक FPGA के लिए बिटस्ट्रीम में संकलित करना।

सबसे बड़ा झटका, हालांकि, यह है कि आप वेरिलोग (और वीएचडीएल) में जो लिखते हैं वह वह व्यवहार है जो आप सिस्टम से उम्मीद करते हैं , और कंपाइलर आपके विवरण से उचित तर्क को प्रभावित करता है। यदि आप सावधान नहीं हैं, तो आप इस से बहुत सारे गंदा कीड़े प्राप्त कर सकते हैं।

उदाहरण के लिए, D फ्लिप-फ्लॉप जैसा दिखता है:

always @(posedge RESET or posedge CLK)
begin
    if(RESET)
        Q <= 1'b0;
    else if(CLK_ENA)
        Q <= D;
end

यह वर्णन करता है कि DFF कैसे काम करता है, और संकलक को इसका विश्लेषण करना है और यह पता लगाना है कि आप DFF चाहते हैं। @(...)एक कहा जाता है संवेदनशीलता सूची है, जो संकेत देता है कि कोड ब्लॉक के पुनर्मूल्यांकन को गति प्रदान की एक सूची है; इस प्रकार, इस ब्लॉक में, Qकेवल तभी परिवर्तन होता है जब वहाँ पर बढ़त होती है RESETया CLK(यह एक सक्रिय-उच्च रीसेट के लिए है)। यदि आप संवेदनशीलता सूची में कुछ भूल जाते हैं (जिसमें किसी कॉम्बिनेशन लॉजिक ब्लॉक के लिए सभी राइट-साइड-साइड वैरिएबल posedgeया किसी negedgeसंशोधक के बिना होना चाहिए ) तो कंपाइलर एक त्रुटि को कॉल करने के बजाय आवश्यकतानुसार लैचिस को संश्लेषित करेगा। क्रेजी, लेकिन यह है कि यह कैसा है, क्योंकि वेरिलॉग मूल रूप से एक सिमुलेशन भाषा थी जो कि कार्यान्वयन के विवरण को छिपाती थी (और इस तरह की आवश्यकता नहीं थी)। VHDL एक ही है लेकिन बहुत अधिक क्रिया है।

अंत में, सिस्टमविलेरोग नामक वेरिलॉग का एक नया संस्करण कुछ साल पहले जारी किया गया था, जो लेखन कोड को बहुत आसान बना देता है । यदि संभव हो, तो इस भाषा को सीखें, क्योंकि Xilinx ISE और Altera Quartus II दोनों ही इसका समर्थन करते हैं। मुख्य समस्या अच्छी संदर्भ सामग्री की पूरी तरह से कमी है।

DFF का SystemVerilog संस्करण कुछ छोटी चीजों को साफ करता है:

always_ff @(posedge RESET, posedge CLK)
begin
    if(RESET)
        Q <= '0;
    else if(CLK_ENA)
        Q <= D;
end

ध्यान दें कि संवेदनशीलता सूची में सिग्नल अल्पविराम द्वारा अलग किए गए हैं। यह इसलिए है क्योंकि वहाँ काम नहीं कर सकता orथा भ्रामक था and। इसके अलावा के प्रतिस्थापन ध्यान दें 1'b0(एक 0साथ बिट) '0(एक प्रतीक है कि हालांकि कई लोगों के लिए फैलता है 0; बिट्स क्या यह करने के लिए आवंटित किया जा रहा है के आधार पर की जरूरत है बहुत पैरामिट्रीकृत मॉड्यूल के साथ और अधिक लचीला)। अंत में, के प्रतिस्थापन पर ध्यान दें always(जो किसी भी चीज़ के लिए इस्तेमाल किया जा सकता है; संयोजन तर्क, latches और फ्लिप फ्लॉप) always_ffजिसके साथ सामग्री को फ्लिप-फ्लॉप के लिए संश्लेषित करने की आवश्यकता होती है। वहाँ भी है always_combजो संवेदनशीलता सूची को समाप्त कर देता है, क्योंकि यह इनपुट से ब्लॉक तक संवेदनशीलता का काम करता है।

एल्टर के डिजाइन सॉफ्टवेयर को क्वार्टस II कहा जाता है, और आप वेब संस्करण की तलाश करेंगे । (सदस्यता संस्करण बल्कि महंगे हैं और केवल सबसे तेज़ या सबसे हाल के FPGA मॉडल के लिए आवश्यक हैं।)

दुख की बात यह है कि मुझे इस विषय पर एक अच्छी किताब नहीं मिली है। मैंने जो सीखा है, मैंने कई स्रोतों से एक साथ चीज़ों को पीकर प्राप्त किया है, जैसे कि वेरिलोग किताबें जो आपको यह बताने का अच्छा काम नहीं करती हैं कि क्या संश्लेषित है और क्या नहीं है, और उदाहरण कोड। क्वार्ट्स II में एक "इन्सर्ट टेम्पलेट" कमांड है जो डी फ्लिप-फ्लॉप से ​​लेकर राज्य मशीनों तक कई सामान्य संरचनाओं के लिए टेम्पलेट कोड सम्मिलित करता है।

डेमो हार्डवेयर

वेरिलोग में अपना प्रोसेसर लागू करने के बाद, आपको इसे बनाने की आवश्यकता है। कुछ समय के लिए, क्वार्टस चिप को चुनें (आपको परिवार चुनना होगा; मैं साइक्लोन IV की सिफारिश करूंगा) और पिनआउट। एक बार जब यह biulds, आपको पता चल जाएगा कि आपको कितनी चिप की आवश्यकता है यह आपको बताएगा कि आपने कितने तर्क तत्व, फ्लिप फ्लॉप, रैम बिट्स, आदि का उपयोग किया। सुनिश्चित करें कि आप उनमें से किसी पर भी 50% से अधिक नहीं हैं; यदि आप हैं, तो उस चिप को देखें जिसे संकलक ने चुना है और मैन्युअल रूप से अगले बड़े (तर्क तत्वों में) चिप का चयन करें जिसमें कम से कम कई पिन हैं, और 50% से कम उपयोग होने तक दोहराएं।

फिर एक डेमो बोर्ड के लिए खरीदारी करें जिसमें एक चिप है जो कम से कम उतना बड़ा है जितना कि आपने आखिरकार बनाया था। यह देखने के लिए जांचें कि इसमें परिधीय और / या I / O कनेक्टर हैं जिनकी आपको आवश्यकता होगी। किसी भी लापता हार्डवेयर को प्रदान करने के लिए एक विस्तार कनेक्टर में प्लग करने वाले एक बेटीकार्ड का निर्माण करना असामान्य नहीं है।

अब जब आपने अपना हार्डवेयर चुन लिया है, तो वास्तविक पिनआउट का पता लगाएं और पिन पिनर का उपयोग करके सही पिनों पर सही सिग्नल लगाएं। डेमो बोर्ड में एक उपयोगकर्ता गाइड होगा जो आपको बताता है कि कौन से पिन डेमो बोर्ड पर किस डिवाइस या कनेक्टर पिन के लिए वायर्ड हैं।

एक बार जब आप पिनआउट सेट कर लेते हैं, तो इसे फिर से बनाएं ताकि यह आपके इच्छित पिन का उपयोग कर सके। इस बात को ध्यान में रखें कि सिस्टम क्लॉक जैसे कुछ संकेतों को समर्पित इनपुट पिन की आवश्यकता होगी (इसलिए वे आंतरिक PLL में सीधे रूट करते हैं)।

अपने डिज़ाइनर को सीधे FPGA में डाउनलोड करने के लिए प्रोग्रामर का उपयोग करें (वह शिफ्ट रजिस्टर मैंने कुछ समय पहले बताया था)। अब आप परिचित एडिट-कम्पाइल-रन डिबगिंग चक्र में हैं। काम होने तक उस पर मारो।

एक बार जब यह काम करता है, तो आप कोड को ऑनबोर्ड कॉन्फ़िगरेशन डिवाइस में डाउनलोड करने के लिए प्रोग्रामर का उपयोग कर सकते हैं ताकि आपका प्रोग्राम पावर-ऑन पर लोड हो सके और चले।

यह बहुत लंबा था, और मुझे आशा है कि इसने कुछ मदद की। वहाँ एक है बहुत कुछ जानने के लिए; यह एक नई प्रोग्रामिंग भाषा सीखना पसंद नहीं है, क्योंकि यह एक नई प्रोग्रामिंग प्रतिमान सीखने की तरह है, जैसे प्रक्रियात्मक से कार्यात्मक भाषाओं में जाना। वेरिलॉग एक साथ भाषा है; अधिकांश कोड हमेशा निष्पादित होता है।

सौभाग्य!


महान, यह बहुत उपयोगी है। बस एक बात की जाँच करने के लिए, मैंने योजनाबद्ध कैप्चर के बारे में सुना है। क्या यह सीखने के लिए एक उपयुक्त विकल्प है? अगर मुझे यह करना है, तो मैं इसे सीख लूंगा, लेकिन अगर यह 100% आवश्यक नहीं है, तो मैं इसे उन चीजों की विशाल सूची में नहीं जोड़ूंगा जिन्हें मुझे पहले से पता लगाना होगा। बहुत धन्यवाद।
रोरी ओ'हारे

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

1
क्या कोई उपकरण हैं जो वेरिलॉग या वीएचडीएल में कुछ हद तक "हार्डवेयर वर्णनात्मक" भाषा को बदल सकते हैं (जैसे अगर मैं चाहता हूं कि नेट जेड एक फ्लिप फ्लॉप हो जिसका डेटा इनपुट ए, बी और सी का संयोजन है, जो कि असंगत रूप से रीसेट हो जाता है C और D सत्य हैं, Z:= A & (B # C); Z.ar = C & D;संवेदनशीलता सूचियों और इस तरह की चिंता किए बिना कुछ कहना अच्छा होगा ।
सुपरकैट

एल्टेरा क्वार्टस आपको एक योजनाबद्ध या AHDL (VHDL के Altera के संस्करण), या उसके किसी भी संयोजन के रूप में संभवतः अन्य HDLs सहित अपने डिजाइन में प्रवेश करने की अनुमति देता है। (पुराने जमाने में, मैं मुख्य रूप से अपने CPLD और FPGA परियोजनाओं के लिए योजनाबद्ध प्रविष्टि का उपयोग करता था, थोड़ा AHDL के साथ।)
पीटर बेनेट

बस स्पष्ट होने के लिए, AHDL VHDL का संस्करण नहीं है। दोनों VHDL और Verilog हैं अनुमान भाषाओं, जहाँ आपके कोड वांछित सर्किट के व्यवहार का वर्णन करता है, और संकलक कि व्यवहार वर्णन से कार्यान्वयन अनुमान लगाने के लिए है। यह इस तथ्य की विरासत है कि दोनों ने सिमुलेशन भाषाओं के रूप में शुरू किया और संश्लेषण के लिए पुन: उपयोग किया गया। एएचडीएल एक घोषणात्मक भाषा है, जहां आप आदिम (जैसे फ्लिप-फ्लॉप, सत्य तालिकाओं) की घोषणा करते हैं, और वे कैसे जुड़े हुए हैं, इसलिए कंपाइलर को अनुमान लगाने की आवश्यकता नहीं है। AHDL 80 के दशक की है और ABEL के ज्यादा करीब है।
माइक डीमोन

5

हां, FPGAs लगभग निश्चित रूप से आपके समाधान हैं!

आपको लगभग निश्चित रूप से हार्डवेयर विवरण भाषाओं में से एक का उपयोग करने की आवश्यकता होगी , या एक अलग टूल में अपने स्कीमैटिक्स को फिर से दर्ज करें। मैं योजनाबद्ध दृष्टिकोण के खिलाफ सिफारिश करूंगा

  1. FPGA उपकरण विक्रेता वास्तव में उनका अच्छी तरह से समर्थन नहीं कर रहे हैं
  2. यह गैर-पोर्टेबल है

एक बार जब आप एचडीएल लिख चुके होते हैं, तब तक जब तक आप वेंडर लाइब्रेरी से सीधे अपने विभिन्न "आईपी विजार्ड" का उपयोग करके या अपने पुस्तकालयों से घटकों में सीधे पेस्ट करके चीजों को सम्मिलित नहीं कर रहे हैं, आपके पास कोड होगा जिसे आप अन्य चिप्स के साथ पोर्ट कर सकते हैं आसानी से (उदाहरण के लिए एम्बेडेड सी आईएमई पोर्टिंग की तुलना में बहुत अधिक)

इसके अलावा, आपके पास बहुत बेहतर परीक्षण और सत्यापन का माहौल है क्योंकि आप परीक्षण लिख सकते हैं जो आपकी कार्यक्षमता को "समझ" सकता है और आपके लिए परिणामों की जांच कर सकता है, बजाय इसके कि आप तरंगों को घूर रहे हैं यह देखने के लिए कि क्या यह सब ठीक है।

बड़े 2 एचडीएल वीएचडीएल और वेरिलॉग हैं। आप इस उत्तर को पढ़ना पसंद कर सकते हैं कि वे कैसे अलग हैं ...

VHDL या वेरिलॉग?

मैं यह भी कहूंगा कि MyHDL भी देखने लायक है यदि आप पहले से ही अजगर को जानते हैं - आपको एक विशाल सत्यापन क्षमता प्रदान करता है, लेकिन फिर भी अधिकांश निम्न-स्तरीय नियंत्रण जो "सामान्य" एचडीएल देता है।

एक बार जब आप एक एचडीएल चुनते हैं, और फिर उस कार्य में (फिर से, क्षमा करें!) प्राप्त करें एक सिमुलेशन में आप फिर उस स्थिति में होंगे जहां आप इसे विक्रेता के टूल के माध्यम से धक्का दे सकते हैं और कार्य के अगले बड़े हिस्से को जान सकते हैं - एक बार यह अनुकरण करें सही ढंग से, वहाँ हमेशा अधिक प्रयास से आप इसे संश्लेषित करने के लिए लगता है :)

यदि आप योजनाबद्ध तरीके से काम करते हैं और एक लाइसेंस प्राप्त कर सकते हैं, तो LabviewFPGA आपके अनुरूप हो सकता है।


3

हैम्बलेन एट अल द्वारा डिजिटल सिस्टम के रैपिड प्रोटोटाइप की एक प्रति प्राप्त करें:

http://users.ece.gatech.edu/~hamblen/book/bookte.htm

यह मुख्य रूप से वीएचडीएल का उपयोग करता है, जिसे मैं वेरिलोग पसंद करता हूं।

इसमें एक बहुत ही सरल 8-बिट सीपीयू, यूपी 3 शामिल है, जिसे मैंने कुछ साल पहले अपने स्वयं के एल्टर फ्लेक्स 10K हार्डवेयर पर लागू किया था, पुस्तक के पुराने संस्करण का उपयोग कर रहा था। जब मैं अपना "फ्रंट पैनल" पीसीबी बनाऊंगा तो मैं इसे $ 25 साइक्लोन II बोर्ड में पोर्ट करूँगा । इसमें MIPS और Altera NIOS II प्रोसेसर भी शामिल है। आप मुफ्त Altera Quartus II टूल के साथ पुस्तक में uP3 अभ्यासों के माध्यम से काम कर सकते हैं, VHDL में अपने सीपीयू कोड को फिर से लिख सकते हैं, और इसे साइक्लोन II बोर्ड पर काम कर सकते हैं। वैकल्पिक रूप से, क्वार्टस II में योजनाबद्ध प्रविष्टि है, और आपको सीधे अपने योजनाबद्ध इनपुट में सक्षम होना चाहिए, इसका अनुकरण करना चाहिए, और इसे साइक्लोन II पर चलाना चाहिए।


1

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


0

यदि आप एक एचडीएल सीखना चुनते हैं, जहां आप प्रभावित हो सकते हैं जो बेहतर भाषा है। यूरोप में, VHDL अधिक लोकप्रिय है। संयुक्त राज्य अमेरिका में, वेरिलॉग रक्षा उद्योग को छोड़कर अधिक लोकप्रिय है, जो वीएचडीएल है। (यूएसए रक्षा विभाग ने मूल रूप से वीएचडीएल बनाया) इसका मतलब है कि आपके पास के लोग एक भाषा या दूसरे में मदद करने में बेहतर हो सकते हैं। लेकिन अगर आप ऑनलाइन मदद की तलाश कर रहे हैं, तो यह अप्रासंगिक हो सकता है।

अन्य पुस्तकों पर विचार करने के लिए डिजिटल सिस्टम का रैपिड प्रोटोटाइप: SOPC संस्करण है जो Altera DE1 और DE2 बोर्डों को संदर्भित करता है । वहाँ पहले से ही विभिन्न कंप्यूटरों की संख्या DE1 और DE2 में रखी गई है, जिससे आपको पता चलता है कि वे कैसे काम करते हैं। Minimigtg68 (Amiga), FpgaGen (Sega Genesis), इत्यादि को उदाहरण के लिए देखने के लिए इस बोर्ड में रखा गया है।

यदि आप Xilinx जाते हैं, तो अभी दो पुस्तकें हैं। वेरिलॉग उदाहरणों द्वारा FPGA प्रोटोटाइप: Xilinx संयमी -3 संस्करण VHDL उदाहरणों द्वारा FPGA प्रोटोटाइप: Xilinx संयमी -3 संस्करण हालांकि मैं इनसे अनुशंसा करने के लिए एक विशेष बोर्ड नहीं जानता। मैं एक उम्मीद है कि जल्द ही बोर्ड, FPGA आर्केड के बारे में उत्साहित हूं, लेकिन मैं भूल जाता हूं कि यह एक Xilinx या कुछ और होगा।


0

इस वैरिएंट ने लॉजिम को और विकसित किया, जिसे अब लॉगीस इवोल्यूशन कहा जाता है। उन्होंने लॉजिसिम में निर्मित एक लॉजिक सर्किट की योजना से वीएचडीएल को निर्यात करने के लिए एक सुविधा लागू की।

यह यहाँ पाया जा सकता है: https://github.com/reds-heig/logisim-evolution

पता है कि यह सवाल पुराना है, लेकिन इसने मुझे एक ढेर बनाने में मदद की, और आशा है कि यह किसी और की मदद करेगा।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.