উত্তর:
আচরণ কোডটি উচ্চ-স্তরের এবং সাধারণত সংশ্লেষিত হতে পারে না। লুপ, বিলম্ব এবং "প্রাথমিক" বিবৃতিগুলির মতো নির্মাণ আচরণগত।
আরটিএল কোডটি নিম্ন-স্তরের এবং সংশ্লেষিত করার উদ্দেশ্যে। এটি একটি সার্কিটকে আন্তঃসংযুক্ত নিবন্ধগুলির সংমিশ্রণ এবং সেই নিবন্ধগুলির মধ্যে সংকেতগুলিতে সঞ্চালিত ক্রিয়াকলাপ হিসাবে সংজ্ঞায়িত করে।
ইয়াহু উত্তরগুলি থেকে নেওয়া এবং সাথে সাথে গুগলের সাথে পাওয়া গেল!
"রেজিস্টার ট্রান্সফার লেভেল" কোডটি এমন একটি কোড যা রেজিস্ট্রি এবং সংযোজক যুক্তির ক্ষেত্রে বর্ণিত কোড যা তাদের মধ্যে বসে এবং সংশ্লেষের সরঞ্জামে ইনপুট হিসাবে ব্যবহার করার উদ্দেশ্যে to কোডটি ভাষার সংশ্লেষযোগ্য উপসেট [1] এ আঁকড়ে থাকে। কোনও সুস্পষ্ট বিলম্ব নেই, সমস্ত সময় ঘড়ির প্রান্তের শর্তাবলী। লেভেল ট্রিগারযুক্ত ল্যাচগুলি প্রতিনিধিত্বকারী কাঠামোগুলি সাধারণত এড়ানো হয়। নিবন্ধগুলি সাধারণত অল্প সংখ্যক ঘড়ি থাকে যার বিবরণ সময় বিশ্লেষককে দেওয়া যেতে পারে। সংযুক্তিযুক্ত যুক্তি সাধারণত একটি ঘড়ি চক্রের মধ্যে স্থির হওয়ার আশা করা হয় [2] যা এটির জটিলতা সীমাবদ্ধ করে। এটি একটি গেট স্তরের মডেলের তুলনায় উচ্চতর স্তর তবে এটি প্রতিটি ঘড়ির চক্রের প্রতিটি নিবন্ধকের কী মান আছে তা নির্ধারণ করে।
"আচরণ" কোডটি সাধারণত এমন কোড যা একটি অনুকরণে ব্যবহারের জন্য উচ্চতর স্তরে বেহভিয়ারকে বর্ণনা করে তবে এটি সংশ্লেষযোগ্য হতে পারে না। এটি আপনার নকশার চারপাশের পরিবেশকে একটি সিমুলেশনে বর্ণনা করতে ব্যবহৃত হতে পারে। এটি পৃথক মডিউলগুলির বিশদ আরটিএল নকশাকে ছাড়িয়ে যাওয়ার আগে সামগ্রিক নকশাটি যথাযথভাবে পেতে ডিজাইনের প্রাথমিক পদক্ষেপ হিসাবে ব্যবহার করা যেতে পারে।
[1] অনুমোদিত সাবসেটটি সংশ্লেষণ সরঞ্জামগুলির মধ্যে পরিবর্তিত হয়।
[২] যদি এটি সিমুলেশন ও সিন্থিসিসের চেয়ে একক চক্রের মধ্যে স্থির না হয় তবে বিভিন্ন ফলাফল দিতে পারে এবং সময় বিশ্লেষক কোনও লঙ্ঘন প্রদর্শন করবে যদি না এটি পরিষ্কারভাবে না বলা হয়।
আরও সাধারণ সংজ্ঞা।
আচরণ কোড: সংজ্ঞা দ্বারা এটি একটি ডিজিটাল উপাদান আচরণ নির্ধারণ করে। এটি কীভাবে প্রকৃত এইচডাব্লু (সংশ্লেষণ) এ প্রয়োগ করা হবে তা তথ্য দেয় না। এটি প্রয়োজনীয় অপারেশন সম্পাদনের জন্য কীভাবে রেজিস্টার এবং গেটগুলি প্রয়োগ করা হবে তা তথ্য দেয় না। এটি সি তে একটি অ্যালগরিদম বা এফএসএম লেখার মতো is
আরটিএল: এটি একটি ডিজিটাল উপাদানগুলির আরও সুনির্দিষ্ট রূপ। এটি তথ্য দেয়, কীভাবে কোডটি বাস্তব এইচডাব্লু (সংশ্লেষণের পরে) হিসাবে প্রয়োগ করা হবে। এছাড়াও এটি রেজিস্টার এবং গেটগুলির মধ্যে কীভাবে ডেটা স্থানান্তরিত হবে তা তথ্য দেয়।
এটি একই ভাষা, তবে বিভিন্ন স্টাইল ব্যবহৃত হয়। অভিজ্ঞতার সাহায্যে আপনি এগুলি তাড়াতাড়ি আলাদা করে বলতে পারেন, প্রত্যেকটির কয়েকটি বৈশিষ্ট্য এখানে:
আচরণ আচরণগত ভেরিলোগ কোডটি সাধারণত কোনও initial begin
ব্লকের মধ্যে উপর থেকে নীচে চলমান অনুক্রমিক কম্পিউটার প্রোগ্রামের মতো দেখায় । আপনি শীর্ষ স্তরের আচরণগত মডিউলগুলিতে কোনও ইনপুট / আউটপুট পোর্ট সংজ্ঞায়িত করতে পারেন, যেহেতু আউটপুটটি সিমুলেটর সুবিধার মতো হতে পারে, যেমন কনসোল $display()
বা ফাইল সিস্টেমের সাথে $open
বা ওয়েভফর্ম ডাম্পারের সাথে $dumpfile
এবং $dumpvars
। দীর্ঘ সিমুলেশন সময় অপেক্ষা করে উদাহরণস্বরূপ #4000
এবং আমন্ত্রণমূলক কার্যগুলি ব্যবহার করে প্রয়োগ করা বিবৃতিগুলির মধ্যে বিলম্বের জন্য দেখুন wishbone_master.checked_read(addr, value)
। এই উচ্চ স্তরের কনস্ট্রাক্টগুলির জন্য এটি সংশ্লেষিত প্রযুক্তির সমতুল্য / কী হতে পারে তা সুস্পষ্ট নয়।
সংশ্লেষণের জন্য ভেরিলোগের সর্বদা ইনপুট / আউটপুট পোর্ট থাকে কারণ সংযুক্ত পোর্ট ছাড়া মডিউলের কোনও পার্শ্ব প্রতিক্রিয়া নেই এবং এটি নির্মূল করা যায় [1]। বিলম্ব সম্ভবত কিছু নির্দিষ্ট ঘড়ির চক্র গণনা করে প্রয়োগ করা হয়েছিল। নোট করুন কিছু ভেরিলোগ সিস্টেমের কার্যাদি উদাহরণস্বরূপ $clog2(PARAMETER)
সংশ্লেষণের কোডে অনুমোদিত হতে পারে, সুতরাং উপস্থিতি কোনওভাবেই $function
গ্যারান্টি নয়। সংশ্লেষণের কোডটি সংবেদনশীলতার তালিকার সাথে অনেকগুলি স্বতন্ত্র 'প্রক্রিয়াগুলি' অন্তর্ভুক্ত করে। কিছু প্রযুক্তি initial begin
মেমোরি ইনিশিয়ালাইজেশনের জন্য অনুমতি ব্লকগুলি করে যাতে এটি আবার কোনও গ্যারান্টি নয়।
শেষ পর্যন্ত ডিজাইনার তারা যে কোডটি লিখেছেন তার উদ্দেশ্য জানেন এবং সংশ্লেষের সরঞ্জামসেট বা একটি সিমুলেটারে যথাযথভাবে এটি আহ্বান করবেন।
[1] নির্দিষ্ট আইপি ব্লকগুলি ব্যতীত যা অভ্যন্তরীণ চিপ সুবিধার সাথে ব্যাক-ডোর সংযোগ স্থাপন করতে পারে, যেমন জে TAG