पिकोब्लेज़
पिकोब्लेज़ उनके एफपीजीए और सीपीएलडी उत्पादों में उपयोग के लिए Xilinx के तीन मुफ्त सॉफ्ट माइक्रोप्रोसेसर कोर की एक श्रृंखला का पदनाम है। वे 8-बिट आरआईएससी आर्किटेक्चर पर आधारित हैं और विरटेक्स 4 एफपीजीए के वर्ग पर प्रति सेकंड 100 मिलियन निर्देशों तक की गति तक पहुंच सकते हैं। केंद्रीय प्रसंस्करण इकाई में परिधीय उपकरणों की एक विस्तृत श्रृंखला तक पहुंच के लिए 8-बिट एड्रेस और डेटा पोर्ट होता है। कोर का लाइसेंस उनके निःशुल्क उपयोग की अनुमति देता है, तथापि केवल Xilinx उपकरणों पर, और वे प्रोग्रामिंग टूल के साथ आते हैं। तृतीय-पक्ष उपकरण मेडियाट्रोनिक्स और अन्य से उपलब्ध हैं। इसके अतिरिक्त पाकोब्लेज़, कोर का एक व्यवहारिक और उपकरण स्वतंत्र कार्यान्वयन उपस्थित है और बीएसडी लाइसेंस के अनुसार जारी किया गया है। पॉलोब्लेज़ अपाचे लाइसेंस के अनुसार एक विवर्त स्रोत वीएचडीएल कार्यान्वयन है।
पिकोब्लेज़ डिज़ाइन को मूल रूप से केसीपीएसएम नाम दिया गया था जो कॉन्स्टेंट (K) कोडेड प्रोग्रामेबल स्टेट मशीन (पूर्व में केन चैपमैन की पीएसएम) के लिए है। केन चैपमैन Xilinx सिस्टम डिजाइनर थे जिन्होंने माइक्रोकंट्रोलर को तैयार और कार्यान्वित किया गया था।[1]
तत्कालीकरण
वीएचडीएल में पिकोब्लेज़ माइक्रोकंट्रोलर को इंस्टेंट करते समय, संबंधित केसीपीएसएम घटक नाम का उपयोग किया जाना चाहिए।[2] उदाहरण के लिए, पिकोब्लेज़3 प्रोसेसर के लिए:
component kcpsm3 is
port (
address : out std_logic_vector(9 downto 0);
instruction : in std_logic_vector(17 downto 0);
port_id : out std_logic_vector(7 downto 0);
write_strobe : out std_logic;
out_port : out std_logic_vector(7 downto 0);
read_strobe : out std_logic;
in_port : in std_logic_vector(7 downto 0);
interrupt : in std_logic;
interrupt_ack : out std_logic;
reset : in std_logic;
clk : in std_logic
);
end component;
प्रदर्शन
सभी निर्देश दो घड़ी चक्रों में निष्पादित होते हैं, जिससे मुख्य निर्देश सेट का प्रदर्शन निश्चित हो जाता है। व्यवधान प्रतिक्रिया पांच घड़ी चक्र से अधिक नहीं है। संसाधन अनुकूलन के रूप में, Xilinx एफपीजीए पर इस ब्लॉक के दोहरे पोर्ट कार्यान्वयन का लाभ उठाते हुए, दो पिकोब्लेज़ कोर के लिए समान 1k x 18 अनुदेश PROM साझा करना संभव है।
आर्किटेक्चरल नोट्स
Xilinx ने पिकोब्लेज़ को केवल 96 एफपीजीए स्लाइस की आवश्यकता के रूप में डॉक्यूमेंट किया है। छोटे कार्यान्वयन का आकार आंशिक रूप से निर्देश अनुक्रमण पक्ष (प्रोग्राम काउंटर, कॉल-रिटर्न स्टैक, निहित स्टैक पॉइंटर, और इंटरप्ट इनेबल बिट) को निष्पादन पक्ष (एएलयू, रजिस्टर फ़ाइल, स्क्रैचपैड रैम, जेड) से अधिक कठोर पृथक्करण के माध्यम से प्राप्त किया जाता है। /सी स्थिति बिट्स) नियमित जम्प और कॉल निर्देशों द्वारा परीक्षण किए जाने पर गणना पक्ष से अनुक्रमण पक्ष तक प्रवाहित होने वाली एकमात्र जानकारी शून्य और एएलयू स्थिति बिट्स होती है। कंप्यूटेड जंप या फ़ंक्शन पॉइंटर्स को प्रयुक्त करना संभव नहीं है[dubious ]. अनुक्रमण पक्ष से निष्पादन पक्ष तक प्रवाहित होने वाली एकमात्र जानकारी ऑपरेंड फ़ील्ड हैं: गंतव्य रजिस्टर (4 बिट्स), एएलयू ऑपकोड (छह बिट्स), वैकल्पिक स्रोत रजिस्टर (4 बिट्स), वैकल्पिक 8-बिट तत्काल मूल्य/पोर्ट-एड्रेस , वैकल्पिक 6-बिट स्क्रैचपैड एड्रेस स्टैक पॉइंटर के मूल्य, 31-एंट्री स्टैक की सामग्री, इंटरप्ट इनेबल बिट या प्रोग्राम मेमोरी की सामग्री का निरीक्षण करने के लिए कोई क्रियाविधि नहीं है।
निर्देश अनुक्रमण पक्ष में कोई योजक सम्मिलित नहीं है, इसलिए सापेक्ष शाखाएं और स्थिति स्वतंत्र कोड संभव नहीं हैं। सभी जंप और कॉल एड्रेस पूर्ण हैं[dubious ].
पिकोब्लेज़ सी (प्रोग्रामिंग लैंग्वेज ) जैसी संकलित लैंग्वेज में प्रोग्रामिंग के लिए खराब रूप से अनुकूल है।[3] फ़ंक्शन पॉइंटर्स के लिए समर्थन की कमी के अतिरिक्त[dubious ], स्टैक-आधारित कॉलिंग कन्वेंशन में तेजी लाने के लिए कोई निर्देश या एड्रेसिंग मोड नहीं हैं। पिकोब्लेज़ के लिए पुश या पॉप को प्रयुक्त करने के लिए दो निर्देशों की आवश्यकता होती है और सॉफ़्टवेयर-नामित स्टैक पॉइंटर से सापेक्ष एड्रेसिंग को प्रयुक्त करने के लिए दो निर्देशों की आवश्यकता होती है। पिकोब्लेज़ हाथ से अनुकूलित रजिस्टर-आधारित कॉलिंग कन्वेंशन के लिए उत्तम अनुकूल है। यह फोर्थ (प्रोग्रामिंग लैंग्वेज ) जैसे डेटा स्टैक के उपयोग को नहीं रोकता है, और वास्तव में पिकोब्लेज़ इस दृष्टिकोण के लिए उपयुक्त है, यदि 64-बाइट स्क्रैचपैड मेमोरी पर्याप्त स्थान प्रदान करती है।
यह भी देखें
बाहरी संबंध
Processor and derivatives:
- पिकोब्लेज़ on the Xilinx website
- पिकोब्लेज़ user manual
- पिकोब्लेज़ user resources
- Implementation of पिकोब्लेज़ in LabVIEW FPGA on the Xilinx Spartan 3E Starter board
- PacoBlaze: an open source synthesizable and behavioral Verilog clone of PicoBlaze
- PacoBlaze implementation description
- NanoBlaze: a VHDL model with generics to define various sizes
- PauloBlaze: an open source VHDL model fully compatible with the ISA of the kcpsm6
Tools:
- Open source पिकोब्लेज़ assembler
- पिकोब्लेज़ Debugger, Software and RTL Hardware development with ModelSim
- MDS, Professional IDE for Linux and Windows
- FIDEx, an assembler IDE for Linux, MAC and Windows
- pBlazASM, an open source assembler and simulator for Windows[permanent dead link]
- pBlazIDE, an assembler IDE for Windows
- kpicosim, an open source assembler IDE for Linux
- Opbasm, Cross-platform Open पिकोब्लेज़ macro assembler for kcpsm3 and kcpsm6
- पिकोब्लेज़ Simulator in JavaScript
संदर्भ
- Notes
- ↑ "PicoBlaze 8-bit Microcontroller" (PDF). Xilinx, Inc. Retrieved 2007-06-25.
- ↑ "PicoBlaze 8-bit Embedded Microcontroller User Guide" (PDF). Xilinx, Inc. Archived from the original (PDF) on 2007-09-27. Retrieved 2007-06-25.
- ↑ Pong P. Chu (2008). FPGA Prototyping by VHDL Examples: Xilinx Spartan-3 Version. Wiley & Sons. ISBN 978-0-470-18531-5.
- Bibliography
- Ivanov Vl. Using a पिकोब्लेज़ Processor to Traffic Light Control. Cybernetics and Information Technologies, 15, 5, Marin Drinov, 2015, Online ISSN 1314-4081, doi:10.1515/cait-2015-0023, pp. 131 – 139. SJR:0.212