আমি কীভাবে খুব সাধারণ অ্যাসিনক্রোনাস ডিআরএএম নিয়ামককে বাস্তবায়ন করতে পারি?


9

আমি জানতে চাই যে খালি হাড়গুলির অ্যাসিক্রোনাস ডিআরএএম নিয়ামক কীভাবে তৈরি করা যায়। আমার কাছে কিছু 30-পিন 1MB সিমএম 70ns DRAM (সমতা সহ 1Mx9) মডিউল রয়েছে যা আমি হোমব্রিউ রেট্রো কম্পিউটার প্রকল্পে ব্যবহার করতে চাই। দুর্ভাগ্যক্রমে তাদের জন্য কোনও ডেটাশিট নেই তাই আমি সিমেন্স এইচআইএম 91000S-70 এবং আইবিএম দ্বারা " ডিগ্রাম অপারেশন বোঝার" থেকে চলেছি ।

আমি যে প্রাথমিক ইন্টারফেসটি শেষ করতে চাই তা হ'ল

  • / সিএস: ইন, চিপ নির্বাচন করুন
  • আর / ডাব্লু: ইন, পড়ুন / লিখবেন না
  • আরডিওয়াই: আউট, ডেটা প্রস্তুত হলে উচ্চ IGH
  • ডি: ইন / আউট, 8-বিট ডেটা বাস
  • উত্তর: ইন, 20-বিট ঠিকানা বাস

রিফ্রেশ মনে হচ্ছে এটিকে সঠিক করার জন্য বেশ কয়েকটি উপায়ের সাথে বেশ সোজা-এগিয়ে রয়েছে। আমার সারি ঠিকানা ট্র্যাকিংয়ের জন্য কোনও পুরানো কাউন্টার ব্যবহার করে সিপিইউ ক্লক লো (যেখানে এই নির্দিষ্ট চিপটিতে কোনও মেমরি অ্যাক্সেস করা হয় না) চলাকালীন বিতরণ (আন্তঃবাহিত) আরএএস-কেবলমাত্র রিফ্রেশিং (আরওআর) করতে সক্ষম হওয়া উচিত। আমি বিশ্বাস করি জেইডইসিইসি অনুসারে কমপক্ষে প্রতিটি 64৪ এমএসে (সিমেন্স ডেটাশিটম অনুসারে ৮ এমএসে ৫১২ অর্থাৎ চক্র / ১৫. 15us স্ট্যান্ডার্ড রিফ্রেশ) অনুযায়ী সমস্ত সারি রিফ্রেশ করা দরকার, সুতরাং এটি ঠিকঠাক কাজ করা উচিত এবং যদি আমি আটকে যাই তবে আমি কেবল পোস্ট করব আরেকটি প্রশ্ন. আমি পড়া, লেখার বিষয়ে আরও আগ্রহী, গতি পর্যন্ত আমার কী আশা করা উচিত তা সঠিক, সঠিক এবং নির্ধারণ করতে।

আমি কীভাবে এটি কাজ করে এবং আমি এখন পর্যন্ত যে সম্ভাব্য সমাধান নিয়ে এসেছি তা আমি দ্রুততার সাথে বর্ণনা করব।

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

সুতরাং, মূলত এটি প্রতিটি সংক্রমণের মধ্যে অ-ইউনিফর্ম নির্দিষ্ট বিলম্ব সহ বেশ কয়েকটি রাজ্যের মধ্য দিয়ে একটি স্থানান্তর। আমি এটিকে লেনদেনের প্রতিটি পর্বের ক্রম অনুসারে সূচকে "টেবিল" হিসাবে তালিকাভুক্ত করেছি:

  1. t (ASR) = 0ns
    • / আরএএস: এইচ
    • /নগদ
    • এ0-9: আরএ
    • / ডাব্লু: এইচ
  2. t (আরএএইচ) = 10 এস
    • / আরএএস: এল
    • /নগদ
    • এ0-9: আরএ
    • / ডাব্লু: এইচ
  3. t (ASC) = 0ns
    • / আরএএস: এল
    • /নগদ
    • এ0-9: সিএ
    • / ডাব্লু: এইচ
  4. t (CAH) = 15ns ns
    • / আরএএস: এল
    • / সিএএস: এল
    • এ0-9: সিএ
    • / ডাব্লু: এইচ
  5. টি (সিএসি) - টি (সিএএইচ) =?
    • / আরএএস: এল
    • / সিএএস: এল
    • A0-9: এক্স
    • / ডাব্লু: এইচ (ডেটা উপলব্ধ)
  6. t (RP) = 40ns
    • / আরএএস: এইচ
    • / সিএএস: এল
    • A0-9: এক্স
    • / ডাব্লু: এক্স
  7. t (সিপি) = 10ns
    • / আরএএস: এইচ
    • /নগদ
    • A0-9: এক্স
    • / ডাব্লু: এক্স

আমি যে সময়টির উল্লেখ করছি সেগুলি নিম্নলিখিত চিত্রটিতে রয়েছে।

টাইমিং ডায়াগ্রাম

(সিএ = কলাম ঠিকানা, আরএ = সারির ঠিকানা, এক্স = যত্ন নেই)

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

সহজ সমাধানটি কেবল একটি কাউন্টার এবং একটি রম ব্যবহার করা যেখানে কাউন্টারের আউটপুটটি রম অ্যাড্রেস ইনপুট হয় এবং প্রতিটি বাইটের ঠিকানার সাথে সম্পর্কিত সময়ের জন্য উপযুক্ত স্টেট আউটপুট থাকে। এটি কাজ করবে না কারণ রমগুলি ধীর। এমনকি একটি প্রাক-লোডযুক্ত এসআরএএম মনে হচ্ছে এটির পক্ষে এটি যথেষ্ট ধীর হবে।

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

আমার শেষ ধারণাটি কেবলমাত্র আমি মনে করি বাস্তবে এটি কার্যকর হতে পারে। A৪ এএসিটি লজিক পরিবারটিতে কম প্রচারের বিলম্ব রয়েছে এবং উচ্চ ঘড়ির ফ্রিকোয়েন্সি গ্রহণ করে। আমি ভাবছি কিছু CD74ACT164E শিফট রেজিস্ট্রার এবং SN74ACT573N দিয়ে পড়া এবং লেখার কাজ করা যেতে পারে ।

মূলত, প্রতিটি অনন্য রাষ্ট্র 5V এবং জিএনডি রেল ব্যবহার করে স্ট্যাটিকালি নিজের নিজস্ব ল্যাচ পেয়ে থাকে। প্রতিটি শিফ্ট রেজিস্টার আউটপুট একটি ল্যাচ / ওই পিনে যায়। যদি আমি ডেটা শিটগুলি ঠিকঠাক বুঝতে পারি তবে প্রতিটি রাজ্যের মধ্যে বিলম্ব কেবল 1 / এসসিএলকে হতে পারে তবে এটি একটি প্রম বা 74 এইচসি সমাধানের চেয়ে অনেক ভাল।

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

পিএস আমি এটি ডিআইপিতে করণীয়যোগ্য হতে চাই এবং এফপিজিএ বা আধুনিক ইউসি ব্যবহার করে "প্রতারণা" না করি।

পিপিএস সম্ভবত একই ল্যাচ পদ্ধতির সাথে সরাসরি গেটের বিলম্ব ব্যবহার করা ভাল ধারণা। আমি শিফট রেজিস্টার এবং সরাসরি গেট / প্রচারের বিলম্ব পদ্ধতি উভয়ই তাপমাত্রার সাথে পরিবর্তিত হতে পারি তবে আমি এটি গ্রহণ করি।

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


1
আপনার রেট্রো কম্পিউটারটি কোন সিপিইউ ব্যবহার করতে চলেছে?
বেনামে

6502, মেমরি স্পষ্টতই ব্যাঙ্ক করা হবে।
অ্যান্টনি

আপনার জন্য সাইকেল উদ্ভাবন করা কি সম্ভব নয়, ডিআরএএম ব্যবহার করে কি ইতিমধ্যে উপলব্ধ ডিজাইন রয়েছে? আমি এই মেশিনগুলির পরিবারের সাথে পরিচিত নই, তবে সি 64 অবশ্যই একটি ভাল ম্যাচ হবে। তবে এটি র‌্যাম নিয়ন্ত্রণ করতে মূলত 6567 "ভিআইসি" চিপ ব্যবহার করে। তবে আবার, আমি নিশ্চিত যে তখন থেকেই আপনি যা করতে চান তার সাথে সম্পর্কিত প্রকল্পগুলি ছিল।
বেনামে

3
কিছুটা রেড পরামর্শ: জেড 80-এ রিফ্রেশ যুক্তি পরিচালনা করার জন্য অন্তর্নির্মিত পর্যায়ে একটি ডিআআরএম কন্ট্রোলার রয়েছে। (যদিও আপনার এখনও ঠিকানা মাল্টিপ্লেক্সারের প্রয়োজন ছিল)
ব্রায়ান ড্রামমন্ড

3
@ ব্রায়ান ড্রামমন্ড দয়া করে, অন্ধকার দিকে যাওয়ার পরামর্শ দিবেন না। এর থেকে ভাল কিছু বেরোতে পারে না।
পাইপ

উত্তর:


6

আইবিএম পার্সোনাল কম্পিউটার এক্সটি প্রযুক্তিগত রেফারেন্স ম্যানুয়াল (অ্যাপেন্ডিক্স ডি) এ আইবিএম পিসি / এক্সটির জন্য সম্পূর্ণ স্কিমেটিকাস রয়েছে, যা আপনি অনলাইনে খুঁজে পেতে সক্ষম হতে পারেন।

এখানে সমস্যাটি হ'ল, একটি স্ট্রোব লাইন দেওয়া যা পড়া বা লেখার স্মৃতিতে সক্রিয় করা হয়, আপনি ঠিকানা মাল্টিপ্লেক্সারের জন্য আরএএস, সিএএস এবং একটি নিয়ন্ত্রণ লাইন (এটিকে MUX কল করুন) জেনারেট করতে চান। সরলতার জন্য, আমি অবাস্তবভাবে ধরে নেব যে স্ট্রোব, আরএএস এবং সিএএস সমস্ত সক্রিয়-উচ্চ।

এই সময় জুড়ে অন্য কয়েকটি কম্পিউটারের পিসি / এক্সটি স্কিমেটিক এবং স্কিম্যাটিক্সের দিকে তাকালে আমি তিনটি বুনিয়াদি কৌশল দেখতে পাচ্ছি, যা মোটামুটি নীচে রয়েছে:

  • আরএএসের জন্য স্ট্রোব ব্যবহার করুন। MUX উত্পন্ন করতে আরএএস-এ বিলম্বের রেখা (যার আউটপুটটি তার ইনপুটটির একটি সময়-বিলম্বিত সংস্করণ) ব্যবহার করুন এবং আরএএস-এর একটি পরবর্তী সংস্করণ তৈরি করতে অন্য বিলম্ব লাইনটি ব্যবহার করুন, যা সিএএস এর জন্য ব্যবহৃত হয়। এই কৌশলটি পিসি / এক্সটি এবং টিআরএস -80 মডেল II দ্বারা ব্যবহৃত হয়।

    একটি উদাহরণ (আধুনিক) বিলম্ব রেখার অংশটি হ'ল ম্যাক্সিমাম ডিএস 1100।

  • আরএএসের জন্য স্ট্রোবটি ব্যবহার করুন এবং এটি MUX এবং CAS এর জন্য বিলম্ব করুন, তবে বিলম্বের লাইনের পরিবর্তে উচ্চ-গতির শিফট রেজিস্টার ব্যবহার করে এটি করুন। এই কৌশলটি টিআরএস -80 মডেল I এবং অ্যাপল II দ্বারা ব্যবহৃত হয়।

  • কাস্টম আইসি ব্যবহার করুন। এটি কমোডোর 64 এর কৌশল।


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

5

আপনার প্রশ্নটি যথেষ্ট জটিল যে আপনার আসল সমস্যাটি কী তা আমি নিশ্চিতও না, তবে আমি চেষ্টা করব!

আমি যে "পরিষ্কার" 6502-ভিত্তিক DRAM নকশাটি পেয়েছিলাম তা কমোডোর পিইটি 2001-N এর । এটির একটি 6 মেগাহার্টজ গতিতে 6502 চলছে, তবে ডিআরএএম যুক্তিটি 16 মেগাহার্টজ এ আটকানো হয়েছে, সম্ভবত সমস্ত সময় তৈরি হতে পারে।

আমি বিশদ বিশ্লেষণ করিনি, তবে মূল ক্রিয়াটি 74164 শিফট রেজিস্টারে সংযুক্ত 74191 4-বিট কাউন্টার দিয়ে দেখা যাচ্ছে। এটি আরআর / ডাব্লু লাইন দ্বারা নিয়ন্ত্রিত 74৪১৫7 এমউএক্স-তে 8 টি পৃথক লাইন আউটপুট করে। চূড়ান্ত আরএএস / সিএএস সংকেত তৈরি করতে এমএউএক্স থেকে আউটপুট একটি 7474 ফ্লিপ-ফ্লপ এবং কিছু বিযুক্ত যুক্তির মধ্যে চলে যায়। রেফারেন্স স্কিম্যাটিকটিতে প্রাসঙ্গিক পৃষ্ঠায় লিঙ্ক করা একটি অংশ এখানে দেওয়া আছে।

পিইটি 2001-এন রেফারেন্স পৃষ্ঠা 6

রিফ্রেশটি একটি পৃথক কাউন্টার দিয়ে পরিচালনা করা হয় এবং প্রতিটি ঠিকানা লাইনটি একাধিক প্লেয়ারে আবদ্ধ হয় যা "আসল" ঠিকানা বা রিফ্রেশ ঠিকানা নির্বাচন করে।

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


এটি আমি যা ভাবছিলাম তা কিন্তু আমি এম ইউএক্স বা দু'টির পরিবর্তে একাধিক ল্যাচগুলি ব্রেইনস্টর্ম করতে যথেষ্ট বোকা ছিলাম। ১M মেগাহার্জ ঘড়িটি আমাকে ছুঁড়ে ফেলেছে কারণ একটি) এটি সিপিইউ ঘড়ির তুলনায় অনেক বেশি যা আমি ঠিকই অদ্ভুত পেয়েছি তবে তা বোঝা যায় এবং খ) পর্যায়ক্রমে সর্বনিম্ন ~ 62ns প্লাস প্রচারের বিলম্ব হতে পারে যা আমি ভেবেছিলাম ধীর ছিল তবে এখন আমি এটি আইবিএম পিসি / এক্সটি হিসাবে একই ক্রমে দেখুন।
অ্যান্টনি

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

-2

পিএস আমি এটি ডিআইপিতে করণীয়যোগ্য হতে চাই এবং এফপিজিএ বা আধুনিক ইউসি ব্যবহার করে "প্রতারণা" না করি।

আমি আপনার প্রকল্পের স্পিরিট এবং অ-অভিনব অংশগুলি ব্যবহার করার আপনার ইচ্ছাটিকে পুরোপুরি বুঝতে পেরেছি, আমি যদি আপনি থাকতাম তবে আমি অবশ্যই এফপিজিএ পথে যাব

বিভিন্ন কারণে:

  1. এটি একটি নিখুঁত শেখার সুযোগ। ডিআরএএম নিয়ামক ডিজাইন করা কোনও "হ্যালো-ওয়ার্ল্ড" প্রকল্প নয় এবং এর পরে আপনি আত্মবিশ্বাসের সাথে বলতে পারেন যে আপনি "করতে পারেন" এফপিজিএ;
  2. আপনি এই স্মৃতি থেকে প্রতিটি কার্য সম্পাদন করতে পারবেন, বিশেষত এটি যদি পুরানো ডিআরএএম চিপ হয়। আপনি কেবল নিজের বাড়িতে 6502 ভিত্তিক পিসি তৈরি করতেন তা নয়, আপনার পক্ষে দ্রুততম 6502 ভিত্তিক পিসি থাকতে পারে;
  3. ইস্যুগুলি ডিবাগ করা বা আপনার সিপিইউ জারি করা মেমরি অপারেশনগুলির পরিসংখ্যান তৈরি করা আরও সহজ হতে পারে। আপনি সমান্তরাল বাসগুলিতে যুক্তি বিশ্লেষক ব্যবহার করতে পারেন তবে এটি মজাদার নয় (আমার এক বন্ধু এই লাইনের সাথে কিছু করে - তিনি ৮০৮৮-এর একটি চক্র-নির্ভুল সিমুলেশন লিখতে চান এবং সেই কারণে তাকে মেমরির প্রবেশাধিকার এবং সময় সম্পর্কে এই পরিসংখ্যান সংগ্রহ করতে হবে) নিদর্শনসমূহ। তিনি মূল চিপ সেটটি (8288, 8280, 8237) ব্যবহার করেন এবং প্রচুর চ্যানেল সহ একটি যুক্তি বিশ্লেষক ব্যবহার করেন তবে তাঁর অভিজ্ঞতা থেকে আমি আপনাকে বলতে পারি এটি একটি টানা)।

2
আমি নিশ্চিত না যে এটি কোনও মন্তব্যের পরিবর্তে কীভাবে একটি উত্তর। 1) তিনি এফপিজিএ শিখতে চান তা বলেন না। 2) 80 এর দশকের ড্রামগুলি ইতিমধ্যে পৃথক যুক্তির জন্য যথেষ্ট ধীর। 3) ডিবাগিং কঠিন হতে পারে। কেন এফপিজিএ, বা এমনকি কেবল সফ্টওয়্যারগুলিতে সমস্ত কিছু বাস্তবায়ন করবেন না? এমনকি কেন
পাইপ

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

1
@ পাইপ: পুনর্নির্মাণ বোর্ডগুলি প্রায়শই কঠিন, সময় সাপেক্ষ এবং হতাশাজনক হয়, বিশেষত যদি কোনও এটিতে দক্ষ না হয়। ডিজাইনের কিছু অংশের জন্য কিছু মোটামুটি সাধারণ পিএলডি (উদাহরণস্বরূপ 22 ভি 10) ব্যবহার করা জিনিসগুলিকে টুইঙ্ক করা সহজ করবে।
সুপারক্যাট
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.