فلیپ‌فلاپ

مداری که دارای دو وضعیت پایدار است و می‌تواند اطلاعات یک وضعیت را در خود ذخیره کند
(تغییرمسیر از فلیپ فلاپ)

در الکترونیک دیجیتال فلیپ‌فلاپ (به انگلیسی: Flip-flop) یا لچ (به انگلیسی: latch) نوعی مدار است که داری دو حالت پایدار است و می‌تواند ۱ بیت (که شامل حالت فلیپ‌فلاپ است) را در خود ذخیره کند. یک فلیپ‌فلاپ یک «مدار نوسان ساز بای-استیبل» است. مدار می‌تواند به شکلی ساخته شده باشد، که به وسیله سیگنال‌های گرفته شده از یک یا چند ورودی، یک یا چند خروجی را تولید کند. یک فلیپ‌فلاپ یکی از حافظه‌های ابتدایی در مدارهای ترتیبی می‌باشد. فلیپ‌فلاپ‌ها از بلاک‌های اصلی مدارهای دیجیتال هستند و استفاده‌های فراوانی در رایانه و طراحی مدارهای مخابراتی دارند.

R1, R2 = 10 kΩ R3, R4 = 1 kΩ
مدار یک فلیپ‌فلاپ که از دو گیت NOR ساخته شده‌است

از فلیپ‌فلاپ‌های برای طراحی سلول‌های حافظه استفاده می‌شود. یک فلیپ‌فلاپ امکان ذخیره‌سازی یک بیت را دارد، که می‌تواند در حالت یک یا صفر باشد. چنین سلول حافظه‌ای برای نگهداری حالت، و مدارهایی که در الکترونیک به عنوان مدارهای ترتیبی یاد می‌شود، استفاده می‌شود. زمانی که از یک ماشین حالات متناهی استفاده می‌شود، خروجی نه تنها وابسته به ورودی فعلی است، بلکه وابسته به حالت موجود فعلی نیز می‌باشد (بنابراین وابسته به ورودی قبلی هم هست). همچنین می‌توان برای شمارش واحد زمانی، هم‌گاه سازی از چند ورودی در زمان‌های مختلف برای ساخت یک واحد زمانی جداگانه، استفاده کرد.

فلیپ‌فلاپ می‌تواند به شکل ساده (شفاف یا غیر شفاف) یا همراه با سیگنال ساعت (هم‌گاه سازی شده یا لبه سیگنال) باشد. اگر چه کلمه فلیپ‌فلاپ به شکل کلی به هر دو نوع ساده و همراه با سیگنال ساعت اشاره دارد، اما امروزه، فلیپ‌فلاپ را برای مدارهای دارای سیگنال ساعت استفاده می‌کنند و برای شکل ساده آن از کلمه لچ استفاده می‌کنند.

در اصطلاح علمی، لچ حساس به سطح است، و فلیپ‌فلاپ حساس به لبه. به همین دلیل زمانی که لچ فعال می‌شود، وضعیت آن روشن است در حالی که یک فلیپ‌فلاپ تنها با تغییر حالت ساعت، حالتش تغییر می‌کند.

تاریخچه

ویرایش

نخستین فیلیپ فلاپها در سال ۱۹۱۸ میلادی توسط ویلیام اکلز و فرانک ویلفرد جوردن اختراع گردید.[۱][۲] در ابتدا نام آن مدار تریگر اکلز-جوردن بود و شامل دو عنصر فعال (لامپ خلأ) بود. طراحی آن در سال ۱۹۴۳ در کامپیوترهای کدشکن کلوسوس استفاده شد و این مدارها و گونه‌های ترانزیستوری شده آن‌ها در کامپیوترها حتی پس از معرفی مدار مجتمع متداول بودند. با اینکه الان فلیپ فلاپ‌های ساخته شده از دروازه منطقی متداول هستند، فلیپ فلاپ‌های اولیه به مدارهای تریگر یا مدار نوسان‌ساز معروف بودند.

بنا به پ.ل.لیندلی، مهندسی در آزمایشگاه پیش‌رانش جت موسوم به جی‌پی‌ال، انواع مخلتف فلیپ فلاپ ابتدا در سال ۱۹۵۴ در درس طراحی کامپیوتر دانشگاه کالیفرنیا، لس آنجلس تدریس شده توسط مانتگامری فستر مطرح شدند و سپس در کتاب او، طراحی منطقی کامپیوترهای دیجیتال، ظاهر شدند. در آن زمان لیندلی در شرکت هواپیماسازی هیوز زیر نظر الدرید نلسون کار می‌کرد. نلسون اصطلاح جی-کی برای فلیپ فلاپی که وقتی هر دو ورودی آن برابر 1 منطقی هستند، تغییر حالت می‌دهد، ابداع کرده بود و بقیه اسم‌ها توسط فیستر ابداع شده بودند. لیندلی توضیح داده است که داستان فلیپ فلاپ جی-کی را از نلسون که خود مسئول ابداع این اصطلاح است، هنگامی که در هواپیماسازی هیوز کار می‌کرده، شنیده است. فلیپ فلاپ‌هایی که در هیوز استفاده می‌شدند، همه از نوعی بودند که بعدا به فلیپ فلاپ‌های جی-کی معروف شدند.

انواع فیلیپ فلاپ‌ها

ویرایش

فیلیپ فلاپها انواع مختلفی دارند که عبارتند از:[۳]

  • فلیپ فلاپ SR
  • فلیپ فلاپ JK
  • فلیپ فلاپ T
  • فلیپ فلاپ D

فلیپ فلاپ SR

ویرایش
 
سمبل لچ SR

فلیپ فلاپ SR مداری با دو گیت NAND یا NOR است که به‌طور متقاطع به هم وصل گردیده‌اند. این مدار دو ورودی Set و Reset دارد. لچ دارای دو حالت مفید است. وقتی خروجی Q=۱ و Q'=۰ لچ در حالت نشانده (منطق ۱) است و اگر Q=۰ و Q'=۱ باشد، در حالت بازنشانی است. خروجی‌های Q و 'Q متمم هستند؛ با این وجود وقتی هر دوی آن‌ها یک شوند، حالت تعریف نشده داریم.

 
جدول مشخصه فیلیپ فلاپ SR (ساخته شده با گیت NOR([۴]
جدول مشخصه جدول تحریک
S R Action Q(t) Q(t+1) S R Action
0 0 حفظ حالت قبل 0 0 0 X بدون تغییر
0 1 Q = 0 1 0 0 1 reset
1 0 Q = 1 0 1 1 0 set
1 1 حالت تعریف نشده 1 1 X 0 race condition

X در جدول نشان دهنده حالت بی‌اهمیت است.

فلیپ فلاپ JK

ویرایش
 
سمبل فیلیپ فلاپ JK با کلاک

فلیپ فلاپ JK طبق شکل دارای دو ورودی و دو خروجی و یک پایه کلاک (clk) است. این فیلیپ فلاپ به خاطر پایه کلاک مشکل فیلیپ فلاپ SR را ندارد (در فیلیپ فلاپ SR دو ورودی با هم نمی‌توانند یک شوند):  

JK Flip Flop operation[۴]
جدول مشخصه جدول تحریک
J K Qnext Comment Q Qnext J K Comment
0 0 Qprev hold state 0 0 0 X بدون تغییر
0 1 0 reset 0 1 1 X Set
1 0 1 set 1 0 X 1 Reset
1 1 Qprev toggle 1 1 X 0 No change

فلیپ فلاپ T

ویرایش
 
سمبل فیلیپ فلاپ T

فلیپ فلاپ T فلیپ‌فلاپی است که از آن برای تاگل (Toggle) کردن استفاده می‌شود. (اگر T=۰ باشد با آمدن کلاک، خروجی همان وضعیت قبلی خواهد بود یعنی اگر صفر باشد خروجی صفر و اگر یک باشد خروجی یک خواهد بود؛ و اگر T=۱ باشد با آمدن کلاک، خروجی معکوس وضعیت قبلی خواهد بود)

 
T Flip-Flop operation[۴]
جدول مشخصه جدول تحریک
      Comment       Comment
0 0 0 hold state (no clk) 0 0 0 No change
0 1 1 hold state (no clk) 1 1 0 No change
1 0 1 toggle 0 1 1 Complement
1 1 0 toggle 1 0 1 Complement

این فلیپ فلاپ به عنوان ذخیره‌کننده یک بیت دیتا بسیار پرکاربرد است و از نظر تأخیر نیز شبیه به یک عنصر تأخیر دهنده ساعت عمل می‌کند به این ترتیب که هر ورودی به آن می‌دهیم در یک فاصله زمانی مشخصی که به اندازه یک کلاک پالس (پالس ساعت) است همان ورودی را در خروجی دریافت می‌کنیم. از این رو این فلیپ فلاپ را فلیپ فلاپ تأخیر (Delay) می‌نامند. این فلیپ فلاپ یک ورودی به نام D دارد. فلیپ فلاپ T همانند فلیپ فلاپ JK است که دو ورودی آن از یک متغیر مقدار می‌گیرد یعنی یا هر دو J و K مقدار صفر یا هر دو مقدار یک دارند. به این ترتیب در مواقعی یک است، ایجاد جهش می‌کند.

فلیپ فلاپ D

ویرایش
 
سمبل DFF

یکی از حالت‌های حذف حالت نامطلوب در فلیپ‌فلاپ SR این است که مطمئن شویم هیچگاه آن دو با هم یک نخواهند شد؛ چرا که در فلیپ‌فلاپ‌ها، ورودی از خروجی قبلی نیز متأثر می‌شود و وقتی ورودی‌ها هر دو یک باشند، پیش‌بینی خروجی جدید ممکن نیست. این کار با لچ D میسر است؛ زیرا یک ورودی می‌پذیرد و در ساختار داخلی آن از خود ورودی و عکس (NOT) آن استفاده می‌شود.

کاربرد

ویرایش

از فلیپ‌فلاپ‌ها می‌توان در شمارنده‌ها، ذخیره‌سازی اطلاعات و … استفاده نمود.

جستارهای وابسته

ویرایش

منابع

ویرایش
  1. William Henry Eccles and Frank Wilfred Jordan, "Improvements in ionic relays بایگانی‌شده در ۲۰۰۸-۱۰-۱۲ توسط Wayback Machine" British patent number: GB 148582 (filed: 21 June 1918; published: 5 August 1920).
  2. W. H. Eccles and F. W. Jordan (19 September 1919) «A trigger relay utilizing three-electrode thermionic vacuum tubes," The Electrician, vol. 83, page 298. Reprinted in: Radio Review, vol. 1, no. 3, pages 143–146 (December 1919).
  3. طراحی دیجیتال (مدار منطقی)، پروفسور موریس مانو، ترجمه دکتر قدرت سپیدنام، انتشارات خراسان
  4. ۴٫۰ ۴٫۱ ۴٫۲ Mano, ‎M. Morris (2004), Logic and Computer Design Fundamentals, 3rd Edition (به انگلیسی), Kime, Charles R., Upper Saddle River, NJ, USA: Pearson Education International, p. pg283 {{citation}}: |صفحه= has extra text (help)نگهداری یادکرد:نام‌های متعدد:فهرست نویسندگان (link)
  • Digital_logic_circuit_analysis_and_design Nelson
  • Fundamental of digital ligic with verilog design by Brown
  • Digital_logic_circuit_analysis_and_design by Mano