কীভাবে এফপিজিএতে প্রসেসরের ডিজাইন পাবেন


20

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

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


কি প্রোগ্রাম হয়নি আপনি আপনার নকশা না? সেখানে তৃতীয় পক্ষের রূপান্তরকারী থাকতে পারে।
কনার ওল্ফ

উত্তর:


17

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

সম্পাদনা (আপনার মন্তব্য পুনরায়) আপনার
নির্দিষ্ট নির্মাতার জন্য আপনার একটি বিকাশ ব্যবস্থা প্রয়োজন। আলতেরা এবং জিলিনেক্স বড় খেলোয়াড় এবং উভয়েরই বিশ্বাসী। আপনি কোনটি বেছে নিন তা গুরুত্বপূর্ণ নয়, উভয়ই আপনার চাহিদা মেটাতে যথেষ্ট আলাদা আলাদা অংশ রয়েছে।
আপনি যদি জিলিনেক্সের জন্য চয়ন করেন তবে এর আইএসই ওয়েবপ্যাক ডিজাইন সফ্টওয়্যার রয়েছে যা বিনামূল্যে (3.4 গিগাবাইটে বড় ডাউনলোড)। সফ্টওয়্যারটির আরও উন্নত সংস্করণের তুলনায় সীমাবদ্ধতাগুলি আপনাকে এই মুহুর্তে বিরক্ত করবে না।
এর পরে আপনার দরকার একটি উন্নয়ন বোর্ড। আপনার কোনটি এফপিজিএ নির্বাচন করতে হবে তা সম্পর্কে আপনার ধারণা থাকা দরকার। আপনি যদি জিলিনক্সে যান তবে আমি একটি স্পার্টান বাছাই করব, সম্ভবত একটি স্পার্টান -6, ভার্টেক্স ইতিমধ্যে খুব হাই-এন্ড আইএমও। বোর্ডে থাকা অতিরিক্তগুলি থেকে এখনও অনেকগুলি বেছে বেছে বেছে নেওয়া হয় mainly আপনি কয়েকটি স্যুইচ এবং এলইডি চেয়ে কিছুটা বেশি বোর্ড চাইবেন। আমি একটি কীবোর্ড সংযোগকারী এবং একটি ডিসপ্লে মডিউল সন্ধান করব।
Xilinx বোর্ড একটি সংখ্যা আছে, এবং Xilinx FPGAs জন্য এর রয়েছে Digilent , Avnet , Xess এবং আরও অনেক কিছু।

সুতরাং বেশ কয়েকটি বোর্ডের তুলনা করুন (দামটিও একটি অংশ খেলবে, আমি মনে করি) এবং আপনি যে এফপিজিএ ব্যবহারের পরিকল্পনা করছেন তার জন্য বিকাশ সফ্টওয়্যারটি ডাউনলোড করুন। আপনার নির্বাচিত এফপিজিএতে এটি উপযুক্ত হবে কিনা তা যাচাই করতে আপনার নকশাকে সংশ্লেষিত করুন এবং তারপরে আপনি এই এফপিজিএর চারপাশে একটি বোর্ড কেনার জন্য প্রস্তুত।

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


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

2
আপনার প্রশ্নগুলি, ক্রমে: 1) I / O পিনের মাধ্যমে বাইরের বিশ্বের সাথে এফপিজিএ ইন্টারফেস। পার্থক্য হ'ল ডেডিকেটেড চিপসের বিপরীতে আপনি পিনগুলি চয়ন করতে পারেন। 2) আপনি একটি স্টার্টার কিট, বিকাশ কিট, বা অনুরূপ দিয়ে শুরু করতে পারেন। এটিতে এফপিজিএ, I / O এর জন্য কিছু সংযোগকারী এবং বোর্ডে বিদ্যুৎ সরবরাহ থাকবে। বেশিরভাগ প্রোগ্রামার অন্তর্ভুক্ত; এক পেতে ভুলবেন না যদি। 3) হ্যাঁ, আপনি এফপিজিএ পুনরায় প্রোগ্রাম করতে পারেন। প্রোগ্রামটি মূলত একটি দৈত্য শিফট রেজিস্ট্রার যা অন-চিপে সংরক্ষণ করা হয়। প্রারম্ভকালে, একটি উত্সর্গীকৃত রাষ্ট্রীয় মেশিন বা বাহ্যিক উত্স এটিকে চিপে বোঝায়।
মাইক ডিসিমোন

9

আমি জিলিনক্সের সরঞ্জামগুলির সাথে পরিচিত নই, তবে আমি আল্টেরার সাথে রয়েছি, তাই আমি আপনাকে তাদের সম্পর্কে বলব। জিলিনেক্স এবং অন্যদের খুব আলাদা হওয়া উচিত নয়।

Verilog

আপনার প্রথমে যা করতে হবে তা হ'ল ভেরিলোগ । এটি আপনার মাথাকে আঘাত করবে কারণ ভেরিলোগ (এবং কিছুটা অনুরূপ ভিএইচডিএল) প্রথমে সিমুলেশন ভাষা হিসাবে ডিজাইন করা হয়েছিল এবং অনেকগুলি নির্মাণ ( #5যার অর্থ "অপেক্ষা 5 সময়ের পদক্ষেপ", একটি সময় পদক্ষেপ সাধারণত ন্যানোসেকেন্ড হয়ে থাকে)। তাই আপনি যদি মনে রাখতে হবে আপনার Verilog কোড করতে হবে যে বিধিনিষেধ অনেক আছে synthesizable একটি FPGA জন্য bitstream মধ্যে, অর্থাত্ compilable।

তবে সবচেয়ে বড় ধাক্কাটি হ'ল আপনি যা ভেরিলগ (এবং ভিএইচডিএল) এ লেখেন তা হ'ল সিস্টেমের কাছ থেকে আপনি যে আচরণটি প্রত্যাশা করছেন তা এবং সংকলকটি আপনার বিবরণ থেকে সঠিক যুক্তি অনুভব করে। আপনি যদি সাবধান না হন তবে আপনি এ থেকে প্রচুর দুষ্টু বাগ পেতে পারেন।

উদাহরণস্বরূপ, একটি ডি ফ্লিপ-ফ্লপ দেখতে দেখতে:

always @(posedge RESET or posedge CLK)
begin
    if(RESET)
        Q <= 1'b0;
    else if(CLK_ENA)
        Q <= D;
end

এটি কোনও ডিএফএফ কীভাবে কাজ করে তা বর্ণনা করে এবং সংকলকটি এটি বিশ্লেষণ করে আপনাকে একটি ডিএফএফ চাইবে তা নির্ধারণ করতে হবে। @(...)একটি বলা হয় সংবেদনশীলতা তালিকা , যা সংকেত যে কোড ব্লক একটি reevaluation আরম্ভ একটি তালিকা রয়েছে; সুতরাং, এই ব্লকটিতে Qকেবল তখনই পরিবর্তন হয় যখন সেখানে একটি বাড়তি প্রান্ত থাকে RESETবা CLK(এটি সক্রিয়-উচ্চ রিসেটের জন্য)। আপনি যদি সংবেদনশীলতার তালিকায় কিছু ভুলে যান (এতে কোনও ডান হাতের পার্শ্বের ভেরিয়েবলগুলি কোনও সংযুক্তিযুক্ত লজিক ব্লকের জন্য কোনও posedgeবা negedgeসংশোধক ছাড়াই থাকা উচিত ) সংকলক একটি ত্রুটি বলার পরিবর্তে প্রয়োজন অনুসারে ল্যাচগুলি সংশ্লেষিত করবে। ক্রেজি, তবে এটি এটি কীভাবে, কারণ ভেরিলোগ মূলত একটি সিমুলেশন ভাষা ছিল যা বাস্তবায়নের বিশদটি গোপন করে (এবং এটির প্রয়োজন হয় না)। ভিএইচডিএল একই তবে আরও অনেক ভার্জোজ ose

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

একটি ডিএফএফ-এর সিস্টেমভেরিলোগ সংস্করণ কয়েকটি ছোট ছোট জিনিস পরিষ্কার করে:

always_ff @(posedge RESET, posedge CLK)
begin
    if(RESET)
        Q <= '0;
    else if(CLK_ENA)
        Q <= D;
end

দ্রষ্টব্য যে সংবেদনশীলতার তালিকার সংকেতগুলি কমা দ্বারা পৃথক করা হয়েছে। এটি কারণ orবিভ্রান্তিকর কারণ andসেখানে কাজ করতে পারে না। 1'b0(একটি একক 0বিট) এর প্রতিস্থাপনটিও লক্ষ করুন '0(এমন একটি প্রতীক যা প্রসারিত হয় তবে অনেকগুলি 0বিটের ক্ষেত্রে এটি কী অর্পণ করা হচ্ছে তার উপর ভিত্তি করে; প্যারামিটারাইজড মডিউলগুলির সাথে আরও অনেক নমনীয়)। শেষ পর্যন্ত, always(যা কোনও কিছুর জন্য ব্যবহৃত হতে পারে; সংযুক্ত যুক্তি, ল্যাচস এবং ফ্লিপ ফ্লপ) এর প্রতিস্থাপনটি নোট করুন always_ffযার সাথে ফ্লিপ-ফ্লপগুলিকে সংশ্লেষিত করার জন্য সামগ্রীগুলি প্রয়োজন। always_combএটির একটি রয়েছে যা সংবেদনশীলতা তালিকাটি সরিয়ে দেয়, কারণ এটি কেবল ইনপুট থেকে ব্লকে সংবেদনশীলতাগুলি তৈরি করে।

আল্টেরার ডিজাইন সফ্টওয়্যারটিকে দ্বিতীয় কোয়ার্টাস বলা হয় এবং আপনি ওয়েব সংস্করণটি সন্ধান করবেন । (সাবস্ক্রিপশন সংস্করণগুলি বরং ব্যয়বহুল এবং কেবলমাত্র দ্রুত বা সাম্প্রতিকতম এফপিজিএ মডেলগুলির জন্য প্রয়োজন))

দুঃখের বিষয় হ'ল আমি এই বিষয়টিতে ভাল বইটি পাই নি। আমি যা শিখেছি একাধিক উত্স, যেমন ভেরিলোগ বইগুলি যা সংশ্লেষযোগ্য এবং কোনটি নয় এবং উদাহরণ কোডটি আপনাকে বলার ভাল কাজ করে না এমন জিনিসগুলি একসাথে পাইক করে আমি কী পেয়েছি। কোয়ার্টাস দ্বিতীয়টিতে একটি "সন্নিবেশ টেম্পলেট" কমান্ড রয়েছে যা ডি ফ্লিপ-ফ্লপ থেকে রাষ্ট্র মেশিনে কয়েকটি সাধারণ কাঠামোর জন্য টেমপ্লেট কোড সন্নিবেশ করে।

ডেমো হার্ডওয়্যার

একবার আপনি ভেরিলোগে আপনার প্রসেসরটি প্রয়োগ করে ফেললে আপনার এটি তৈরি করা দরকার। আপাতত, কোয়ার্টাসকে চিপটি বেছে নিতে দিন (আপনার পরিবারটি বেছে নিতে হবে; আমি সাইক্লোন চতুর্থকে সুপারিশ করব) এবং পিনআউটগুলি। একবার এটি হতাশ হয়ে উঠলে আপনি জানবেন যে আপনার কতটা চিপ দরকার। এটি আপনাকে বলবে যে আপনি কতগুলি যুক্তিযুক্ত উপাদান, ফ্লিপ ফ্লপ, র‌্যাম বিটস ইত্যাদি ব্যবহার করেছেন। নিশ্চিত হয়ে নিন যে এগুলির যে কোনওটির উপর আপনি 50% এর বেশি নন; আপনি যদি হন তবে কম্পাইলারটি চয়ন করা চিপটি দেখুন এবং ম্যানুয়ালি পরবর্তী বড়টি (যুক্তিযুক্ত উপাদানগুলিতে) নির্বাচন করুন যাতে কমপক্ষে অনেকগুলি পিন রয়েছে এবং আপনি 50% এর অধীনে ব্যবহার না হওয়া পর্যন্ত পুনরাবৃত্তি করুন।

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

এখন আপনি নিজের হার্ডওয়্যারটি বেছে নিয়েছেন, আসল পিনআউটগুলি খুঁজে বের করুন এবং ডান পিনগুলিতে ডান সংকেত রাখতে পিন প্ল্যানার ব্যবহার করুন। ডেমো বোর্ডের একটি ব্যবহারকারীর গাইড থাকবে যা আপনাকে জানায় যে ডেমো বোর্ডে কোন ডিভাইস বা সংযোজক পিনগুলি কোন পিনগুলি তারযুক্ত।

আপনি পিনআউটস সেট হয়ে গেলে এটি আবার তৈরি করুন যাতে এটি আপনার পছন্দসই পিনগুলি ব্যবহার করে। মনে রাখবেন যে সিস্টেম ঘড়ির মতো কিছু সংকেতের জন্য ডেডিকেটেড ইনপুট পিনের প্রয়োজন হবে (যাতে তারা সরাসরি অভ্যন্তরীণ পিএলএলগুলিতে যাত্রা করে)।

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

এটি একবার কাজ হয়ে গেলে, আপনি প্রোগ্রামারটিকে অনলাইন বোর্ডের কনফিগারেশন ডিভাইসে কোড ডাউনলোড করতে ব্যবহার করতে পারেন যাতে আপনার প্রোগ্রামটি লোড হয়ে যায় এবং পাওয়ার-অন চালিত হয়।

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

শুভকামনা!


দুর্দান্ত, এটি খুব সহায়ক। কেবল একটি জিনিস যাচাই করার জন্য, আমি স্কিম্যাটিক ক্যাপচার সম্পর্কে শুনেছি। ভেরিলোগ শেখার কি এটি একটি সম্ভাব্য বিকল্প? আমার যদি এটি করা হয় তবে আমি এটি শিখব, তবে এটি যদি 100% প্রয়োজনীয় না হয় তবে আমি এগুলি ইতিমধ্যে খুঁজে বের করার জন্য প্রয়োজনীয় জিনিসগুলির বিশাল তালিকায় যুক্ত করব না। অনেক ধন্যবাদ.
ররি ও'রে

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

1
এমন কি এমন কোনও সরঞ্জাম রয়েছে যা কিছুটা আরও "হার্ডওয়্যার বর্ণনামূলক" ভাষাটিকে ভেরিলোগ বা ভিএইচডিএলে রূপান্তর করতে পারে (যেমন আমি যদি নেট জেডকে একটি ফ্লিপ ফ্লপ হিসাবে দেখতে চাই যার ডেটা ইনপুটটি এ, বি এবং সি এর সংমিশ্রণ, যা অবিচ্ছিন্নভাবে পুনরায় সেট করা হয় সি এবং ডি সত্য, Z:= A & (B # C); Z.ar = C & D;সংবেদনশীলতা তালিকা এবং এ জাতীয় সম্পর্কে উদ্বিগ্ন না হয়ে এমন কিছু বলতে পারা ভালো লাগবে )।
সুপারক্যাট

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

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

5

হ্যাঁ, এফপিজিএগুলি অবশ্যই আপনার সমাধান!

আপনার প্রায় অবশ্যই হার্ডওয়্যার বর্ণনার ভাষা ব্যবহার করতে হবে , বা আপনার স্কিম্যাটিকাকে অন্য কোনও সরঞ্জামে পুনরায় প্রবেশ করতে হবে। আমি হিসাবে পরিকল্পনা হিসাবে পদ্ধতির বিরুদ্ধে সুপারিশ চাই

  1. এফপিজিএ সরঞ্জাম বিক্রেতারা সত্যই তাদের ভাল সমর্থন করছেন না
  2. এটি বহনযোগ্য নয়

একবার আপনি এইচডিএল লিখেছেন, যতক্ষণ না আপনি বিক্রেতাদের বিভিন্ন "আইপি উইজার্ড" ব্যবহার করে বা তাদের লাইব্রেরি থেকে উপাদানগুলিতে সরাসরি আটকানোর মাধ্যমে সরাসরি জিনিস সন্নিবেশ না করছেন, আপনার কোড থাকবে যা আপনি অন্য চিপগুলিতে মোটামুটি পোর্ট করতে পারবেন সহজেই (এম্বেডেড সি আইএমই পোর্টিংয়ের তুলনায় অনেক বেশি)

এছাড়াও, আপনার আরও অনেক ভাল পরীক্ষা এবং যাচাইকরণের পরিবেশ রয়েছে কারণ আপনি টেস্টগুলি লিখতে পারেন যা আপনার কার্যকারিতা "বুঝতে" পারে এবং ফলাফলটি আপনার জন্য পরীক্ষা করতে পারে, তরঙ্গমন্ত্রীর দিকে তাকানোর চেয়ে এটি ঠিক আছে কিনা তা দেখার জন্য।

বড় দুটি এইচডিএল হ'ল ভিএইচডিএল এবং ভেরিলোগ। আপনি এই উত্তরটি কীভাবে পৃথক হতে পারেন তা পড়তে পছন্দ করতে পারেন ...

ভিএইচডিএল নাকি ভেরিলোগ?

আমি এও বলব যে মাইএইচডিএল আপনার কাছে পাইথনটি আগে থেকেই জানা থাকলেও দেখার পক্ষে মূল্যবান - আপনাকে একটি বিশাল যাচাইকরণের ক্ষমতা দেয় তবে এখনও একটি "সাধারণ" এইচডিএল সবচেয়ে নিম্ন স্তরের নিয়ন্ত্রণ দেয়।

আপনি একবার এইচডিএল চয়ন করার পরে, এবং সেই কাজটি (আবার, দুঃখিত!) একটি সিমুলেশনে পান আপনি তারপরে এমন এক স্থানে থাকবেন যেখানে আপনি এটিকে বিক্রেতার সরঞ্জামগুলির মাধ্যমে ঠেলাঠেলি করতে পারেন এবং কার্যটির পরবর্তী বৃহত অংশটি শিখতে পারবেন - একবার এটি অনুকরণ করে সঠিকভাবে, এটি সংশ্লেষিত করার জন্য আপনি যে ভাবেন তার চেয়েও বেশি চেষ্টা থাকে :)

আপনি যদি স্কেমেটিক্সের সাথে আবদ্ধ হন এবং কোনও লাইসেন্স ধরে রাখতে পারেন তবে ল্যাবভিউএফপিজিএ আপনার উপযুক্ত হতে পারে।


3

হাম্বলান এট আল দ্বারা ডিজিটাল সিস্টেমগুলির দ্রুত প্রোটোটাইপিংয়ের একটি অনুলিপি পান:

http://users.ece.gatech.edu/~hamblen/book/bookte.htm

এটিতে প্রধানত ভিএইচডিএল ব্যবহার করা হয়, যা আমি ভেরিলোগের চেয়ে পছন্দ করি।

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


1

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


0

আপনি যদি এইচডিএল শিখতে পছন্দ করেন তবে আপনি যেদিকে প্রভাবিত করতে পারেন এটি কোনটি আরও ভাল ভাষা। ইউরোপে, ভিএইচডিএল আরও জনপ্রিয়। মার্কিন যুক্তরাষ্ট্রে, ভেরিলোগ আরও জনপ্রিয়, প্রতিরক্ষা শিল্প বাদে যা ভিএইচডিএল। (ইউএসএ প্রতিরক্ষা বিভাগ মূলত ভিএইচডিএল তৈরি করেছে) এর অর্থ কেবলমাত্র আপনার কাছের লোকেরা একটি ভাষা বা অন্য ভাষায় আরও ভালভাবে সহায়তা করতে সক্ষম হতে পারে। তবে আপনি যদি অনলাইনে সহায়তা খুঁজছেন তবে তা অপ্রাসঙ্গিক হতে পারে।

অন্যান্য বই বিবেচনা করার জন্য হ'ল ডিজিটাল সিস্টেমগুলির দ্রুত প্রোটোটাইপিং: এসওপিসি সংস্করণ যা আল্টেরা ডিএ 1 এবং ডিই 2 বোর্ডগুলি বোঝায় । তারা কীভাবে কাজ করে তা আপনাকে ধারণা দেওয়ার জন্য ইতিমধ্যে এখানে ডিআই 1 এবং ডিই 2 তে পোর্ট করা বিভিন্ন কম্পিউটার রয়েছে। Minimigtg68 (অমিগা), FpgaGen (সেগা জেনেসিস), ইত্যাদির উদাহরণগুলি দেখার জন্য এই বোর্ডে পোর্ট করা হয়েছে।

আপনি যদি জিলিনেক্সে যান তবে এখনই দুটি বই আছে। ভেরিলোগের দ্বারা এফপিজিএ প্রোটোটাইপ উদাহরণ: জিলিনেক্স স্পার্টান -৩ সংস্করণ এফপিজিএ প্রোটোটাইপিং ভিএইচডিএল উদাহরণগুলি: জিলিনেক্স স্পার্টান -৩ সংস্করণ যদিও আমি এগুলির সাথে সুপারিশ করার জন্য একটি বিশেষ বোর্ড জানি না। আমি আশাবাদী শীঘ্রই আসার বোর্ড, এফপিজিএ আরকেড সম্পর্কে উত্সাহিত তবে আমি এটি ভুলে যাচ্ছি যে এটির একটি Xilinx বা অন্য কিছু থাকবে।


0

এই বৈকল্পিকটি পাওয়া গেল আরও লোগিসিম বিকাশকারী, এখন লোগিসিম বিবর্তন নামে পরিচিত। লগিজিম নির্মিত একটি লজিক সার্কিটের স্কিম্যাটিক্স থেকে ভিএইচডিএলে রফতানি করার জন্য তারা একটি বৈশিষ্ট্য প্রয়োগ করেছে।

এটি এখানে পাওয়া যাবে: https://github.com/reds-heig/logisim-evolution

জেনে রাখুন এই প্রশ্নটি পুরানো, তবে এটি আমার জন্য একটি গাদা সাহায্য করেছিল, এবং আশা করি এটি অন্য কাউকে সাহায্য করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.