আরটিএল বনাম এইচডিএল? কি পার্থক্য


24

আরটিএল এবং এইচডিএল এর মধ্যে প্রধান পার্থক্য কী? সত্যি কথা বলতে কি আমি এটি অনুসন্ধান / গুগল করেছি তবুও লোকেরা তাদের মতামতে বিভক্ত। আমার একটি কথা মনে আছে যে এইচডিএল হ'ল ডিজিটাল সার্কিট বর্ণনা করার জন্য ব্যবহৃত কম্পিউটার ভাষা এবং যখন এটি সংশ্লেষযোগ্য হয়, তখন এটি আরটিএল হিসাবে বিবেচিত হয়।

উত্তর:


18

এইচডিএল হ'ল সমস্ত হার্ডওয়্যার সংজ্ঞা ভাষার (ভেরিলগ, ভিএইচডিএল, ইত্যাদি) এর একই নাম হ'ল বস্তু ওরিয়েন্টেড সি ++, জাভা ইত্যাদি উল্লেখ করতে পারে in

অন্যদিকে আরটিএল একটি সার্কিট বর্ণনা করার একটি উপায় a

আপনি আপনার আরটিএল স্তরের কোডটি এইচডিএল ভাষায় লিখেন যা একই ধরণের HDL ভাষায় গেট স্তরের বিবরণে বা আপনার টার্গেট ডিভাইস / প্রক্রিয়াটি যা গ্রহণ করবে তা অনুবাদ করা হবে (সংশ্লেষণকারী সরঞ্জাম দ্বারা)।

আমাকে যদি আপনি একটি উদাহরণ দিতে। এখানে ভেরিলোগের একটি লাইন (এইচডিএল) আরটিএলে একটি ম্যাক্স বর্ণনা করছে:

assign mux_out = (sel) ? din_1 : din_0;

আপনার সংশ্লেষের সরঞ্জামটি এটি গ্রহণ করতে পারে এবং এটিকে যুক্তি গেটের একটি সেট বা আপনার শেষ ডিভাইস দ্বারা সমর্থিত কেবলমাত্র একটি ম্যাক্স ম্যাক্রোতে রূপান্তর করতে পারে। উদাহরণস্বরূপ এটি একটি ম্যাক্স ম্যাক্রো ইনস্ট্যান্টিয়েট করতে পারে

mux u3 (mux_out, din_1, din_0);

উভয় ক্ষেত্রেই আপনি একই ইনপুটগুলি ব্লকে (আরটিএল, বা গেট-স্তর) খাওয়াতে পারেন এবং আপনার আউটপুট একই হওয়া উচিত। আসলে এমন সরঞ্জাম রয়েছে যা সংশ্লেষণের সময় কোনও দুর্ঘটনাক্রমে সৃষ্ট সংশ্লেষের সময় টুলটি দুর্ঘটনাক্রমে অনুকূলিত করেছিল বা কোনও পরিবর্তন ঘটেনি তা নিশ্চিত করার জন্য আপনার আরটিএল কোডের বিরুদ্ধে আপনার সংশ্লেষণের আউটপুট পরীক্ষা করে। একে ফর্মাল ভেরিফিকেশন বলে।

বিভিন্ন কারণে, আন্তঃব্যবহারযোগ্যতা, পরিবর্তনের স্বাচ্ছন্দ্য, বোধগম্যতা আপনি গেট-স্তরের পরিবর্তে ডিজিটাল সার্কিটের বিবরণ আরটিএল হিসাবে লেখেন।


3
উত্তম উত্তর, আরও একটি পরিমার্জন ... আরটিএল একটি প্রদত্ত নকশার স্টাইল ধরেছে - লজিক ক্লাউড, রেজিস্ট্রেশন, লজিক ক্লাউড, রেজিস্ট্রার ইত্যাদি যা সিঙ্ক্রোনাস (ক্লকড) ডিজাইন বোঝায়। যদি আপনি ক্লকহীন (অ্যাসিক্রোনাস) ডিজাইনের জন্য আপনার এইচডিএলটিতে কোডিং করে থাকেন তবে আপনার সংশ্লেষণের সরঞ্জামটি আরটিএল ব্যতীত অন্য কিছু ব্যবহার করতে পারে
স্থানধারক

,, আসলে এমন সরঞ্জাম রয়েছে যা সংশ্লেষণের সময় কোনও দুর্ঘটনাক্রমে সৃষ্ট সংশ্লেষের সময় টুলটি দুর্ঘটনাক্রমে অনুকূলিত করেছিল বা কিছু পরিবর্তন করে নি তা নিশ্চিত করার জন্য আপনার আরটিএল কোডের বিরুদ্ধে আপনার সংশ্লেষণের আউটপুট পরীক্ষা করে। একে ফর্মাল যাচাইকরণ বলা হয়। '' না, এটি নয়। একে লজিক ইকুইভ্যালেন্স চেকিং বা ফর্মাল ইকুইভ্যালেন্স চেকিং বলা হয়। ফর্মাল যাচাইকরণটি প্রমাণ করার প্রক্রিয়া (গাণিতিক পদ্ধতিগুলি ব্যবহার করে, সিমুলেশন / টেস্ট বেঞ্চগুলি ছাড়াই) যা আপনার হার্ডওয়ারের বর্ণনাটি বর্ণনা করার উদ্দেশ্যে যা আচরণ করেছিল তা সত্যই বর্ণনা করে।
আল বুন্ডি

14

এইচডিএল (হার্ডওয়্যার বর্ণনার ভাষা) হ'ল ব্যবহৃত ধরণের ভাষা, ভেরিলোগ / ভিএইচডিএল বনাম একটি নন-এইচডিএল জাভাস্ক্রিপ্ট।

আরটিএল (রেজিস্ট্রার-ট্রান্সফার লেভেল) হ'ল বিমূর্তির একটি স্তর যা আপনি লিখছেন The আমি যে তিনটি স্তরের উল্লেখ করছি সেগুলি হ'ল আচরণ, আরটিএল, গেট-স্তর level

আচরণের বিমূর্ততার সর্বোচ্চ স্তর রয়েছে যা সামগ্রিক আচরণ বর্ণনা করে এবং প্রায়শই সংশ্লেষযোগ্য নয়, তবে যাচাইকরণের জন্য কার্যকর।

আরটিএল যুক্তি দিয়ে বোঝার মাধ্যমে আপনি যে হার্ডওয়্যারটি চান তা বর্ণনা করে। ফ্লিপ-ফ্লপ, ল্যাচগুলি এবং কীভাবে ডেটা স্থানান্তরিত হয় তা সংজ্ঞায়িত করা হচ্ছে। এটি সংশ্লেষযোগ্য, সংশ্লেষণটি যুক্তিটিকে ব্যবহারের পরিবর্তিত / অনুকূল করতে পারে তবে আচরণটি নয়। নকশাকে আরও অনুকূল করে তোলার জন্য কয়েকটি সময় গেটস ইত্যাদির জন্য ম্যাক্সগুলি স্যুইচ করা।

ভেরিলোগ আরটিএল একটি ফ্লিপ-ফ্লপ বোঝায়:

logic a;              //logic is SystemVerilog, could be a 'reg'
logic k;              // Driven by RTL not shown
always @(posedge clk or negede rst_n) begin
  if (~rst_n) begin
    a <= 'b0 ;
  end
  else begin
    a <= k ;
  end
end

সম্মিলিত বিটওয়াইজ অপারেটরগুলি:

logic [1:0] n;
logic [1:0] m;
logic [1:0] result;

assign result = n & m ;

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

গেট স্তর ভেরিলোগ (উপরের মতো একই ফাংশন):

wire a;
wire k;
DFFRX1 dffrx1_i0 (
  .Q (a),   //Output
  .QN( ),   //Inverted output not used
  .D (k),   //Input
  .CK(clk), //Clk
  .RN(rst_n)// Active Low Async Reset
);

সংযুক্ত করিতে সক্ষম

wire [1:0] n;
wire [1:0] m;
wire [1:0] result;

AND2X1 and2x1_i0 (
  .Y( result[0]),
  .A( n[0]     ),
  .B( m[0]     )
);
AND2X1 and2x1_i1 (
  .Y( result[1]),
  .A( n[1]     ),
  .B( m[1]     )
);

যদি কোনও হিসাবে একটি সার্কিট ডিজাইন করা হয় MyReg[7..1] := MyReg[6..0]; MyReg[0] := SerInput; MyReg.Clk = SerClk; MyReg[7..0].AR = !InBus[7..0] & Load; MyReg[7..0].AP = InBus[7..0] & Load;(অ্যাসিনক্রোনাস সমান্তরাল-লোড শিফট রেজিস্টার যা সিলিনেক্স 9536 সিপিএলডি এ এসিএনসি রিসেট / প্রিসেট সহ ব্লক ব্যবহার করে প্রয়োগ করা যেতে পারে) তা কি আরটিএল বা গেট-স্তর হিসাবে বিবেচিত হবে?
সুপারক্যাট

আরটিএল, গেট স্তরটি AND(.a(),.b()) OR(.a(),.b())সম্পূর্ণরূপে লজিক গেটগুলি আবদ্ধ হওয়ার মতো দেখায় । আমি এই ধারণাটির আওতায় আছি যে আরটিএল হ'ল আপনার সংশ্লেষ করার উদ্দেশ্যে এমন কিছু, এমনকি সংযুক্তি সার্কিট যেমন আপনি এখনও ডেটা পরিবর্তনের বর্ণনা দিচ্ছেন, তবে সরাসরি যুক্তি গেটগুলি নয়।
14_13

1
দুঃখিত আমি অনুসরণ করি না, স্পষ্ট করার চেষ্টা করব। আরটিএল একটি ফ্লিপ-ফ্লপ বোঝায়। গেট-লেভেল একটি ফ্লিপ-ফ্লপ ইনস্ট্যান্ট করে। সাধারণ সার্কিটগুলির জন্য তারপর একগুচ্ছ লজিক গেটগুলি আপ করা সহজ হতে পারে। তবে পাওয়ার এরিয়া দক্ষ নাও হতে পারে। একটি পরমাণু প্রসেসরে 47 মিলিয়ন ট্রানজিস্টর রয়েছে যা প্রায় 10 মিলিয়ন NAND2 সমতুল্য। আপনি কি 10 মিলিয়ন হ্যান্ড ওয়্যার্ড গেটগুলি সংজ্ঞায়িত করতে এবং ডিবাগ করতে চান? আমরা উদ্দেশ্যমূলক আচরণটি অধ্যয়ন করতে এবং ডিবাগ করতে পারি এটি সামান্য বিমূর্ত করার সুবিধা।
প্রাক_রান্দময়ীকরণ

1
মনে করুন যে কেউ এইচডিএলে একটি 74HC74 নির্দিষ্ট করার চেষ্টা করছে। সংযোজক যুক্তি, সিঙ্ক-শুধুমাত্র ফ্লপ এবং স্বচ্ছ ল্যাচগুলির সংমিশ্রণে কেউ এই জাতীয় ডিভাইস সংশ্লেষ করতে পারে এমন বিভিন্ন উপায় রয়েছে তবে আমি এমন কোনও বাস্তবায়ন অনুমান করতে পারি না যা বর্ণের শর্তের সাথে জড়িত না বা আচরণগত অসঙ্গতি তৈরি করে যা হার্ডওয়্যার আদিমগুলির সাথে অস্তিত্ব নেই (যেমন ডি এবং কিউ বেশি হলে সিপি বা / এসডি তে একটি রুট ডালের কোনও প্রভাব থাকতে হবে না, তবে বাস্তবায়নে আমি এ জাতীয় ডালগুলিকে মেটাস্টেবিলিটি এবং / অথবা আউটপুট বিঘ্ন সৃষ্টি করতে পারে) অনুমান করতে পারি।
সুপারক্যাট

1
আপনি কীভাবে তৈরি MyLatchকরছেন এটি হ'ল এটি একটি তাত্ক্ষণিক বেস সেল বা একটি অন্তর্নিহিত ল্যাচ। আপনি যদি গেটটি ইনস্ট্যান্ট করেন তবে এটি গেট লেভেল যদি আপনি এটি বোঝায় তবে এটি আরটিএল। গেট স্তরের লাইব্রেরিতে মডেলিং রেসের শর্ত / গ্লিটস ইত্যাদির জন্য এর সাথে সম্পর্কিত সময় থাকতে হবে ideal
21_55
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.