Skip to content
KitploitKITPLOIT
उपकरणएक्सप्लॉइटब्लॉग
Log in
जमा करें
उपकरणएक्सप्लॉइटब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

फ़ीडसंपर्कगोपनीयता© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
device-modeling-language — तेज़ कार्यात्मक उपकरण मॉडल लिखने के लिए वर्चुअल प्लेटफॉर्म के लिए डोमेन-विशिष्ट भाषा। DML को Intel Simics सिम्युलेटर के लिए अनुकूलित API कॉल के साथ C में संकलित करता है, जो हार्डवेयर सिमुलेशन और सुरक्षा परीक्षण को सक्षम बनाता है। | Kitploit
उपकरण/GitHubGitHub/intel/device-modeling-language
एम्बेडेड सिस्टम सुरक्षासुरक्षा वर्चुअलाइजेशनहार्डवेयर सुरक्षाहार्डवेयर और IoT सुरक्षाफर्मवेयर विश्लेषण
GitHubintel/device-modeling-language

device-modeling-language

तेज़ कार्यात्मक उपकरण मॉडल लिखने के लिए वर्चुअल प्लेटफॉर्म के लिए डोमेन-विशिष्ट भाषा। DML को Intel Simics सिम्युलेटर के लिए अनुकूलित API कॉल के साथ C में संकलित करता है, जो हार्डवेयर सिमुलेशन और सुरक्षा परीक्षण को सक्षम बनाता है।

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखें
139523316 दिन पहलेKitploit द्वारा समीक्षित

डिवाइस मॉडलिंग भाषा

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

वर्तमान में, कंपाइलर Intel® Simics® सिमुलेटर के लिए मॉडल बनाने का समर्थन करता है, लेकिन भविष्य में अन्य बैक-एंड जोड़े जा सकते हैं।

DMLC का निर्माण और परीक्षण

DMLC बनाने के लिए, आपके पास एक Simics सिमुलेटर स्थापना और एक Simics प्रोजेक्ट सेट अप होना चाहिए।

Intel Simics सिमुलेटर के सार्वजनिक रिलीज़ का उपयोग करना

यदि आपके पास पहले से Simics सिमुलेटर स्थापना या वाणिज्यिक चैनलों के माध्यम से Simics सिमुलेटर तक पहुंच नहीं है, तो इंस्टॉल करें Intel Simics सिमुलेटर का सार्वजनिक रिलीज़ और एक Simics प्रोजेक्ट बनाएं (डिफ़ॉल्ट स्थापना प्रवाह में स्वचालित)।

Simics प्रोजेक्ट से DMLC बनाना

अपने Simics प्रोजेक्ट में, DML रिपॉजिटरी को modules/dmlc निर्देशिका में चेक आउट करें। प्रोजेक्ट के शीर्ष-स्तर पर, make dmlc (या विंडोज़ पर bin\make dmlc) चलाएँ।

Simics प्रोजेक्ट से DMLC का परीक्षण

DMLC के साथ प्रदान किए गए यूनिट परीक्षणों को चलाने के लिए, प्रोजेक्ट के शीर्ष-स्तर से make test-dmlc या bin/test-runner --suite modules/dmlc/test चलाएँ।

पर्यावरण चर

DMLC विकसित करते समय निम्नलिखित पर्यावरण चर उपयोगी होते हैं। यदि आप नियमित रूप से स्थानीय रूप से निर्मित DMLC के साथ काम करते हैं, तो अपने .bashrc में चर DMLC_DIR, T126_JOBS, DMLC_PATHSUBST और PY_SYMLINKS सेट करने पर विचार करें। शेष चर केवल आवश्यकतानुसार सक्षम करना बेहतर है।

DMLC_DIR

DMLC के निर्माण के बाद, आपको DMLC_DIR को <your-project>/<hosttype>/bin पर सेट करना होगा, ताकि स्थानीय रूप से निर्मित कंपाइलर के साथ डिवाइस बनाने के लिए make के बाद के आह्वान में इसका उपयोग हो सके। <hosttype> आपके होस्ट प्रकार के आधार पर linux64 या win64 है।

T126_JOBS

सेट होने पर, दिए गए संख्या में परीक्षण समानांतर में चलाए जाते हैं।

DMLC_PATHSUBST

DMLC निर्माण कुछ DML लाइब्रेरी फ़ाइलों, जैसे dml-builtins.dml, को <hosttype>/bin में कॉपी करता है। जब कोई संकलन त्रुटि होती है, तो त्रुटि संदेश सामान्यतः इस प्रतिलिपि की ओर इशारा करेंगे न कि स्रोत की ओर। DMLC_PATHSUBST को <hosttype>/bin/dml=modules/dmlc/lib पर सेट करके, त्रुटि संदेशों को पुनर्लेखित किया जाएगा जो स्रोत फ़ाइल की ओर इंगित करेंगे। <hosttype> आपके होस्ट प्रकार के आधार पर linux64 या win64 है।

PY_SYMLINKS

जब 1 पर सेट किया जाता है, तो make dmlc Python फ़ाइलों को कॉपी करने के बजाय सिमलिंक करेगा। इसके दो प्रभाव हैं: Python ट्रेसबैक आपको रिपॉजिटरी में स्रोत फ़ाइल पर ले जाएंगे, और Python फ़ाइलों को संपादित करने के बाद आपको make को पुनः चलाने की आवश्यकता नहीं है।

DMLC_DEBUG

जब 1 पर सेट किया जाता है, तो कंपाइलर में अप्रत्याशित अपवाद stderr पर प्रतिध्वनित होते हैं। डिफ़ॉल्ट रूप से ट्रेसबैक dmlc-error.log फ़ाइल में छिपाए जाते हैं।

DMLC_CC

यूनिट परीक्षणों में डिफ़ॉल्ट कंपाइलर को ओवरराइड करें।

DMLC_PROFILE

सेट होने पर, DMLC स्व-प्रोफाइलिंग करता है और प्रोफाइल को .prof फ़ाइल में लिखता है।

DMLC_DUMP_INPUT_FILES

सेट होने पर, DMLC एक .tar.bz2 आर्काइव उत्सर्जित करता है जिसमें सभी DML स्रोत फ़ाइलें होती हैं, जो एक ऐसे रूप में पैकेज की जाती हैं जिसे अकेला संकलित किया जा सकता है। यह तब उपयोगी होता है जब कोई DML समस्या एक जटिल निर्माण वातावरण में दिखाई देती है, और आप समस्या को अलग-थलग करके पुन: उत्पन्न करना चाहते हैं। बनाए गए आर्काइव में, सभी DML फ़ाइलें एक ही निर्देशिका में स्थित होती हैं (या तो शीर्ष स्तर पर या _ नामक उपनिर्देशिकाओं की एक श्रृंखला के अंतर्गत), और सापेक्ष आयात को आर्काइव में सिमलिंक शामिल करके भी संभाला जाता है। विंडोज़ पर, DMLC कभी-कभी इन सिमलिंक को सही ढंग से हल करने में असमर्थ होता है; इस कारण से, यह अनुशंसा की जाती है कि आर्काइव को केवल लिनक्स पर निकाला और संकलित किया जाए।

DMLC_GATHER_SIZE_STATISTICS

सेट होने पर, DMLC एक फ़ाइल आउटपुट करता है जो -size-stats.json में समाप्त होती है, जो कोड जनरेशन आँकड़े दिखाती है जो उत्पन्न कोड आकार को कम करने और संकलन गति बढ़ाने में उपयोगी होते हैं। फ़ाइल सूचीबद्ध करती है कि प्रत्येक DML विधि के लिए कितना C कोड उत्पन्न होता है। आउटपुट त्रिक [tot_size, location, num] की एक सूची है, जहाँ tot_size एक विधि घोषणा से उत्पन्न C कोड के बाइट्स की कुल संख्या है, num वह संख्या है जितनी बार इस घोषणा से C कोड उत्पन्न हुआ (क्योंकि यह एक टेम्पलेट द्वारा विस्तारित किया गया था), और location घोषणा का स्रोत स्थान है।

बड़े tot_size और बड़े num वाली प्रविष्टि को विधि को shared घोषित करके कम किया जा सकता है; इससे आकार को num से लगभग विभाजित करना चाहिए। बड़े tot_size के साथ num = 1 वाली प्रविष्टि का आमतौर पर अर्थ है कि विधि एक #foreach या #select जैसे कंस्ट्रक्ट द्वारा प्रभुत्व है, और इसे लूप बॉडी को एक अलग विधि में तोड़कर, या लूप को किसी अन्य कंस्ट्रक्ट जैसे foreach में पुनर्कार्य करके कम किया जा सकता है।

ध्यान दें कि आँकड़े केवल विधि घोषणाओं से सीधे उत्पन्न कोड को शामिल करते हैं; कुल कोड आकार में बहुत कुछ और शामिल है। विधि घोषणाओं से एक मेगाबाइट कोड आकार आमतौर पर संकलन समय के कुछ सेकंड में योगदान देता है।

टूल डाउनलोड करें