std_logic বা std_ulogic?


24

দেখে মনে হয় যে বিশ্ব সিদ্ধান্ত নিয়েছে যে std_logic(এবং std_logic_vector) ভিএইচডিএলে বিট উপস্থাপনের ডিফল্ট উপায়। বিকল্পটি হবে std_ulogic, যা সমাধান হয়নি not

এটি আমাকে অবাক করে দেয় কারণ সাধারণত, আপনি কোনও বাস বর্ণনা করছেন না , তাই আপনি একাধিক ড্রাইভার চান না এবং আপনার কোনও সংকেত সমাধান করার দরকার নেই । এর সুবিধাটি হ'ল যে যদি আপনার একাধিক ড্রাইভার থাকে তবে সংকলকটি আপনাকে তাড়াতাড়ি সতর্ক করে দেয়।std_ulogic

প্রশ্ন: এটি কি কেবল একটি সাংস্কৃতিক / historicalতিহাসিক জিনিস, বা এখনও std_logic ব্যবহারের প্রযুক্তিগত কারণ রয়েছে?


3
এ পৃথিবী ভুলে ভরা. স্মার্ট প্রকৌশলীরা std_ulogic ব্যবহার করেন কারণ এর সঠিক শব্দার্থবিজ্ঞান রয়েছে।
wjl

@Wjl আমি এটি "এটি একটি সাংস্কৃতিক / historicalতিহাসিক জিনিস" হিসাবে ব্যাখ্যা করব। নীচের আপনার উত্তরটি এখানে মন্তব্য করার চেয়ে অনেক বেশি সহায়ক।
ফিলিপ

আমি প্রথমে মন্তব্যটি লিখেছিলাম, তারপরে আরও সুনির্দিষ্ট করে উত্তরটি দেওয়া ভাল হবে বলে ভেবেছিলাম। দুঃখিত, আমি অনুমান করি এটি কিছুটা ঝাপটায় লাগছে। তবে আমার মন্তব্যটি আক্ষরিক যে বেশিরভাগ লোকেরা std_logic ব্যবহার শুরু করে কারণ তারা সেভাবে এটি শিখেছে, তারপরে কিছু পরে তারা std_ulogic সম্পর্কে অবাক হতে শুরু করে, তারা এটিকে তাকায়, এটি শব্দার্থবিজ্ঞান বুঝতে পারে এবং তারপরে এটি রূপান্তর করে। =)
wjl

উত্তর:


16

Std_logic হল std_ulogic এর একটি সাব টাইপ এবং ঠিক একটি অতিরিক্ত সম্পত্তি আছে: একাধিক ড্রাইভার থাকলে এটি সমাধান করা হয়।

সাধারণ অনুশীলন নির্বিশেষে, std_ulogic হ'ল সমাধানযোগ্য সংকেতগুলির জন্য সঠিক ধরণের যা 9-মূল্যবান যুক্তি প্রয়োজন। (প্রায়শই, "বিট" ব্যবহার আরও বেশি সঠিক - উদাহরণস্বরূপ, কিছু এফপিজিএ আর্কিটেকচারগুলিতে 'এক্স' বা 'ইউ' এর মতো কোনও জিনিস নেই)।

মূলত, সবচেয়ে ভাল কাজটি হ'ল কাজের জন্য সঠিক ধরণটি ব্যবহার করা। প্রায়শই খারাপ অভ্যাসগুলি অন্যরা যে স্টাইলটি দেখেন সেগুলি কেবল পোষ্ট করে তা প্রচার করে এবং কেন তা বোঝে না।


8
আর্কিটেকচারটির কোনও 'ইউ' নাও থাকতে পারে তবে এটি ভুল অনুকরণের মতো খুঁজে পেতে পারে এমনভাবে সিমুলেট করা প্রায়শই দরকারী। "সেরা কাজটি করার জন্য +1" কাজের জন্য সঠিক ধরণটি ব্যবহারের জন্য ", তবে" সেরা "কী তা নিয়ে আমরা পাশাপাশি যেতে শিখতে চাই: :)
মার্টিন থম্পসন

8

আমার ইতিহাস এটি:

আমি std_ulogic*সমস্ত সময় ব্যবহার করে (প্রায় 1999 আইআইআরসি) শুরু করেছিলাম - কারণ হিসাবে আপনি বর্ণনা করেছেন কেবল এটিই সঠিক কাজ।

তারপরে আমাকে উইজার্ড উত্পন্ন ভেন্ডার আইপি-র এক গোছায় ইন্টারফেস করতে হয়েছিল যা সমস্ত std_logicইন্টারফেসের মধ্যে রয়েছে। যার অর্থ পোর্ট-ম্যাপিংগুলিতে রূপান্তরকরণ ( _vectorউপাদানগুলির জন্য), এবং আমি অলস হয়েছি এবং ব্যবহারে চলে এসেছি std_logic*

যাইহোক, আমি খুব কম "ডাবল-ড্রাইভার" ভুল করতে দেখেছি, তাই আমি std_ulogicযতটা ভেবেছি তা মিস করিনি। এবং মোডেলসিমের driversআদেশটি মাঝে মধ্যে যখন আমার প্রয়োজন হয় তখন "কে কী গাড়ি চালাচ্ছে" এটি সন্ধান করা খুব সহজ করে তোলে ...


হ্যাঁ, আইপি কোরগুলি (এবং বিশেষত ভেরিলোগ থেকে স্বয়ংক্রিয়ভাবে অনুবাদ হওয়া সামগ্রী) std_logic ব্যবহার করতে ঝোঁক। আপনার উত্তরটি মনে হয় কারণটি বেশিরভাগ ক্ষেত্রে "সাংস্কৃতিক / .তিহাসিক"।
ফিলিপ

আপনাকে কখনই বন্দরগুলিতে std_logic এবং std_ulogic এর মধ্যে রূপান্তর করতে হবে না। আপনি কি বোঝাতে চেয়েছিলেন যে আপনাকে std_logic_vector এবং std_ulogic_vector এর মধ্যে রূপান্তর করতে হবে?
wjl

@ ডব্লিউজিএল: দুঃখিত, হ্যাঁ এটাই আমার অর্থ পোস্টটি আপডেট করব।
মার্টিন থম্পসন

এএফআইএইচ, std_logic এবং std_ulogic অ্যাসাইনমেন্ট-সামঞ্জস্যপূর্ণ যেহেতু তাদের একই বেস টাইপ রয়েছে। সুতরাং, ম্যানুয়াল রূপান্তরকরণের কোনও প্রয়োজন নেই।
Val,

@ ওয়াল: ডাব্লুজেইএল এটাই বলেছিল (এবং আমি একমত হয়েছি) - তবে *vectorবন্দরের অংশগুলিতে এখনও রূপান্তর প্রয়োজন
মার্টিন থম্পসন

4

আইআইআরসি খ্যাত পুনঃব্যবহারের পদ্ধতি ম্যানুয়াল সুপারিশ করেছে std_logic(_vector), সুতরাং সংস্থাগুলিতে পদ্ধতি পদ্ধতি গোষ্ঠী ইত্যাদি এগুলি আরও বাধ্যতামূলকভাবে কোডিং গাইডগুলির আকারে ছড়িয়ে দেয়। ব্যক্তিগতভাবে, std_ulogicসম্ভব হলে ব্যবহারের জন্য +1 করুন ।


2

আমি এটির মারাত্মক রঙিন পিপিটি স্লাইডশোটি জানি, তবে এটি পার্থক্যটি বেশ ভালভাবে ব্যাখ্যা করেছে:

http://web.archive.org/web/20151026150828/http://www.cs.auckland.ac.nz/~jmor159/reconfig/ppt/ResolutionFunctions.ppt


1
ভাঙা লিঙ্কটি এখানে সংরক্ষণাগারভুক্ত করা হয়েছে: web.archive.org/web/20151026150828/http://www.cs.auckland.ac.nz/…
লুইসএফ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.