प्रॉपर्टी स्पेसिफिकेशन लैंग्वेज: Difference between revisions

From Vigyanwiki
No edit summary
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
गुणधर्म विशिष्टता लैंग्वेज (पीएसएल) अभिव्यक्ति की आसानी और अभिव्यंजक शक्ति में वृद्धि दोनों के लिए ऑपरेटरों की एक श्रृंखला के साथ रैखिक अस्थायी तर्क का विस्तार करने वाला एक अस्थायी तर्क होता है। पीएसएल [[नियमित अभिव्यक्ति]] और सिंटैक्टिक शुगरिंग का व्यापक उपयोग करता है। यह हार्डवेयर डिज़ाइन और सत्यापन उद्योग में व्यापक रूप से उपयोग किया जाता है, जहाँ [[औपचारिक सत्यापन]] उपकरण जैसे मॉडल जाँच और तर्क सिमुलेशन उपकरण का उपयोग यह साबित करने या खंडन करने के लिए किया जाता है कि एक दिया गया पीएसएल फॉर्मूला किसी दिए गए डिज़ाइन पर टिका है।
गुणधर्म विशिष्टता लैंग्वेज (पीएसएल) अभिव्यक्ति की आसानी और अभिव्यंजक शक्ति में वृद्धि दोनों के लिए ऑपरेटरों की एक श्रृंखला के साथ रैखिक अस्थायी तर्क का विस्तार करने वाला एक अस्थायी तर्क होता है। पीएसएल [[नियमित अभिव्यक्ति]] और सिंटैक्टिक शुगरिंग का व्यापक उपयोग करता है। यह हार्डवेयर डिज़ाइन और सत्यापन उद्योग में व्यापक रूप से उपयोग किया जाता है, जहाँ [[औपचारिक सत्यापन]] उपकरण जैसे मॉडल जाँच और तर्क सिमुलेशन उपकरण का उपयोग यह साबित करने या खंडन करने के लिए किया जाता है कि एक दिया गया पीएसएल फॉर्मूला किसी दिए गए डिज़ाइन पर टिका है।


पीएसएल को प्रारंभ में [[एक्सेलेरा]] द्वारा हार्डवेयर डिजाइन के बारे में [[संपत्ति (दर्शन)|गुणों]] या अभिकथन (कंप्यूटिंग) को निर्दिष्ट करने के लिए विकसित किया गया था। सितंबर 2004 से [[IEEE|आईईईई]] 1850 वर्किंग ग्रुप में लैंग्वेज का [[मानकीकरण]] किया गया है। सितंबर 2005 में, गुणधर्म विशिष्टता लैंग्वेज (पीएसएल ) के लिए आईईईई 1850 मानक की घोषणा की गई है।
पीएसएल को प्रारंभ में [[एक्सेलेरा]] द्वारा हार्डवेयर डिजाइन के बारे में [[संपत्ति (दर्शन)|गुणों]] या अभिकथन (कंप्यूटिंग) को निर्दिष्ट करने के लिए विकसित किया गया था। सितंबर 2004 से [[IEEE|आईईईई]] 1850 वर्किंग ग्रुप में लैंग्वेज का [[मानकीकरण]] किया गया है। सितंबर 2005 में, गुणधर्म विशिष्टता लैंग्वेज (पीएसएल ) के लिए आईईईई 1850 मानक की घोषणा की गई है।


== सिंटेक्स और सिमेंटिक्स ==
== सिंटेक्स और सिमेंटिक्स ==


पीएसएल कह सकता है कि यदि अभी कुछ परिदृश्य होता है, तो कुछ समय बाद दूसरा परिदृश्य होना चाहिए। उदाहरण के लिए, गुणधर्म ए  {{mono|request}} हमेशा अंत में होना चाहिए {{mono|grant}}ed को पीएसएल सूत्र द्वारा व्यक्त किया जा सकता है:
पीएसएल कहता है कि यदि अभी कुछ परिदृश्य होता है, तो कुछ समय बाद दूसरा परिदृश्य होना चाहिए। उदाहरण के लिए गुणधर्म का अनुरोध सदैव अंत मेंदिया जाना चाहिए {{mono|स्वीकृत}} को पीएसएल सूत्र द्वारा व्यक्त किया जाता है,
<syntaxhighlight lang="text">  always (request -> eventually! grant)  
<syntaxhighlight lang="text">  always (request -> eventually! grant)
</syntaxhighlight>
</syntaxhighlight>
गुणधर्म हर  {{mono|request}} जिसके तुरंत बाद एक है {{mono|ack}} संकेत, एक पूर्ण द्वारा पीछा किया जाना चाहिए {{mono|data transfer}}, जहां एक पूर्ण डेटा स्थानांतरण सिग्नल से प्रारंभ  होने वाला अनुक्रम है {{mono|start}}, संकेत के साथ समाप्त {{mono|end}} जिसमें {{mono|busy}} धारण इस बीच पीएसएल सूत्र द्वारा व्यक्त किया जा सकता है:
गुणधर्म प्रत्येक {{mono|अनुरोध}} जिसके तुरंत बाद {{mono|एसीके}} संकेत है, एक पूर्ण डेटा स्थानांतरण के बाद किया जाना चाहिए, जहां एक पूर्ण डेटा स्थानांतरण एक अनुक्रम के रूप में, जो सिग्नल प्रारंभ से शुरू होता है, सिग्नल अंत के साथ समाप्त होता है जिसमें इस बीच व्यस्त रहता है" पीएसएल सूत्र द्वारा व्यक्त किया जा सकता है
<syntaxhighlight lang="text">  (true[*]; req; ack)  |=> (start; busy[*]; end) </syntaxhighlight>
<syntaxhighlight lang="text">  (true[*]; req; ack)  |=> (start; busy[*]; end) </syntaxhighlight>
इस सूत्र को संतुष्ट करने वाला एक निशान दाईं ओर की आकृति में दिया गया है।
इस सूत्र को संतुष्ट करने वाला एक निशान दाईं ओर की आकृति में दिखाया गया है।
[[File:The trigger operator - slide 1.jpg|thumb|एक साधारण ट्रेस संतोषजनक <syntaxhighlight lang="text">(true[*]; req; ack)  |=> (start; busy[*]; end)</syntaxhighlight>]]पीएसएल के टेम्पोरल ऑपरेटर्स को मोटे तौर पर LTL-स्टाइल ऑपरेटर्स और रेगुलर-एक्सप्रेशन-स्टाइल ऑपरेटर्स में वर्गीकृत किया जा सकता है। कई पीएसएल ऑपरेटर दो संस्करणों में आते हैं, एक मजबूत संस्करण, विस्मयादिबोधक चिह्न प्रत्यय ( {{mono|!}} ), और एक कमजोर संस्करण। मजबूत संस्करण संभावित आवश्यकताओं को बनाता है (अर्थात आवश्यकता है कि भविष्य में कुछ होगा), जबकि कमजोर संस्करण नहीं करता है। एक अंडरस्कोर प्रत्यय ( {{mono|_}} ) का उपयोग समावेशी बनाम गैर-समावेशी आवश्यकताओं में अंतर करने के लिए किया जाता है। वह  {{mono|_a}} और {{mono|_e}} प्रत्यय का उपयोग सार्वभौमिक (सभी) बनाम अस्तित्वगत (उपस्थित ) आवश्यकताओं को दर्शाने के लिए किया जाता है। त्रुटिहीन  समय विंडो द्वारा दर्शाया जाता है {{mono|[n]}} और द्वारा लचीला {{mono|[m..n]}}.
[[File:The trigger operator - slide 1.jpg|thumb|एक साहोल्ड ट्रेस संतोषजनक <syntaxhighlight lang="text">(true[*]; req; ack)  |=> (start; busy[*]; end)</syntaxhighlight>]]पीएसएल के अस्थायी ऑपरेटरों को मोटे तौर पर एलटीएल शैली ऑपरेटरों और नियमित अभिव्यक्ति शैली ऑपरेटरों में वर्गीकृत किया जा सकता है। कई पीएसएल ऑपरेटर दो संस्करणों में आते हैं एक विस्मयादिबोधक चिह्न प्रत्यय ( ! ) द्वारा इंगित एक मजबूत संस्करण और एक कमजोर संस्करण के रूप में होते है। मजबूत संस्करण संभावित आवश्यकताएँ बनाता है, अर्थात यह आवश्यक है कि भविष्य में कुछ होगा जबकि कमजोर संस्करण नहीं करता है। एक अंडरस्कोर प्रत्यय (_) का उपयोग समावेशी बनाम गैर-समावेशी आवश्यकताओं को अलग करने के लिए किया जाता है। _a और _e प्रत्यय का उपयोग सार्वभौमिक (सभी) बनाम अस्तित्वगत उपस्थित आवश्यकताओं को दर्शाने के लिए किया जाता है। सटीक समय विंडो को [n] और फ्लेक्सिबल को {{mono|[m..n]}}.से दर्शाया जाता है।


=== SERE- स्टाइल ऑपरेटर्स ===
=== सेरे - स्टाइल ऑपरेटर्स ===
 
सबसे अधिक उपयोग किया जाने वाला पीएसएल ऑपरेटर प्रत्यय-निहितार्थ ऑपरेटर होता है, जिसे ट्रिगर ऑपरेटर के रूप में भी जाना जाता है, जिसे {{mono|{{!}}{{=}}>}}.द्वारा दर्शाया जाता है। इसका बायाँ ऑपरेंड एक पीएसएल रेगुलर एक्सप्रेशन होता है और इसका राइट ऑपरेंड कोई भी पीएसएल फॉर्मूला होता है चाहे वह एलटीएल स्टाइल या रेगुलर एक्सप्रेशन स्टाइल में हो। का शब्दार्थ {{mono|r {{!}}{{=}}> p}} का शब्दार्थ यह है कि प्रत्येक समय बिंदु पर i पर ऐसा है कि समय का क्रम i तक इंगित करता है जो नियमित अभिव्यक्ति r से मेल खाता है, i+1 से पथ गुणधर्म पी को संतुष्ट करना चाहिए। यह दाईं ओर के आंकड़ों में उदाहरण के रूप में है।


सबसे अधिक उपयोग  किया जाने वाला पीएसएल ऑपरेटर प्रत्यय-निहितार्थ ऑपरेटर (ट्रिगर ऑपरेटर के रूप में भी जाना जाता है) है, जिसे इसके द्वारा दर्शाया जाता है {{mono|{{!}}{{=}}>}}. इसका बायाँ ऑपरेंड एक पीएसएल  रेगुलर एक्सप्रेशन है और इसका राइट ऑपरेंड कोई भी पीएसएल  फॉर्मूला है (चाहे वह LTL स्टाइल या रेगुलर एक्सप्रेशन स्टाइल में हो)। का शब्दार्थ {{mono|r {{!}}{{=}}> p}} यह है कि प्रत्येक समय बिंदु पर मैं ऐसा करता हूं कि समय के अनुक्रम तक मैं नियमित अभिव्यक्ति आर के लिए एक मैच का गठन करता हूं, i+1 से पथ गुणधर्म पी को संतुष्ट करना चाहिए। यह दाईं ओर के आंकड़ों में उदाहरण है।
[[File:The trigger operator - slide 2.jpg|thumb|पथ संतोषजनक आर दो गैर-अतिव्यापी तरीकों से पी ट्रिगर करता है]]
[[File:The trigger operator - slide 2.jpg|thumb|पथ संतोषजनक आर दो गैर-अतिव्यापी तरीकों से पी ट्रिगर करता है]]
[[File:The trigger operator - slide 3.jpg|thumb|पथ संतोषजनक r दो अतिव्यापी तरीकों से p को ट्रिगर करता है]]
[[File:The trigger operator - slide 3.jpg|thumb|पथ संतोषजनक r दो अतिव्यापी तरीकों से p को ट्रिगर करता है]]
[[File:The trigger operator - slide 4.jpg|thumb|पथ संतोषजनक r तीन तरह से p को ट्रिगर करता है]]पीएसएल के रेगुलर एक्सप्रेशंस में संयोजन के लिए सामान्य ऑपरेटर हैं ({{mono|;}}), सफाई-बंद ({{mono|*}}), और संघ ({{mono|{{!}}}}), साथ ही फ्यूजन के लिए ऑपरेटर ({{mono|:}}), चौराहा ({{mono|&&}}) और कमजोर संस्करण ({{mono|&}}), और निरंतर गिनती के लिए कई विविधताएं {{mono|[*n]}} और निरंतर गिनती उदा। {{mono|[{{=}}n]}} और {{mono|[->n]}}.
[[File:The trigger operator - slide 4.jpg|thumb|पथ संतोषजनक r तीन तरह से p को ट्रिगर करता है]]पीएसएल के रेगुलर एक्सप्रेशंस में संयोजन के लिए सामान्य ऑपरेटर हैं ({{mono|;}}), क्लीने क्लोसर ({{mono|*}}), और संघ ({{mono|{{!}}}}), साथ ही फ्यूजन के लिए ऑपरेटर ({{mono|:}}), प्रतिछेदन ({{mono|&&}}) और कमजोर संस्करण ({{mono|&}}) और निरंतर गिनती के लिए कई विविधताएं {{mono|[*n]}} और निरंतर गिनती के रूप में एक उदाहरण इस प्रकार है {{mono|[{{=}}n]}} और {{mono|[->n]}}.


ट्रिगर ऑपरेटर नीचे दी गई तालिका में दिखाए गए कई रूपों में आता है।
ट्रिगर ऑपरेटर नीचे दी गई तालिका में दिखाए गए कई रूपों में आता है।


यहाँ {{mono|s}} और {{mono|t}} पीएसएल-रेगुलर एक्सप्रेशन हैं, और {{mono|p}} एक पीएसएल सूत्र है।  
यहाँ {{mono|s}} और {{mono|t}} पीएसएल रेगुलर एक्सप्रेशन हैं और {{mono|पी}} एक पीएसएल सूत्र के रूप में होता है।  
{| class="wikitable"
{| class="wikitable"
| <syntaxhighlight lang="text"> s |=> t! </syntaxhighlight>  
| <syntaxhighlight lang="text"> s |=> t! </syntaxhighlight>  
| if there is a match of s, then there is a match of t on the suffix of the trace,
| यदि s का मेल है, तो ट्रेस के प्रत्यय पर t का मेल है।
*t starts the cycle after s ends,
 
*the match of t must reach to its end
* s समाप्त होने के बाद t चक्र शुरू करता है।
* टी का मैच अपने अंत तक पहुंचना चाहिए।
|-
|-
| <syntaxhighlight lang="text"> s |-> t! </syntaxhighlight>  
| <syntaxhighlight lang="text"> s |-> t! </syntaxhighlight>  
| if there is a match of s, then there is a match of t on the suffix of the trace,
| यदि s का मेल है, तो ट्रेस के प्रत्यय पर t का मेल है।
*t starts the same cycle that s ends,
 
*the match of t must reach to its end
* t उसी चक्र को प्रारंभ करता है जो s समाप्त होता है।
* टी का मैच अपने अंत तक पहुंचना चाहिए।
|-
|-
| <syntaxhighlight lang="text"> s |=> t </syntaxhighlight>  
| <syntaxhighlight lang="text"> s |=> t </syntaxhighlight>  
| if there is a match of s, then there is a match of t on the suffix of the trace,
| यदि s का मेल है, तो ट्रेस के प्रत्यय पर t का मेल है।
*t starts the cycle after s ends,
 
*the match of t may "get stuck" in the middle
* s समाप्त होने के बाद t चक्र शुरू करता है।
* टी का मैच बीच में "अटक" सकता है।
|-
|-
| <syntaxhighlight lang="text"> s |-> t </syntaxhighlight>  
| <syntaxhighlight lang="text"> s |-> t </syntaxhighlight>  
| if there is a match of s, then there is a match of t on the suffix of the trace,
| यदि s का मेल है, तो ट्रेस के प्रत्यय पर t का मेल है।
*t starts the same cycle that s ends,
 
*the match of t may "get stuck" in the middle
* t उसी चक्र को प्रारंभ करता है जो s समाप्त होता है।
* टी का मैच बीच में "अटक" सकता है।
|-
|-
|}
|}
संयोजन, संलयन, संघ, प्रतिच्छेदन और उनकी विविधताओं के लिए संचालक नीचे दी गई तालिका में दिखाए गए हैं।
संयोजन, संलयन, संघ, प्रतिच्छेदन और उनकी विविधताओं के लिए ऑपरेटर नीचे दी गई तालिका में दिखाए गए हैं।


यहाँ {{mono|s}} और {{mono|t}} पीएसएल रेगुलर एक्सप्रेशन हैं।
यहाँ {{mono|s}} और {{mono|t}} पीएसएल रेगुलर एक्सप्रेशन के रूप में हैं।
{| class="wikitable"
{| class="wikitable"
| <code> s ; t </code>  
| <code> s ; t </code>  
| match of s followed by a match of t, t starts the cycle after s ends
| s के मिलान के बाद t का मिलान, s समाप्त होने के बाद t चक्र शुरू करता है
|-
|-
| <code>s : t </code>  
| <code>s : t </code>  
| match of s followed by a match of t, t starts the same cycle that s ends
| s के मैच के बाद t का मैच, t उसी चक्र को शुरू करता है जो s समाप्त होता है
|-
|-
| <syntaxhighlight lang="text" inline>s | t </syntaxhighlight>  
| <syntaxhighlight lang="text" inline>s | t </syntaxhighlight>  
| match of s or match of t
| एस का मैच या टी का मैच है
|-
|-
| <code>s && t </code>  
| <code>s && t </code>  
| match of s and match of t, duration of both is of same length
| एस का मैच और टी का मैच, दोनों की अवधि समान लंबाई की है
|-
|-
| <code>s & t </code>  
| <code>s & t </code>  
| match of s and match of t, duration matches maybe different
| एस का मैच और टी का मैच, अवधि मैच शायद अलग होते है
|-
|-
| <code> s within t </code>  
| <code> s within t </code>  
| match of s within a match of t, abbreviation of ([*]; s; [*]) && t
| टी के मैच के भीतर एस का मैच, ([*]; s; [*]) && t का संक्षिप्त नाम है
|-
|-
|}
|}
नीचे दी गई तालिका में निरंतर दोहराव के लिए ऑपरेटरों को दिखाया गया है।
नीचे दी गई तालिका में निरंतर दोहराव के लिए ऑपरेटरों को दिखाया गया है।


यहाँ {{mono|s}} एक पीएसएल रेगुलर एक्सप्रेशन है।
यहाँ {{mono|s}} एक पीएसएल रेगुलर एक्सप्रेशन के रूप में है।
  {| class="wikitable"
  {| class="wikitable"
| <code> s[*i] </code>  
| <code> s[*i]</code>
| i consecutive repetitions of s
| आई एस की लगातार पुनरावृत्ति है
|-
|-
| <code> s[*i..j] </code>  
| <code> s[*i..j] </code>  
| between i to j consecutive repetitions of s
| i से j के बीच s का लगातार दोहराव है
|-
|-
| <code> s[*i..] </code>  
| <code> s[*i..] </code>  
| at least i to consecutive repetitions of s
| कम से कम आईएस की लगातार पुनरावृत्ति होती है
|-
|-
| <code> s[*] </code>  
| <code> s[*] </code>  
| zero or more consecutive repetitions of s
| एस के शून्य या अधिक लगातार दोहराव के रूप में है
|-
|-
| <code> s[+] </code>  
| <code> s[+] </code>  
| one or more consecutive repetitions of s
| एस के एक या अधिक लगातार दोहराव होता है
|-
|-
|}
|}
नीचे दी गई तालिका में गैर-निरंतर दोहराव के लिए ऑपरेटरों को दिखाया गया है।
नीचे दी गई तालिका में गैर-निरंतर दोहराव के लिए ऑपरेटरों को दिखाया गया है।


यहाँ {{mono|b}} कोई भी पीएसएल बूलियन व्यंजक है।
यहाँ {{mono|b}} कोई भी पीएसएल बूलियन व्यंजक है।
  {| class="wikitable"
  {| class="wikitable"
| <code> b[=i] </code>  
| <code> b[=i] </code>  
| i not necessarily consecutive repetitions of b,
| आई जरूरी नहीं कि बी की लगातार पुनरावृत्ति हो 
*equivalent to (!b[*];b)[*i]; !b[*]
*के बराबर (!b[*];b)[*i]; !b[*] है
|-
|-
| <syntaxhighlight lang="text" inline> b[=i..j] </syntaxhighlight>  
| <syntaxhighlight lang="text" inline> b[=i..j] </syntaxhighlight>  
| at least i and no more than j not necessarily consecutive repetitions of b,  
| कम से कम i और j से अधिक नहीं जरूरी नहीं कि लगातार b की पुनरावृत्ति हो,  
*equivalent to (!b[*];b)[*i..j]; !b[*]
*equivalent to (!b[*];b)[*i..j]; !b[*] है
|-
|-
| <code> b[=i..] </code>  
| <code> b[=i..] </code>  
| at least i not necessarily consecutive repetitions of b,
| कम से कम मैं जरूरी नहीं कि बी की लगातार पुनरावृत्ति हो
*equivalent to (!b[*];b)[*i..]; !b[*]
*के बराबर (!b[*];b)[*i..]; !b[*] है
|-
|-
| <syntaxhighlight lang="text" inline> b[->m] </syntaxhighlight>  
| <syntaxhighlight lang="text" inline> b[->m] </syntaxhighlight>  
| m not necessarily consecutive repetitions of b ending with b,  
| एम आवश्यक रूप से बी के साथ समाप्त होने वाले बी की लगातार पुनरावृत्ति नहीं है,  
*equivalent to (!b[*];b)[*m]
*के बराबर (!b[*];b)[*m] है
|-
|-
| <code> b[->m:n] </code>  
| <code> b[->m:n] </code>  
| at least m and no more than n not necessarily consecutive repetitions of b ending with b,  
| कम से कम m और n से अधिक नहीं आवश्यक रूप से b के साथ समाप्त होने वाले b का लगातार दोहराव नहीं है,  
*equivalent to (!b[*];b)[*m..n]
*के बराबर (!b[*];b)[*m..n] है
|-
|-
| <code> b[->m..] </code>  
| <code> b[->m..] </code>  
| at least m not necessarily consecutive repetitions of b ending with b,  
| कम से कम m अनिवार्य रूप से b के साथ समाप्त होने वाले b की लगातार पुनरावृत्ति नहीं है,  
*equivalent to (!b[*];b)[*m..]; !b[*]
*के बराबर (!b[*];b)[*m..]; !b[*] है
|-
|-
| <code> b[->] </code>  
| <code> b[->] </code>  
| shortcut for b[->1],  
| शॉर्टकट के लिए b[->1], है
*equivalent to (!b[*];b)
*के बराबर (!b[*];b) है
|-
|-
|}
|}
Line 130: Line 135:
{| class="wikitable"
{| class="wikitable"
| {{code|always p}}
| {{code|always p}}
| property p holds on every time point
| गुणधर्म पी प्रत्येक समय बिंदु पर पकड़ बनाये रखती है
|-
|-
| {{code|never p}}
| {{code|never p}}
| property p does not hold on any time point
| गुणधर्म पी किसी भी समय बिंदु पर पकड़ नहीं बनाती है
|-
|-
| {{code|eventually! p}}
| {{code|eventually! p}}
| there exists a future time point where p holds
| वहाँ एक भविष्य समय बिंदु मौजूद है जहाँ p होल्ड करता है
|-
|-
| {{code|next! p}}
| {{code|next! p}}
| there exists a next time point, and p holds on this point
| वहाँ एक अगली बार बिंदु उपस्थित है और p इस बिंदु पर कायम है
|-
|-
| {{code|next p}}
| {{code|next p}}
| if there exists a next time point, then p holds on this point
| यदि कोई अगली बार बिंदु उपस्थित है, तो p इस बिंदु पर रहता है
|-
|-
| {{code|next![n] p}}
| {{code|next![n] p}}
| there exists an n-th time point, and p holds on this point
| एक n-वाँ समय बिंदु उपस्थित है और p इस बिंदु पर कायम है
|-
|-
| {{code|next[n] p}}
| {{code|next[n] p}}
| if there exists an n-th time point, then p holds on this point
| यदि कोई n-वाँ समय बिंदु उपस्थित है, तो p इस बिंदु पर रहता है
|-
|-
| {{code|next_e![m..n] p}}
| {{code|next_e![m..n] p}}
| there exists a time point, within m-th to n-th from the current where p holds.
| जहां पी होल्ड करता है, वहां से एम-वें से एन-वें के भीतर एक समय बिंदु उपस्थित है।
|-
|-
| {{code|next_e[m..n] p}}
| {{code|next_e[m..n] p}}
| if there exists at least n-th time points, then p holds on one of the m-th to n-th points.
| यदि कम से कम n-वें समय बिंदु उपस्थित हैं, तो p m-वें से n-वें बिंदुओं में से एक पर रहता है।
|-
|-
| {{code|next_a![m..n] p}}
| {{code|next_a![m..n] p}}
| there exists at least n more time points and p holds in all the time points between the m-th to the n-th, inclusive.
| m-वें से n-वें सहित, सभी समय बिंदुओं में कम से कम n और समय बिंदु मौजूद हैं और p होल्ड करता है।
|-
|-
| {{code|next_a[m..n] p}}
| {{code|next_a[m..n] p}}
| p holds on all the next m-th through n-th time points, however many exist
| पी अगले सभी एम-वें से एन-वें समय बिंदुओं पर कायम रहता है, चूँकि कई उपस्थित हैं
|-
|-
| {{code|p until! q}}
| {{code|p until! q}}
| there exists a time point where q holds, and p hold up until that time point
| वहाँ एक समय बिंदु मौजूद है जहाँ q होल्ड करता है और p उस समय बिंदु तक रुकता है
|-
|-
| {{code|p until q}}
| {{code|p until q}}
| p holds up until a time point where q hold, if such exists
| p उस समय बिंदु तक टिका रहता है जहाँ q होल्ड करता है, यदि ऐसा उपस्थित है
|-
|-
| {{code|p until!_ q}}
| {{code|p until!_ q}}
| there exists a time point where q holds, and p holds up until that time point and in that time point
| वहाँ एक समय बिंदु उपस्थित है जहाँ q होल्ड करता है, और p उस समय बिंदु तक और उस समय बिंदु तक बना रहता है
|-
|-
| {{code|p until_ q}}
| {{code|p until_ q}}
| p holds up until a time point where q holds, and in that time point, if such exists
| p उस समय बिंदु तक रुकता है जहाँ q होल्ड करता है, और उस समय बिंदु में, यदि ऐसा उपस्थित है
|-
|-
| {{code|p before! q}}
| {{code|p before! q}}
| p holds strictly before the time point where q holds, and p eventually holds
| p उस समय बिंदु से पहले सख्ती से पकड़ रखता है जहाँ q होल्ड करता है, और p अंततः होल्ड करता है
|-
|-
| {{code|p before q}}
| {{code|p before q}}
| p holds strictly before the time point where q holds, if p never holds, then neither does q
| p सख्ती से उस समय बिंदु से पहले रखता है जहाँ q होल्ड करता है, यदि p कभी भी होल्ड नहीं करता है, तो q भी नहीं करता है
|-
|-
| {{code|p before!_ q}}
| {{code|p before!_ q}}
| p holds before or at the same time point where q holds, and p eventually holds
| p पहले या उसी समय बिंदु पर रखता है जहाँ q होल्ड करता है, और p अंततः होल्ड करता है
|-
|-
| {{code|p before_ q}}
| {{code|p before_ q}}
| p holds before or at the same time point where q holds, if p never holds, then neither does q
| p पहले या उसी समय बिंदु पर रखता है जहाँ q होल्ड करता है, यदि p होल्ड नहीं करता है, तो q भी होल्ड नही करता है
|-
|-
|}
|}
Line 191: Line 196:
=== सैंपलिंग ऑपरेटर ===
=== सैंपलिंग ऑपरेटर ===


कभी-कभी अगली बार-बिंदु की परिलैंग्वेज को बदलना वांछनीय होता है, उदाहरण के लिए बहु-घड़ी वाली डिज़ाइनों में, या जब उच्च स्तर की अमूर्तता वांछित होती है। सैंपलिंग ऑपरेटर (क्लॉक ऑपरेटर के रूप में भी जाना जाता है), निरूपित {{mono|@}}, इस प्रयोजन के लिए प्रयोग किया जाता है। सूत्र {{mono| p @ c }} कहाँ {{mono| p}} एक पीएसएल फॉर्मूला है और {{mono|c}} एक पीएसएल बूलियन एक्सप्रेशंस दिए गए पथ पर होल्ड करता है यदि {{mono| p}} उस पथ पर प्रक्षेपित चक्रों पर जिसमें {{mono| c}} धारण करता है, जैसा कि दाईं ओर के आंकड़ों में दिखाया गया है।
कभी-कभी अगली बार-बिंदु की परिलैंग्वेज को बदलना वांछनीय होता है, उदाहरण के लिए बहु-घड़ी वाली डिज़ाइनों में या जब उच्च स्तर की अमूर्तता वांछित होती है। सैंपलिंग ऑपरेटर जिसे क्लॉक ऑपरेटर के रूप में भी जाना जाता है, जिसका अर्थ {{mono|@}}, इस प्रयोजन के लिए प्रयोग किया जाता है। सूत्र {{mono| p @ c }} जहां {{mono|पी}} एक पीएसएल फॉर्मूला है और {{mono|c}} एक पीएसएल बूलियन एक्सप्रेशंस दिए गए पथ पर होल्ड करता है यदि p उस पथ पर उन चक्रों पर प्रक्षेपित होता है जिसमें c दाईं ओर के आंकड़ों में उदाहरण के रूप में होता है।
  [[File:Need for multiple clocks.jpg|thumb|पथ और सूत्र एक नमूनाकरण ऑपरेटर की आवश्यकता दिखा रहा है]]पहली गुणधर्म बताती है कि हर {{mono|request}} जिसके तुरंत बाद एक है  {{mono|ack}} संकेत, एक पूर्ण द्वारा पीछा किया जाना चाहिए {{mono|data transfer}}, जहां एक पूर्ण डेटा स्थानांतरण सिग्नल से प्रारंभ होने वाला अनुक्रम है {{mono|start}}, संकेत के साथ समाप्त {{mono|end}} जिसमें {{mono|data}} कम से कम 8 बार रुकना चाहिए:
  [[File:Need for multiple clocks.jpg|thumb|पथ और सूत्र एक नमूनाकरण ऑपरेटर की आवश्यकता दिखा रहा है]]पहली गुणधर्म बताती है कि हर {{mono|अनुरोध}} {{mono|एसीके}} संकेत, के तुरंत बाद आने वाले प्रत्येक अनुरोध को एक पूर्ण डेटा ट्रांसफर के बाद किया जाना चाहिए, जहां एक पूर्ण डेटा स्थानांतरण सिग्नल से प्रारंभ होने वाला अनुक्रम है जो सिग्नल के अंत से शुरू होता है जिसमें डेटा कम से कम 8 बार होना चाहिए
<syntaxhighlight lang="text">  (true[*]; req; ack)  |=> (start; data[=8]; end) </syntaxhighlight>
<syntaxhighlight lang="text">  (true[*]; req; ack)  |=> (start; data[=8]; end) </syntaxhighlight>
लेकिन कभी-कभी केवल उन स्थितियों पर विचार करना वांछित होता है जहां उपरोक्त संकेत एक चक्र पर होते हैं जहां {{mono|clk}} उच्च है।
लेकिन कभी-कभी केवल उन स्थितियों पर विचार करना वांछित होता है, जहां उपरोक्त संकेत एक चक्र पर होते हैं जहां {{mono|सीएलक}} उच्च है। इसे दूसरे अंक में दर्शाया गया है, यद्यपि यह सूत्र में दर्शाया गया है।
यह दूसरे चित्र में दर्शाया गया है जिसमें चूंकि  सूत्र
<syntaxhighlight lang="text">  ((true[*]; req; ack)  |=> (start; data[*3]; end)) @ clk </syntaxhighlight>
<syntaxhighlight lang="text">  ((true[*]; req; ack)  |=> (start; data[*3]; end)) @ clk </syntaxhighlight>
उपयोग {{mono|data[*3]}} और {{mono|[*n]}} निरंतर दोहराव है, मिलान ट्रेस में 3 गैर-निरंतर  समय बिंदु होते हैं {{mono|data}} धारण करता है, लेकिन जब केवल समय बिंदुओं पर विचार किया जाता है {{mono|clk}} धारण करता है, समय बिंदु कहाँ है {{mono|data}} निरंतर  होल्ड करें।
डेटा का उपयोग करता है [*3] और {{mono|[*n]}} निरंतर दोहराव होता है, मिलान ट्रेस में 3 गैर-लगातार समय बिंदु होते हैं जहां डेटा होल्ड होता है, लेकिन जब केवल उन समय बिंदुओं पर विचार किया जाता है, तो समय बिंदु जहां डेटा होल्ड लगातार होता है।
  [[File:Multiple clocks.jpg|thumb|सैंपलिंग ऑपरेटर @ का प्रभाव दिखाने वाला पथ और सूत्र]]नेस्टेड @ वाले सूत्रों का शब्दार्थ थोड़ा सूक्ष्म है। इच्छुक पाठक [2] को संदर्भित करता है।
  [[File:Multiple clocks.jpg|thumb|सैंपलिंग ऑपरेटर @ का प्रभाव दिखाने वाला पथ और सूत्र]]नेस्टेड @ वाले सूत्रों का शब्दार्थ थोड़ा सूक्ष्म है। इच्छुक पाठक [2] को संदर्भित करता है।


=== ऑपरेटरों को छोड़ें ===
=== ऑपरेटरों को छोड़ें ===


पीएसएल के पास काटे गए रास्तों से निपटने के लिए कई ऑपरेटर हैं (परिमित पथ जो संगणना के एक उपसर्ग के अनुरूप हो सकते हैं)। काटे गए पथ रीसेट और कई अन्य परिदृश्यों के कारण बाउंडेड-मॉडल जाँच में होते हैं। एबॉर्ट ऑपरेटर निर्दिष्ट करते हैं कि किसी पथ को छोटा किए जाने पर संभावित घटनाओं से कैसे निपटा जाए। वे [1] में प्रस्तावित संक्षिप्त शब्दार्थ पर भरोसा करते हैं।
पीएसएल के पास काटे गए रास्तों से निपटने के लिए कई ऑपरेटर हैं, परिमित पथ जो संगणना के एक उपसर्ग के अनुरूप हो सकते हैं। काटे गए पथ रीसेट और कई अन्य परिदृश्यों के कारण बाउंडेड-मॉडल जाँच में होते हैं। एबॉर्ट ऑपरेटर निर्दिष्ट करते हैं कि किसी पथ को छोटा किए जाने पर संभावित घटनाओं से कैसे निपटा जाए। वे [1] में प्रस्तावित संक्षिप्त शब्दार्थ पर भरोसा करते हैं।


यहाँ {{mono|p}} कोई पीएसएल फॉर्मूला है और {{mono|b}} कोई भी पीएसएल बूलियन व्यंजक है।
यहाँ {{mono|p}} कोई पीएसएल फॉर्मूला है और {{mono|b}} कोई भी पीएसएल बूलियन व्यंजक के रूप में होता है।
  {| class="wikitable"
  {| class="wikitable"
| <code> p async_abort b </code>  
| <code> p async_abort b </code>  
| either p holds or p does not fail up until b holds;
| या तो p धारण करता है या p तब तक विफल नहीं होता जब तक b धारण नहीं करता है।


* b recognized asynchronously
* b अतुल्यकालिक रूप से पहचाना गया है।
|-
|-
| <code> p sync_abort b </code>  
| <code> p sync_abort b </code>  
| either p holds or p does not fail up until b holds;
| या तो p धारण करता है या p तब तक विफल नहीं होता जब तक b धारण नहीं करता है।


* b recognized synchronously
* b समकालिक रूप से पहचाना गया है।
|-
|-
| <code> p abort b </code>  
| <code> p abort b </code>  
| equivalent to p async_abort b
| पी के बराबर async_abort b है।
|-
|-
|}
|}
Line 223: Line 227:


=== अभिव्यंजक शक्ति ===
=== अभिव्यंजक शक्ति ===
पीएसएल टेम्पोरल लॉजिक लीनियर टेम्पोरल लॉजिक को समाहित करता है और अपनी अभिव्यंजक शक्ति को ओमेगा-नियमित भाषाओं तक बढ़ाता है। एलटीएल की तुलना में अभिव्यंजक शक्ति में वृद्धि, जिसमें स्टार-मुक्त ω-नियमित अभिव्यक्तियों की अभिव्यंजक शक्ति होती है, को प्रत्यय निहितार्थ के लिए जिम्मेदार ठहराया जा सकता है, जिसे ट्रिगर्स ऑपरेटर के रूप में भी जाना जाता है, जिसे |-> दर्शाया गया है। सूत्र r |-> f जहां r एक रेगुलर एक्सप्रेशन है और f एक टेम्पोरल लॉजिक फॉर्मूला है जो गणना w पर टिका रहता है यदि w मैचिंग r के किसी भी उपसर्ग में निरंतर संतोषजनक f है। पीएसएल के अन्य गैर-एलटीएल ऑपरेटर हैं @ ऑपरेटर, मल्टी-क्लॉक्ड डिज़ाइन निर्दिष्ट करने के लिए, एबॉर्ट ऑपरेटर, हार्डवेयर रीसेट से निपटने के लिए, और संक्षिप्तता के लिए स्थानीय चर।
पीएसएल लौकिक तर्क एलटीएल को समाहित करता है और इसकी अभिव्यंजक शक्ति को ओमेगा नियमित लैंग्वेजो तक बढ़ाता है। एलटीएल की तुलना में अभिव्यंजक शक्ति में वृद्धि, जिसमें स्टार मुक्त ω की अभिव्यंजक शक्ति होती है, नियमित अभिव्यक्तियों को प्रत्यय निहितार्थ के लिए जिम्मेदार ठहराया जा सकता है, जिसे ट्रिगर्स ऑपरेटर के रूप में भी जाना जाता है जिसे "|->" दर्शाया गया है। सूत्र r |-> f जहां r एक रेगुलर एक्सप्रेशन के रूप में होते है और f एक टेम्पोरल लॉजिक फॉर्मूला होता है जो गणना w पर टिका रहता है यदि w मैचिंग r के किसी भी उपसर्ग में निरंतर संतोषजनक f होता है। पीएसएल के अन्य गैर एलटीएल ऑपरेटर मल्टीपल क्लॉक्ड डिजाइनों को निर्दिष्ट करने के लिए @ ऑपरेटरहोते है, संक्षिप्तता के लिए हार्डवेयर रीसेट और स्थानीय चर से निपटने के लिए स्थानीय चर होते है।


=== परतें ===
=== परतें ===
पीएसएल को 4 परतों में परिभाषित किया गया है: बूलियन परत, टेम्पोरल परत, मॉडलिंग परत और सत्यापन परत।
पीएसएल को 4 परतों में परिभाषित किया गया है, बूलियन परत, टेम्पोरल परत, मॉडलिंग परत और सत्यापन परत के रूप में होते है।
*बूलियन परत का उपयोग डिजाइन की वर्तमान स्थिति का वर्णन करने के लिए किया जाता है और उपर्युक्त एचडीएल में से किसी एक का उपयोग करके इसका वर्णन किया जाता है।
*बूलियन परत का उपयोग डिजाइन की वर्तमान स्थिति का वर्णन करने के लिए किया जाता है और उपर्युक्त एचडीएल में से किसी एक का उपयोग करके इसका वर्णन किया जाता है।
* टेम्पोरल लेयर में टेम्पोरल ऑपरेटर्स होते हैं जिनका उपयोग उन परिदृश्यों का वर्णन करने के लिए किया जाता है जो समय के साथ विस्तारित होते हैं (संभवतः समय इकाइयों की असीमित संख्या में)।
* टेम्पोरल लेयर में टेम्पोरल ऑपरेटर्स होते हैं जिनका उपयोग उन परिदृश्यों का वर्णन करने के लिए किया जाता है जो समय के साथ विस्तारित होते हैं, संभवतः समय इकाइयों की असीमित संख्या में होते है।
* मॉडलिंग परत का उपयोग प्रक्रियात्मक विधियों से सहायक राज्य मशीनों का वर्णन करने के लिए किया जा सकता है।
* मॉडलिंग परत का उपयोग प्रक्रियात्मक विधियों से सहायक राज्य मशीनों का वर्णन करने के लिए किया जाता है।
*सत्यापन परत में एक सत्यापन उपकरण के लिए निर्देश होते हैं (उदाहरण के लिए यह प्रमाणित करने के लिए कि दी गई गुणधर्म सही है या यह मानने के लिए कि गुणों का एक निश्चित सेट गुणों के दूसरे सेट की पुष्टि करते समय सही है)।
*सत्यापन परत में एक सत्यापन उपकरण के लिए निर्देश होते हैं, उदाहरण के लिए यह प्रमाणित करने के लिए कि दी गई गुणधर्म सही है यह मानने के लिए कि गुणों का एक निश्चित सेट गुणों के दूसरे सेट की पुष्टि करते समय सही है।


=== लैंग्वेज अनुकूलता ===
=== लैंग्वेज अनुकूलता ===
गुणधर्म विशिष्टता लैंग्वेज का उपयोग कई इलेक्ट्रॉनिक सिस्टम डिज़ाइन भाषाओं (HDL) के साथ किया जा सकता है जैसे:
गुणधर्म विशिष्टता लैंग्वेज का उपयोग कई इलेक्ट्रॉनिक प्रणाली डिज़ाइन लैंग्वेजो (एचडीएल) के साथ किया जा सकता है जैसे
* [[वीएचडीएल]] (आईईईई 1076)
* [[वीएचडीएल]] (आईईईई 1076)
* [[ Verilog ]] (आईईईई 1364)
* [[ Verilog | Verilog]] (आईईईई 1364)
* [[सिस्टम वेरिलॉग]] (आईईईई 1800)
* [[सिस्टम वेरिलॉग|प्रणाली वेरिलॉग]] (आईईईई 1800)
* सिस्टमसी (आईईईई 1666) [[ओपन [[सिस्टम सी]] पहल]] द्वारा। ओपन सिस्टमसी इनिशिएटिव (ओएससीआई)।
* सिस्टमसी (आईईईई 1666) ओपन [[सिस्टमसी]] इनिशिएटिव ओएससीआई द्वारा।
जब पीएसएल का उपयोग उपरोक्त HDL में से किसी एक के साथ किया जाता है, तो इसकी बूलियन परत संबंधित HDL के ऑपरेटरों का उपयोग करती है।
जब पीएसएल का उपयोग उपरोक्त एचडीएल में से किसी एक के साथ किया जाता है, तो इसकी बूलियन परत संबंधित एचडीएल के ऑपरेटरों का उपयोग करती है।


==संदर्भ==
==संदर्भ==
Line 250: Line 254:


==बाहरी संबंध==
==बाहरी संबंध==
* [http://www.eda.org/ieee-1850 आईईईई 1850 working group]
* [http://www.eda.org/ieee-1850 आईईईई 1850 working group]
* [http://standards.ieee.org/announcements/pr_1850psl.html आईईईई Announcement September 2005]
* [http://standards.ieee.org/announcements/pr_1850psl.html आईईईई Announcement September 2005]
* [http://www.accellera.org/ Accellera]
* [http://www.accellera.org/ Accellera]
* [http://www.project-veripage.com/psl_tutorial_1.php Property Specification Language Tutorial]
* [http://www.project-veripage.com/psl_tutorial_1.php Property Specification Language Tutorial]
Line 261: Line 265:
=== पीएसएल पर किताबें ===
=== पीएसएल पर किताबें ===
* [http://www.systemverilog.us/psl_info.html यूजिंग पीएसएल/शुगर फॉर फॉर्मल एंड डायनामिक वेरिफिकेशन 2रा संस्करण, बेन कोहेन, अजीता कुमारी, श्रीनिवासन वेंकटरमनन]
* [http://www.systemverilog.us/psl_info.html यूजिंग पीएसएल/शुगर फॉर फॉर्मल एंड डायनामिक वेरिफिकेशन 2रा संस्करण, बेन कोहेन, अजीता कुमारी, श्रीनिवासन वेंकटरमनन]
* [https://www.springer.com/engineering/circuits+%26+systems/book/978-0-387-35313-5 पीएसएल का व्यावहारिक परिचय, सिंडी आइजनर, डाना फिशमैन]
* [https://www.springer.com/engineering/circuits+%26+systems/book/978-0-387-35313-5 पीएसएल का व्यावहारिक परिचय, सिंडी आइजनर, डाना फिशमैन]


{{Programmable Logic}}
{{Programmable Logic}}
Line 268: Line 272:
श्रेणी:हार्डवेयर सत्यापन भाषाएं
श्रेणी:हार्डवेयर सत्यापन भाषाएं
श्रेणी:औपचारिक विनिर्देश भाषाएँ
श्रेणी:औपचारिक विनिर्देश भाषाएँ
श्रेणी:आईईईई DASC मानक
श्रेणी:आईईईई DASC मानक
श्रेणी:आईईसी मानक
श्रेणी:आईईसी मानक


 
[[Category:Collapse templates]]
[[Category: Machine Translated Page]]
[[Category:Created On 02/03/2023]]
[[Category:Created On 02/03/2023]]
[[Category:Machine Translated Page]]
[[Category:Navigational boxes| ]]
[[Category:Navigational boxes without horizontal lists]]
[[Category:Pages with script errors]]
[[Category:Sidebars with styles needing conversion]]
[[Category:Template documentation pages|Documentation/doc]]
[[Category:Templates Vigyan Ready]]
[[Category:Templates generating microformats]]
[[Category:Templates that are not mobile friendly]]
[[Category:Templates using TemplateData]]
[[Category:Wikipedia metatemplates]]

Latest revision as of 15:24, 7 November 2023

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

पीएसएल को प्रारंभ में एक्सेलेरा द्वारा हार्डवेयर डिजाइन के बारे में गुणों या अभिकथन (कंप्यूटिंग) को निर्दिष्ट करने के लिए विकसित किया गया था। सितंबर 2004 से आईईईई 1850 वर्किंग ग्रुप में लैंग्वेज का मानकीकरण किया गया है। सितंबर 2005 में, गुणधर्म विशिष्टता लैंग्वेज (पीएसएल ) के लिए आईईईई 1850 मानक की घोषणा की गई है।

सिंटेक्स और सिमेंटिक्स

पीएसएल कहता है कि यदि अभी कुछ परिदृश्य होता है, तो कुछ समय बाद दूसरा परिदृश्य होना चाहिए। उदाहरण के लिए गुणधर्म का अनुरोध सदैव अंत मेंदिया जाना चाहिए स्वीकृत को पीएसएल सूत्र द्वारा व्यक्त किया जाता है,

  always (request -> eventually! grant)

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

  (true[*]; req; ack)  |=> (start; busy[*]; end)

इस सूत्र को संतुष्ट करने वाला एक निशान दाईं ओर की आकृति में दिखाया गया है।

एक साहोल्ड ट्रेस संतोषजनक
(true[*]; req; ack)  |=> (start; busy[*]; end)

पीएसएल के अस्थायी ऑपरेटरों को मोटे तौर पर एलटीएल शैली ऑपरेटरों और नियमित अभिव्यक्ति शैली ऑपरेटरों में वर्गीकृत किया जा सकता है। कई पीएसएल ऑपरेटर दो संस्करणों में आते हैं एक विस्मयादिबोधक चिह्न प्रत्यय ( ! ) द्वारा इंगित एक मजबूत संस्करण और एक कमजोर संस्करण के रूप में होते है। मजबूत संस्करण संभावित आवश्यकताएँ बनाता है, अर्थात यह आवश्यक है कि भविष्य में कुछ होगा जबकि कमजोर संस्करण नहीं करता है। एक अंडरस्कोर प्रत्यय (_) का उपयोग समावेशी बनाम गैर-समावेशी आवश्यकताओं को अलग करने के लिए किया जाता है। _a और _e प्रत्यय का उपयोग सार्वभौमिक (सभी) बनाम अस्तित्वगत उपस्थित आवश्यकताओं को दर्शाने के लिए किया जाता है। सटीक समय विंडो को [n] और फ्लेक्सिबल को [m..n].से दर्शाया जाता है।

सेरे - स्टाइल ऑपरेटर्स

सबसे अधिक उपयोग किया जाने वाला पीएसएल ऑपरेटर प्रत्यय-निहितार्थ ऑपरेटर होता है, जिसे ट्रिगर ऑपरेटर के रूप में भी जाना जाता है, जिसे |=>.द्वारा दर्शाया जाता है। इसका बायाँ ऑपरेंड एक पीएसएल रेगुलर एक्सप्रेशन होता है और इसका राइट ऑपरेंड कोई भी पीएसएल फॉर्मूला होता है चाहे वह एलटीएल स्टाइल या रेगुलर एक्सप्रेशन स्टाइल में हो। का शब्दार्थ r |=> p का शब्दार्थ यह है कि प्रत्येक समय बिंदु पर i पर ऐसा है कि समय का क्रम i तक इंगित करता है जो नियमित अभिव्यक्ति r से मेल खाता है, i+1 से पथ गुणधर्म पी को संतुष्ट करना चाहिए। यह दाईं ओर के आंकड़ों में उदाहरण के रूप में है।

पथ संतोषजनक आर दो गैर-अतिव्यापी तरीकों से पी ट्रिगर करता है
पथ संतोषजनक r दो अतिव्यापी तरीकों से p को ट्रिगर करता है
पथ संतोषजनक r तीन तरह से p को ट्रिगर करता है

पीएसएल के रेगुलर एक्सप्रेशंस में संयोजन के लिए सामान्य ऑपरेटर हैं (;), क्लीने क्लोसर (*), और संघ (|), साथ ही फ्यूजन के लिए ऑपरेटर (:), प्रतिछेदन (&&) और कमजोर संस्करण (&) और निरंतर गिनती के लिए कई विविधताएं [*n] और निरंतर गिनती के रूप में एक उदाहरण इस प्रकार है [=n] और [->n].

ट्रिगर ऑपरेटर नीचे दी गई तालिका में दिखाए गए कई रूपों में आता है।

यहाँ s और t पीएसएल रेगुलर एक्सप्रेशन हैं और पी एक पीएसएल सूत्र के रूप में होता है।

 s |=> t!
यदि s का मेल है, तो ट्रेस के प्रत्यय पर t का मेल है।
  • s समाप्त होने के बाद t चक्र शुरू करता है।
  • टी का मैच अपने अंत तक पहुंचना चाहिए।
 s |-> t!
यदि s का मेल है, तो ट्रेस के प्रत्यय पर t का मेल है।
  • t उसी चक्र को प्रारंभ करता है जो s समाप्त होता है।
  • टी का मैच अपने अंत तक पहुंचना चाहिए।
 s |=> t
यदि s का मेल है, तो ट्रेस के प्रत्यय पर t का मेल है।
  • s समाप्त होने के बाद t चक्र शुरू करता है।
  • टी का मैच बीच में "अटक" सकता है।
 s |-> t
यदि s का मेल है, तो ट्रेस के प्रत्यय पर t का मेल है।
  • t उसी चक्र को प्रारंभ करता है जो s समाप्त होता है।
  • टी का मैच बीच में "अटक" सकता है।

संयोजन, संलयन, संघ, प्रतिच्छेदन और उनकी विविधताओं के लिए ऑपरेटर नीचे दी गई तालिका में दिखाए गए हैं।

यहाँ s और t पीएसएल रेगुलर एक्सप्रेशन के रूप में हैं।

s ; t s के मिलान के बाद t का मिलान, s समाप्त होने के बाद t चक्र शुरू करता है
s : t s के मैच के बाद t का मैच, t उसी चक्र को शुरू करता है जो s समाप्त होता है
s | t एस का मैच या टी का मैच है
s && t एस का मैच और टी का मैच, दोनों की अवधि समान लंबाई की है
s & t एस का मैच और टी का मैच, अवधि मैच शायद अलग होते है
s within t टी के मैच के भीतर एस का मैच, ([*]; s; [*]) && t का संक्षिप्त नाम है

नीचे दी गई तालिका में निरंतर दोहराव के लिए ऑपरेटरों को दिखाया गया है।

यहाँ s एक पीएसएल रेगुलर एक्सप्रेशन के रूप में है।

s[*i] आई एस की लगातार पुनरावृत्ति है
s[*i..j] i से j के बीच s का लगातार दोहराव है
s[*i..] कम से कम आईएस की लगातार पुनरावृत्ति होती है
s[*] एस के शून्य या अधिक लगातार दोहराव के रूप में है
s[+] एस के एक या अधिक लगातार दोहराव होता है

नीचे दी गई तालिका में गैर-निरंतर दोहराव के लिए ऑपरेटरों को दिखाया गया है।

यहाँ b कोई भी पीएसएल बूलियन व्यंजक है।

b[=i] आई जरूरी नहीं कि बी की लगातार पुनरावृत्ति हो
  • के बराबर (!b[*];b)[*i]; !b[*] है
b[=i..j] कम से कम i और j से अधिक नहीं जरूरी नहीं कि लगातार b की पुनरावृत्ति हो,
  • equivalent to (!b[*];b)[*i..j]; !b[*] है
b[=i..] कम से कम मैं जरूरी नहीं कि बी की लगातार पुनरावृत्ति हो
  • के बराबर (!b[*];b)[*i..]; !b[*] है
b[->m] एम आवश्यक रूप से बी के साथ समाप्त होने वाले बी की लगातार पुनरावृत्ति नहीं है,
  • के बराबर (!b[*];b)[*m] है
b[->m:n] कम से कम m और n से अधिक नहीं आवश्यक रूप से b के साथ समाप्त होने वाले b का लगातार दोहराव नहीं है,
  • के बराबर (!b[*];b)[*m..n] है
b[->m..] कम से कम m अनिवार्य रूप से b के साथ समाप्त होने वाले b की लगातार पुनरावृत्ति नहीं है,
  • के बराबर (!b[*];b)[*m..]; !b[*] है
b[->] शॉर्टकट के लिए b[->1], है
  • के बराबर (!b[*];b) है


एलटीएल-शैली ऑपरेटर

नीचे पीएसएल के कुछ एलटीएल-शैली के ऑपरेटरों का एक नमूना है।

यहाँ p और q कोई भी पीएसएल सूत्र हैं।

always p गुणधर्म पी प्रत्येक समय बिंदु पर पकड़ बनाये रखती है
never p गुणधर्म पी किसी भी समय बिंदु पर पकड़ नहीं बनाती है
eventually! p वहाँ एक भविष्य समय बिंदु मौजूद है जहाँ p होल्ड करता है
next! p वहाँ एक अगली बार बिंदु उपस्थित है और p इस बिंदु पर कायम है
next p यदि कोई अगली बार बिंदु उपस्थित है, तो p इस बिंदु पर रहता है
next![n] p एक n-वाँ समय बिंदु उपस्थित है और p इस बिंदु पर कायम है
next[n] p यदि कोई n-वाँ समय बिंदु उपस्थित है, तो p इस बिंदु पर रहता है
next_e![m..n] p जहां पी होल्ड करता है, वहां से एम-वें से एन-वें के भीतर एक समय बिंदु उपस्थित है।
next_e[m..n] p यदि कम से कम n-वें समय बिंदु उपस्थित हैं, तो p m-वें से n-वें बिंदुओं में से एक पर रहता है।
next_a![m..n] p m-वें से n-वें सहित, सभी समय बिंदुओं में कम से कम n और समय बिंदु मौजूद हैं और p होल्ड करता है।
next_a[m..n] p पी अगले सभी एम-वें से एन-वें समय बिंदुओं पर कायम रहता है, चूँकि कई उपस्थित हैं
p until! q वहाँ एक समय बिंदु मौजूद है जहाँ q होल्ड करता है और p उस समय बिंदु तक रुकता है
p until q p उस समय बिंदु तक टिका रहता है जहाँ q होल्ड करता है, यदि ऐसा उपस्थित है
p until!_ q वहाँ एक समय बिंदु उपस्थित है जहाँ q होल्ड करता है, और p उस समय बिंदु तक और उस समय बिंदु तक बना रहता है
p until_ q p उस समय बिंदु तक रुकता है जहाँ q होल्ड करता है, और उस समय बिंदु में, यदि ऐसा उपस्थित है
p before! q p उस समय बिंदु से पहले सख्ती से पकड़ रखता है जहाँ q होल्ड करता है, और p अंततः होल्ड करता है
p before q p सख्ती से उस समय बिंदु से पहले रखता है जहाँ q होल्ड करता है, यदि p कभी भी होल्ड नहीं करता है, तो q भी नहीं करता है
p before!_ q p पहले या उसी समय बिंदु पर रखता है जहाँ q होल्ड करता है, और p अंततः होल्ड करता है
p before_ q p पहले या उसी समय बिंदु पर रखता है जहाँ q होल्ड करता है, यदि p होल्ड नहीं करता है, तो q भी होल्ड नही करता है


सैंपलिंग ऑपरेटर

कभी-कभी अगली बार-बिंदु की परिलैंग्वेज को बदलना वांछनीय होता है, उदाहरण के लिए बहु-घड़ी वाली डिज़ाइनों में या जब उच्च स्तर की अमूर्तता वांछित होती है। सैंपलिंग ऑपरेटर जिसे क्लॉक ऑपरेटर के रूप में भी जाना जाता है, जिसका अर्थ @, इस प्रयोजन के लिए प्रयोग किया जाता है। सूत्र p @ c जहां पी एक पीएसएल फॉर्मूला है और c एक पीएसएल बूलियन एक्सप्रेशंस दिए गए पथ पर होल्ड करता है यदि p उस पथ पर उन चक्रों पर प्रक्षेपित होता है जिसमें c दाईं ओर के आंकड़ों में उदाहरण के रूप में होता है।

पथ और सूत्र एक नमूनाकरण ऑपरेटर की आवश्यकता दिखा रहा है

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

  (true[*]; req; ack)  |=> (start; data[=8]; end)

लेकिन कभी-कभी केवल उन स्थितियों पर विचार करना वांछित होता है, जहां उपरोक्त संकेत एक चक्र पर होते हैं जहां सीएलक उच्च है। इसे दूसरे अंक में दर्शाया गया है, यद्यपि यह सूत्र में दर्शाया गया है।

  ((true[*]; req; ack)  |=> (start; data[*3]; end)) @ clk

डेटा का उपयोग करता है [*3] और [*n] निरंतर दोहराव होता है, मिलान ट्रेस में 3 गैर-लगातार समय बिंदु होते हैं जहां डेटा होल्ड होता है, लेकिन जब केवल उन समय बिंदुओं पर विचार किया जाता है, तो समय बिंदु जहां डेटा होल्ड लगातार होता है।

सैंपलिंग ऑपरेटर @ का प्रभाव दिखाने वाला पथ और सूत्र

नेस्टेड @ वाले सूत्रों का शब्दार्थ थोड़ा सूक्ष्म है। इच्छुक पाठक [2] को संदर्भित करता है।

ऑपरेटरों को छोड़ें

पीएसएल के पास काटे गए रास्तों से निपटने के लिए कई ऑपरेटर हैं, परिमित पथ जो संगणना के एक उपसर्ग के अनुरूप हो सकते हैं। काटे गए पथ रीसेट और कई अन्य परिदृश्यों के कारण बाउंडेड-मॉडल जाँच में होते हैं। एबॉर्ट ऑपरेटर निर्दिष्ट करते हैं कि किसी पथ को छोटा किए जाने पर संभावित घटनाओं से कैसे निपटा जाए। वे [1] में प्रस्तावित संक्षिप्त शब्दार्थ पर भरोसा करते हैं।

यहाँ p कोई पीएसएल फॉर्मूला है और b कोई भी पीएसएल बूलियन व्यंजक के रूप में होता है।

p async_abort b या तो p धारण करता है या p तब तक विफल नहीं होता जब तक b धारण नहीं करता है।
  • b अतुल्यकालिक रूप से पहचाना गया है।
p sync_abort b या तो p धारण करता है या p तब तक विफल नहीं होता जब तक b धारण नहीं करता है।
  • b समकालिक रूप से पहचाना गया है।
p abort b पी के बराबर async_abort b है।


अभिव्यंजक शक्ति

पीएसएल लौकिक तर्क एलटीएल को समाहित करता है और इसकी अभिव्यंजक शक्ति को ओमेगा नियमित लैंग्वेजो तक बढ़ाता है। एलटीएल की तुलना में अभिव्यंजक शक्ति में वृद्धि, जिसमें स्टार मुक्त ω की अभिव्यंजक शक्ति होती है, नियमित अभिव्यक्तियों को प्रत्यय निहितार्थ के लिए जिम्मेदार ठहराया जा सकता है, जिसे ट्रिगर्स ऑपरेटर के रूप में भी जाना जाता है जिसे "|->" दर्शाया गया है। सूत्र r |-> f जहां r एक रेगुलर एक्सप्रेशन के रूप में होते है और f एक टेम्पोरल लॉजिक फॉर्मूला होता है जो गणना w पर टिका रहता है यदि w मैचिंग r के किसी भी उपसर्ग में निरंतर संतोषजनक f होता है। पीएसएल के अन्य गैर एलटीएल ऑपरेटर मल्टीपल क्लॉक्ड डिजाइनों को निर्दिष्ट करने के लिए @ ऑपरेटरहोते है, संक्षिप्तता के लिए हार्डवेयर रीसेट और स्थानीय चर से निपटने के लिए स्थानीय चर होते है।

परतें

पीएसएल को 4 परतों में परिभाषित किया गया है, बूलियन परत, टेम्पोरल परत, मॉडलिंग परत और सत्यापन परत के रूप में होते है।

  • बूलियन परत का उपयोग डिजाइन की वर्तमान स्थिति का वर्णन करने के लिए किया जाता है और उपर्युक्त एचडीएल में से किसी एक का उपयोग करके इसका वर्णन किया जाता है।
  • टेम्पोरल लेयर में टेम्पोरल ऑपरेटर्स होते हैं जिनका उपयोग उन परिदृश्यों का वर्णन करने के लिए किया जाता है जो समय के साथ विस्तारित होते हैं, संभवतः समय इकाइयों की असीमित संख्या में होते है।
  • मॉडलिंग परत का उपयोग प्रक्रियात्मक विधियों से सहायक राज्य मशीनों का वर्णन करने के लिए किया जाता है।
  • सत्यापन परत में एक सत्यापन उपकरण के लिए निर्देश होते हैं, उदाहरण के लिए यह प्रमाणित करने के लिए कि दी गई गुणधर्म सही है यह मानने के लिए कि गुणों का एक निश्चित सेट गुणों के दूसरे सेट की पुष्टि करते समय सही है।

लैंग्वेज अनुकूलता

गुणधर्म विशिष्टता लैंग्वेज का उपयोग कई इलेक्ट्रॉनिक प्रणाली डिज़ाइन लैंग्वेजो (एचडीएल) के साथ किया जा सकता है जैसे

जब पीएसएल का उपयोग उपरोक्त एचडीएल में से किसी एक के साथ किया जाता है, तो इसकी बूलियन परत संबंधित एचडीएल के ऑपरेटरों का उपयोग करती है।

संदर्भ

  • 1850-2005 – IEEE Standard for Property Specification Language (PSL). 2005. doi:10.1109/IEEESTD.2005.97780. ISBN 0-7381-4780-X.
  • 1850-2010 – IEEE Standard for Property Specification Language (PSL). 2010. doi:10.1109/IEEESTD.2010.5446004. ISBN 978-0-7381-6255-3.
  • Eisner, Cindy; Fisman, Dana; Havlicek, John; Lustig, Yoad; McIsaac, Anthony; Van Campenhout, David (2003). "Reasoning with Temporal Logic on Truncated Paths" (PDF). Computer Aided Verification. Lecture Notes in Computer Science. Vol. 2725. p. 27. doi:10.1007/978-3-540-45069-6_3. ISBN 978-3-540-40524-5.
  • Eisner, Cindy; Fisman, Dana; Havlicek, John; McIsaac, Anthony; Van Campenhout, David (2003). "The Definition of a Temporal Clock Operator" (PDF). Automata, Languages and Programming. Lecture Notes in Computer Science. Vol. 2719. p. 857. doi:10.1007/3-540-45061-0_67. ISBN 978-3-540-40493-4.


बाहरी संबंध



पीएसएल पर किताबें

श्रेणी:हार्डवेयर सत्यापन भाषाएं श्रेणी:औपचारिक विनिर्देश भाषाएँ श्रेणी:आईईईई DASC मानक श्रेणी:आईईसी मानक