امروزه استفاده از سیستم های الکترونیکی دیجیتال در همه ابعاد گسترش یافته است و بر سیستم های مبتنی بر طراحی آنالوگ برتری دارد . برتری ویژهی سیستمهای دیجیتال بر آنالوگ ، امروزه باعث شده تمایل بسیاری برای طراحی بر پایهی سیستمهای دیجیتال بهوجود آید. در یک سیستم دیجیتال تمامی داده ها و اطلاعات به صورت کدهای ۰ یا ۱ نمایش ، پردازش و ذخیره می شود که باعث می شود مزیت هایی برای این سیستمها بوجود آید .
گرچه کامپیوتر مثال بارزی از یک سیستم دیجیتال است اما سیستمهای بسیار دیگری نیز مبتنی بر طراحی دیجیتال وجود دارند مانند ساعت های دیجیتال ، ماشین حساب ، گوشی های تلفن همراه و تبلت ها و …
سیستم های دیجیتال را می توان در سطوح مختلف طراحی و پیاده سازی نمود . از بالاترین سطح که تنها رفتار و عملکرد یک سیستم را شامل می شود و هیچ تشریحی از سخت افزار ذکر نشده است تا سطوحی که ساختار فیزیکی مواد سازنده آنها را نیز مورد مطالعه قرار می دهد . به طور کلی سطوح طراحی یک سیستم دیجیتال به صورت زیر است :
ترانزیستور به عنوان مهمترین قطعه الکترونیکی شناخته شده است و جزو اصلی سازنده سیستم های دیجیتال می باشد به طوری که یک سیستم دیجیتال از ترکیب تعداد بسیار زیادی ترانزیستور با هم بوجود می آید .
در مدارات دیجیتال از ترانزیستور به عنوان سوئیچ قطع و وصل ( ۰ و ۱ ) استفاده می شود . منطق های ۰ و ۱ در حقیقت سطوح ولتاژ بالا ( High ) و پایین ( Low ) هستند که از به هم پیوستن آنها سیگنال های دیجیتال شکل می گیرند . سیگنال دیجیتال مجموعه ای از صفرها و یک های منطقی است که در واحد زمان عبور می کند . بنابراین یک سیگنال دیجیتال در بردارنده اطلاعات به صورت کدهای ۰ و ۱ می باشد.
از ترکیب تعدادی ترانزیستور با هم سطوح بالاتر طراحی دیجیتال شکل می گیرد . در این سطح طراحی به تمامی جزئیات مربوط به فیزیک ترانزیستور از جمله ابعاد ترانزیستور و تکنولوژی ساخت آن توجه بسیاری می شود . تکنولوژی های ساخت ترانزیستور در جهت طراحی ترانزیستور با سرعت بالاتر ، توان مصرفی کمتر ، بسته بندی کم حجم تر و قیمت تمام شده پایین تر پیش می رود . برای طراحی در این سطح مسیر کاملا متفاوتی نسبت به سطوح دیگر وجود دارد چرا که این سطح نیازمند دانش عمیق فیزیک الکترونیک و طراحی مدارات مجتمع دیجیتال می باشد . تراشه های موسوم به ASIC یا مدارات مجتمع خاص ( Application Specific Integrated Ciruts ) براساس طراحی در سطح ترانزیستور و به منظور انجام عملیات خاص، طراحی و ساخته می شود ولی ساخت این مدارات در صورت تولید کم آن از دیدگاه اقتصادی قابل توجیه نیست. در این سطح مسیر طراحی طولانی تر ولی با کیفیت بیشتر از سایر سطوح می باشد . مشکل دیگر این تراشه ها آن است که در صورت نیاز به ایجاد یک تغییر کوچک در طراحی، باید پروسه زمانبر و پر هزینه فوق مجدداً سپری شود.
در این سطح طراحی ابتدا به معرفی و تشریح گیت ها و رجیستر ها می پردازیم .
دروازهٔ منطقی یا گیت منطقی ( Logic gate) روی یک
یا دو ورودی منطقی عملیات منطقی انجام میدهد و سرانجام یک خروجی منطقی را
تولید میکند. گیتهای منطقی ممکن است به صورت یک مدار با اجزای الکترونیکی
ساخته شده باشند یا بصورت یک آی سی درآمده باشند. این آی سی ها در درون خود
از تعدادی دیود ، ترانزیستور ، خازن و مقاومت ساخته شده است .
گیتهای منطقی معروف و پرکاربرد عبارتند از :
AND
OR
NOT
Buffer
XOR و XNOR
NAND و NOR
هر یک از این گیتهای منطقی یک سمبل و یک کارکرد خاص دارند.
طرز کار آنها به این صورت است که هر کدام یک یا چند پایه ورودی دارند و یک
پایه خروجی. با توجه به اینکه وضعیت ورودی ها به چه صورتی باشد ، خروجی
وضعیت خاصی می یابد.
برای هر گیت منطقی یک جدول وجود دارد که رابطه بین ورودی ها و خروجی در آن
نمایش داده شده. مخصوصا گیتهای منطقی که بصورت آی سی در بازار موجودند
دارای جداولی به نام Truth Table (جدول درستی) در دیتاشیت خود هستند که در
آنها نشان داده شده که در هر وضعیت ورودی ها ، خروجی چگونه خواهد بود.
گیت AND در صورتی که همه ورودی ها ۱ باشد خروجی در وضعیت بالا قرار می گیرد وگرنه در بقیه موارد خروجی در سطح صفر منطقی می باشد شکل زیر جدول صحت و نماد استاندارد گیت AND نشان داده شده است. آی سی ۷۴۰۸ دارای دو گیت AND می باشد .
گیت OR در صورتی که یکی از ورودیها ویا همه ورودیها بالا باشد (یک منطقی)خروجی در وضعیت بالا قرار می گیرد . آی سی ۷۴۳۲ دارای دو گیت OR می باشد .
گیت NOT هر آنچه در ورودی اعمال می شود آن را معکوس می کند و به خروجی می برد. آی سی ۷۴۰۴ دارای ۶ گیت not می باشد.
این گیت همانند گیت NOT یک ورودی و یک خروجی دارد . اما منطق ورودی و خروجی یکسان است . آی سی ۷۴۲۴۴ دارای ۸ بافر با پایه فعالساز می باشد .
کاربرد بافرها در مدار به علت :
گیت NAND مکمل گیت AND است و خروجی منحصر به فرد آن در زمانی یک منطقی نمی باشد که همه ورودیها در سطح بالا (یک منطقی) باشد. آی سی ۷۴۰۰ دارای دو Nand می باشد .
گیت NOR مکمل گیت OR می باشد و خروجی آن وقتی یک است که ورودی ها در سطح صفر منطقی باشند. آی سی ۷۴۰۲ دارای دو گیت NOR می باشد .
تابع XOR که به OR انحصاری معروف است در صورتی که تعداد فردی از ورودی ها ۱ باشد خروجی ۱ می شود این اصل در جدول صحت بیان شده است . آی سی ۷۴۸۶ داری ۴ گیت XOR می باشد .
مکمل گیت XOR می باشد . آی سی ۷۴۲۶۶ دارای ۴ گیت XNOR می باشد .
مدار ترکیبی که دو رقم دودویی ( دو بیت ) را با هم جمع می کند ، نیم جمع کننده می نامند.
مداری که سه رقم دودویی ( سه بیت ) را جمع کند (جمع دو رقم دودویی و یک رقم نقلی حاصل از ستون قبلی)، تمام جمع کننده نامیده می شود.
که در این مدار ها S حاصل جمع دو رقم، C رقم نقلی خروجی، x و y دو رقم جمع شونده و z رقم نقلی طبقه ی با ارزش کمتر.
به طور کلی مدارهای موجود در طراحی سیستم های دیجیتال را می توان به دو دسته زیر تقسیم می شوند :
در مدارهای ترتیبی یک سیگنال مرجع وجود دارد که عملکرد مدار به آن وابسته است و مدار نسبت به تغییرات آن حساسیت دارد به طوری که مدارهای ترتیبی فقط به سیگنال های ورودی که روی زمان خاصی می رسند، پاسخ می دهند. به این پالس مرجع پالس ساعت (Clock) گویند .
در مدارهای ترکیبی هیچ گونه سیگنالی به عنوان تعیین پذیرش ورودی ندارند و همه ورودیها به طور یکسان می توانند بر مدار اثر بگذارند. در این مدارها لازم است که تمامی تغییرات در سیگنالهای ذخیره شده داخلی پیگیری شود.
یک مدار ترکیبی است که دارایn بیت ورودی و ۲n بیت خروجی دیجیتال می باشد. بر اساس کدی که در ورودی دیکدر قرار می گیرد تنها یکی از ۲n خروجی آن فعال می شود.
مثال : ( دیکدر ۳ به ۸ ) خروجی : ۰۰۰۰۰۱۰۰ <——– ورودی : ۰۱۰
از کاربردهای دیکدر میتوان به آدرس دهی خطوط حافظه اشاره کرد. در این کاربرد کدهای موجود در ثبات آدرس که آدرس محلی از حافظه را به صورت کد نگاه می دارد ، بوسیله کد گشا رمز گشایی می شود .
یک مدار ترکیبی با ۲n ورودی و n خروجی می باشد . در کدگذار در صورتی که یکی از پایه های ورودی را فعال کنیم در خروجی کد باینری معادل آن تولید می شود . یعنی انکدر دقیقا عکس دیکدر عمل می کند.
مثال : انکدر ۴ به ۲
از
کاربردهای انکدر می توان دریافتن آدرس وقفه های مختلفی که به پردازنده ای
فرستاده می شود اشاره کرد. در این کاربرد دیگر نیاز نیست که برای هر وسیله
که وقفه نیاز دارد ، خطوط جداگانه ای برای آدرس ایجاد کرد یعنی ۲n وسیله را با n خط و با یک کد گذار می توان آدرس دهی کرد.
یک مدار ترکیبی است که دارای ۲n بیت ورودی دیتا ، n بیت انتخاب دیتا و ۱ بیت خروجی می باشد . یک مالتی پلکسر توسط n بیت انتخاب دیتا ۲n ورودی راکنترل می کند که کدام یک از آنها به خروجی وصل باشد . پس در واقع مالتی پلکسر همانند سوئیچی عمل می کند که از بین تعدادی ورودی یکی از آنها انتخاب و به خروجی وصل می شود .
دارای ۱ ورودی و n خروجی و n بیت انتخاب است . دی مالتی پلکسر دقیقا عکس مالتی پلکسر عمل می کند یعنی انتخاب می کند که یک خط دیتای وارد شده به کدام خروجی وصل شود . دیگر خروجی ها صفر هستند .
در مدارهای ترکیبی دیجیتال به محض تغییر ورودی ، خروجی نیز تغییر می کند و همچنین خروجی فعلی تنها به ورودی فعلی بستگی دارد . اما دسته ای دیگر از مدارها هستند که برای آنها پیش بینی مقادیر خروجی ها با دانستن ورودی های فعلی همیشه امکانپذیر نیست. به عبارت دیگر خروجی اینگونه مدارها می توانند علاوه بر ورودی های فعلی به ورودی های قبلی مدار نیز وابسته باشند. مدارهایی را که اینگونه عمل می کنند مدارهای ترتیبی می نامند. مدارات ترتیبی را مدارات باحافظه هم می گویند . بنابراین در مدارهای ترتیبی، خروجی نه تنها به ورودی فعلی بلکه به ورودیهای قبلی هم بستگی دارد و قادرند اطلاعات را در خود ذخیره کنند.
یکی از انواع حافظه ها با سرعت بسیار بالا هستند که درون پردازنده ها و میکروکنترلرها کاربرد دارد. رجیستر ها معمولا از فلیپ فلاپ D ساخته میشوند و به تعداد بیت هایی که دارند فلیپ فلاپ D دارند. هر رجیستر میتواند به دو صورت پر و خالی شود یکی به صورت موازی و دیگری به صورت سریال . در شکل زیر یک رجیستر ۴ بیتی نشان داده شده است که به صورت موازی پر و خالی می شود.