 السلام علیکم سٹوڈنٹس، ایم وصیمی کرام، اسی دی 44 ٹ لیکٹر میں سیرزہ 45 لیکٹرزاں دیجٹل واجک دیزائن۔ کیسے آپ چھلہ اچھے ہوگئے؟ لس لیکٹر میں ہم نے میمبرے اکسپینٹشن، ایڈرس دیکوڈنگ، میمبرے میپس پے بات کی تھی اس کے بعد ہم نے افپیجی آیڈیوائیسس پے تھوڑا سا انٹوٹکشن دیا تھا۔ آج انشاءلہ افپیجی سے بات شروع کریں گے اور آگے ہم ایٹوڈی کنورٹرز اور دیٹو ایڈ کنورٹرز کی بات کریں گے اس سے پہلے کہ آج کا لیکٹر شروع کریں، آئیے لس لیکٹر کے کچھ کونٹنٹس رویو کر لیں لس لیکٹر میں جس ہم نے بتایا ہے بات ہم نے شروع کی تھی میمبرے میپس سے، ایڈرس دیکوڈنگ اور میمبرے اکسپینٹشن سے بسکلی ہم یہ کہتے ہیں کہ جو بھی آپ دیجٹل سسٹم دیزائن کرتے ہیں لہذا کوئی کمپیوریس سسٹم ہے تو اس کی اپنی ایک میمبری ریکوائیرمنٹ ہے دپنٹ کرتا ہے کہ مائک پروسیسر کتنے ایڈرسیز جنویٹ کر رہا ہے سو بسکلی وہ ٹوٹل ایڈرسیبل میمبری سپیس دیٹرمین ہوگی اس سے کسی بھی سسٹم میں گرام چاہیے انسٹرکشن کو سٹور کرنے کے لیے پرگامس کو سٹور کرنے کے لیے روم چاہیے کچھ انشالیزیشن کے لیے ٹیبل سٹور کرنے کے لیے بفرز کی ہم نے بات کی تھی سسٹم میں بفرز چاہیے دیتاک کو ٹرانسفر کرنے کے لیے ٹٹاک امپلیمنٹ کرنے تو یہ ساری جو ٹفنٹ فرمز اپ میمبریز ہیں یہ ایڈرس ہوگی مائک پروسیسر سے ایکسیس بل ہوگی مائک پروسیسر سے اب بیسکلی کتنی رام چاہیے کتنی روم چاہیے بفر کا سائس کیا ہونا چاہیے ٹٹاک کا سائس کیا ہونا چاہیے یہ دیپن کرتا ہے اس دیجلال سسٹم کی ریکوائیمنٹ پے جس ہم نے پہلے بتایا تھا اگر پرگام چھوٹا ہے few instructions ہے تو چھوٹی رام چاہیے ہوگی ٹیبلز بہت سارے آپ نے امپلیمنٹ کیا ہے یا بفرز بہت زیادہ امپلیمنٹ کیا ہے تو اکارڈنگلی وہ جو میمبری ہے بفر کی میمبری اور روم جو ہے وہ زیادہ ہوگی دوسرے ہم نے بات کی تھی کہ جو سسٹم ہیں وہ ادرس پیس تو ہم نے دیترمین کر لی ڈیٹا یونٹ جو سائس ہے وہ بھی سسٹم پے دپن کر رہا ہے کچھ کمپوریو سسٹم ہیں جو 8 بٹ انفارمیشن سے کام کر رہا ہے دوسرے کمپوریو سسٹم ہیں وہ 16 بٹ انفارمیشن سے کام کر رہا ہے کچھ ایسے بھی ہیں جو 4 بٹ انفارمیشن سے کام کر رہا ہے بسکلی ان ساری دفرنڈ ریکوائیمنٹ کو امپلیمنٹ کیسے کرنا ہے میمبری جس ہم نے بتایا ہے کہ فکستفریمنٹوں میں ا zeigen کریں گے یا تو سنگل بٹ میں ا 크�یوٹوٹٹ و4 بٹ میں ہوجی یا 8 بٹ میں ہوجی فکترش ذہبانہرemen Full rebellion ہی دیکھائیں گے، ایکسپین کریں گے کہ رام اتنی ہے یہ سائیس ہے یہ بیس ایڈریس ہے ایدر ختم ہو رہے اس دن روم جو ہے اس کا یہ سائیز ہونا چاہئے فرانہ بیس ایڈریس سے مشروع ہو رہی اور اس پتکلر بیس ایڈریس پر ختم ہو رہی ہے تو یہ ساری چیزیں دیترمین کرنے گے. اس کے بعد جو اویر بل میمری ہے ان کو آپس میں کنک کرنے تاکہ یہ ساری جو ریکرائیمنٹسیں وہ فلفل ہو جائیں. ہم نے یہ بتایا تھا کہ اگر ہمارے پاس دو میمریز ہوں تو اگر ہم نے دیتا یونٹ سائیز بھڑانا ہے let's say 8-bit دیتا ہے اور 16-bit ہمیں چاہئے جو ہمارا جیٹنل سسٹر میں اس کی ریکارمنٹ ہے کہ 16-bit دیتا یونٹ سائیز ہو تو بیسکلی دو میمریز کو آپس میں آپ نے ایسا جارنا ہے کہ دونوں میمریز میں جو ایک جیسی لوکیشنز ہیں let's say پہلی لوکیشن جو آخری لوکیشن یا ففتh لوکیشن دونوں میمریز میں یہ ساری اکٹھی یا ساملتینیس لی سلکت ہوں تو بیسکلی دونوں کے ایڈرس لائنز ہم نے آپس میں جوڑ دیتی چیپ سلکس آپس میں جوڑ دیتے تھے ریڈ رائیٹ لائن جو ہے وہ بھی دونوں کی مشترقہ تھی جب بھی ریڈ رائیٹ سیکنل اپلائے کریں گے دونوں میں ریڈ ہوگا یا رائیٹ ہوگا جو دیتا لائنز ہیں وہ ہم نے سپرٹ رکھنی تاکہ جو دیتا یونٹ کا سائز ہے وہ دبل ہو جا next ہم نے بات کی تھی کہ اگر ہم نے نمبر of locations بہانی ہے ہمارا let's say پرگام جو ہے 4 کے ہے وہ بھڑ گیا 8 کے میمری سپیس چاہئے تو بیسکلی میمری کو دبل کرنا ہے نمبر locations دبل کرنی ہے سو وہ کیسے کریں گے بیسکلی ایڈرس لائنز دونوں میمری کی جو ہیں وہ آپس میں جوڑ دیں گے دیتا لائنز بھی آپس میں جوڑ دیں گے read write لائنز بھی آپس میں جوڑ دیں گے ہم نے یہ کرنا ہے کہ جو پہلی میمری ہے وہ 4 کے پہلے والے 4 کے ایڈرسز کے لیے سلکت ہو اور جو دوسی والی میمری ہے وہ next 4 کے ایڈرسز کے لیے سلکت ہو بیسکلی کسی دیوائیس کو digital logic میں سلک کرنے کے لیے چپ سلکت سیکنل کو use کیا جاتا ہے ایک extra address لائن چاہیے کیونکہ بیسکلی ہم نے جو total addressable space ہے وہ ڈبل کر دی ہے جو ایک extra address لائن ہوگی وہ اگر دیریکلی ہم پہلے چپ سلکت سیکنل کے ساتھ کونک کر دیں assuming کے چپ سلکت سیکنل جو ہے وہ active low ہے جب بھی وہ extra address لائن پہ 0 ہوگا پہلا والا چپ سلکت ہو جائے گا اور اگر جب 1 ہوگا تو دوسرہ والا چپ سلکت ہوگا کیونکہ اس کے چپ سلکت سیکنل کے ساتھ ہم نے through a not get connect کیا ہوا اس طرح اس طرح بیسکلی using 2 memories ان کو ہم نے connect اس طرح کیا ہماری locations ڈبل ہوگی ہیں تیس طرح ہمارے پاس issue یہ تھا کہ اگر requirement ایسی ہے کہ ہم نے data unit size جو ہے وہ بھنا نا ہے اور number of locations وہ بھی بھنا نییں بیسکلی ہم نے کہا تھا کہ 4 basically جو total address space ہے یا memory capacity ہے وہ quadruple کر رہے چار گنا کر رہے چار چیپس ہمیں جائے ہوں گے ان کو اپس میں connect کرنا ہم نے یہ دیسائد کیا تھا کہ ساروں کی address lines اپس میں connect کر دیں گے data lines جو ہے جو 2 اوپر والے ہیں جن کی مدد سے ہم data unit size بھا رہے ہیں ان کی تو data line separate ہوں گی پر جو نیچے والے next 2 chips ہیں جن کی وجہ سے locations بھر دیں گے ان کی اپس میں data lines جوڑ دیں گے chip select signal سے جو پہلے دو chips ہیں جو data size کو بہا رہے ہیں ان کو ہم اکٹھہ سلک کریں گے next 2 chips ہیں ان کو ہم اکٹھہ سلک کریں گے بیسکلی جو extra address line ہوگی وہ chip select پہلے والوں کے ساتھ connect ہوگی اور دوسے والوں کے chip select کے ساتھ بھی connect ہوگے using a not gate read write line جیسے ہم نے بتایا تھا دیکھا بھی تھا کہ ساروں کو اکٹھ ہی connected ہے ہم نے address decoding کی بات کی تھی اس لیکن ہم یہ کہہ رہے تھے کہ different chips ان کا کوئی base address ہونا چاہئے جسا کہ ہم نے in different chips کی memory chips کی جو implementation میں دیکھا تھا جو بھی location ہے اس کو ہم اسجوم کر رہے ہیں پہلی والی location اس کا address 0 ہے آخری والی location ہے کسی بھی memory chip میں اس کو ہم address n کہتے ہیں جب دو identical chips وہ اپس میں ہم نے اس طرح connect کییں تاکہ locations ڈبل ہو جائیں جو دوسرا چپ ہے اس کا کچھ start address یا base address ہے وہ different ہوگا 0 نہیں ہوگا بیس ایڈرس کیسے دیترمین ہوگا وہ نے دیکھا تھا کہ address decoders کی مدد سے address decoders ہم discreet logic کی مدد سے بھی implement کر سکتے ہیں یا m to n decoders سے بھی implement کر سکتے ہیں جو most significant address lines ہیں وہ in decoders کے انپورت پہ connected ہیں output پہ ایک ہی line active ہوگی تو اگر 2 to 4 decoder ہے let's suppose تو اس کے دو انپورت میں دو address lines ہوں گی depending on the value of those 2 address lines ایک output select ہوگا وہ output جو ہے ایک chip select connect کے ساتھ منک کر دیں ایک memory کے اسی طرح دوسر جو output ہے وہ دوسرے memory کے chip select کے ساتھ تو at any given instant جو بھی address input پہ value ہوگی ایک chip select output select ہوگا جس کی مدد سے ہم ایک ہی chip کو select کر رہے ہیں so basically جس address پہ particular chip select ہو رہا ہے وہ ہم کہیں گے اس کا base address ہے next ہم نے بات کی تھی FPGA devices پر ہم نے شروع میں پڑھا تھا PLD devices so programmable logic devices ہیں program کر کے ہم combination circuit بنا سکتے ہیں یا sequential circuit بنا سکتے ہیں basically اس میں and اور رے ہوتی تھے جنکہ ہم program کرتے تھے to form a function اور output میں ہمارے پس output logic units ہوتے تھے جنکی مدد سے ہم جو information ہے اس کو in the form of combinational circuit رپزن کر سکتے ہیں یا sequential circuit کے طور پر ہم feedback بھی کر سکتے ہیں and all that FPGA میں basically concept وہی ہے پر زیادہ flexibility ہمارے پاس ہے basically 3 main parts کی ہم نے بات کی تھی logic units جو ایک two dimensional array کی form میں organized ہیں row and column interconnects basically these paths ہیں input output paths ہیں جنکی مدد سے ہم different logic units ہیں ان کو اپس میں connect کر سکتے ہیں so information ایک logic unit سے دوسی logic unit تک بھیجی جا سکتے ہیں اس چیب کے output پہ ہمارے پاس input output modules ہیں جنکی مدد سے ہم جو external world ہے اس سے information انٹر چینج کر سکتے ہیں اس میں ہر logic unit میں multiple logic elements ہوتے ہیں جنکہ ہم program کرتے ہیں basically وہی بات ہے کہ ہم نے اگر sequential circuit بنانا ہے تو یہ logical elements کو ہم program کریں گے اگر ہم نے combinational circuit بنانا ہے انھی logical elements کو program کریں گے ایک logic unit میں multiple logic elements ہوسکتے ہیں اس میں آج ہم discussion ایدر سے ہی شروع کرتے ہیں basically ہم دیکھتے ہیں کہ یہ جو logical elements ہیں ان کی internal construction کیسی ہے کس کسم کے سرکٹس ہیں اور کیسے ہم as a sequential circuit program کر سکتے ہیں اور as a combinational circuit program کر سکتے ہیں اگر یہ دیکھتے ہیں اس کا block diagram اور internal circuit slide میں logic element کا ایک block diagram دکھائے گے ایک extreme left-hand side پر ایک look-up table ہے جس کے 4 inputs ہیں اور یہ 4 inputs میں different interconnect سے آ رہے ہیں that means different logic elements سے یہ information آ رہی ہے output ایک دکھائے گے جو کہ a cascade logic کے ساتھ connected ہے اسی طرح a carry-in pen دکھائے گے اور a carry-out pen دکھائے گے so look-up table جو ہے اس کو ہم program کرتے ہیں for any functions so look-up table ہم program کر سکتے ہیں as a full adder so اگر full adder کے طور پر ہم نے program کیا ہے تو اس کے لیے carry-input ضروری ہے اور carry-out-put ضروری ہے جو کہ ہم use کر سکتے ہیں مزید اس قسم کا full address کو آپس میں cascaded کرنے کے لیے cascaded logic جو ہے بسیکلی یہ ہمیں allow کر رہا ہے different logic elements ہیں ان کو آپس میں connect کرنے کے لیے so let's suppose a neighboring logic element ہے جس کا output جو ہے اس logic element کے ساتھ cascaded کرنا ہے so this is cascaded logic ہے اس کی مدد سے ہم کسی اور logic elements سے information رسیف کر سکتے ہیں اسی دنہ یہ جو information ہے کسی دوسرے logic element کو بھیج بھی سکتے ہیں اس کے بعد ایک programmable select block دکھایا گیا ہے in fact 2 programmable select blocks دکھایا گئے ہیں بسیکلی یہ programmable select جو block ہے یہ ہمیں allow کر رہا ہے کہ جو information ہے وہ different sources لیں تو ایک تو cascaded logic سے information آ رہی اور ایک دوسی input pin سے آ رہی ہے پہلہ جو programmable select logic ہے اس کے output پر ایک ہم نے flip flop connect کیا ہوا ہے so flip flop کا input جو ہے اس programmable select سے آ رہا ہے flip flop کے ایک clock ہے ایک asynchronous preset ہے اور ایک asynchronous clear input ہے جو کہ clock clear p set select logic سے کنٹرول ہو رہا ہے flip flop کے output پے again ایک programmable select ہے so flip flop کا output اس میں connect ہے اور ایک دوسرہ جو ہے cascaded logic کے output کے ساتھ connect ہے so basically ہم اس کو program کر سکتے ہیں کہ ہمیں flip flop کا output چاہئے یا ایک combinational جو ہے وہ output چاہئے ابھی ہم نے logical element کا circuit diagram دیکھا جو کہ اگر آپ کو کمپیر کریں جو ہم نے PLA devices یا PAL devices یا PLD devices جو پڑین تھی ان کے structure سے کچھ ملتا جلتا ہے basically ایدر ہم ایک look up table استعمال کر رہے ہیں to program a function پہلے ایک اس میں basically ہمیں پس and or gate arrays تھی جن کو ہم program کر رہے تھے اس میں بھی ہم نے ایک d flip flop use کیا تھا اس میں بھی ایک flip flop use کر رہے ہیں جس کی مدد سے ہمیں sequential output مل سکتا ہے اس میں بھی تگی میں نے ایک programmable logic تھی جس کی مدد سے ہم different configurations میں اس کو سیٹ کر سکتے تھے ایدر بھی ہمیں پاس programmable logic ہے جس کی مدد سے ہم یہاں تو sequential output ریسیف کر سکتے ہیں یاں combinational output ریسیف کر سکتے ہیں اس میں اب ہم نے بات کرنی ہے کہ جو look up table ہے اس کو ہم کیسے use کرتے ہیں to program a function basically look up table جو ہے جس ہم نے بات کی تھی جب ہم rom discuss کر رہے تھے کہ rom memory کو ہم use کر سکتے ہیں to program a function کیسے ہوگا let us take an example آپ ازیم کریں کہ آپ کے پاس 8 location rom ہے یا ram بھی ہو سکتی ہے so her location میں ایک bit store ہے so let us suppose کہ آپ نے function implement کرنا ہے جس میں 3 mintems ہیں a bar, b bar, c bar a bar, b bar, c اور ab, c یہ 3 mintems ہیں تو function کی output میں basically 1 ہونا چاہیے اگر ان میں سے کوئی 3 mintems present ہو so basically اگر ایک برام لیں وہی 8 location والی جس میں ہر location میں ایک bit store ہے so for address 0000 یہ represent کر رہے پہلی والی mintem a bar, b bar, c bar اس کے location ہے اس پر اگر آپ 1 store کرنے so that means جب بھی یہ آپ address سلک کریں گے data output پہ 1 آئے گا so that means اس mintem کے presence پر آپ کا function جو output ہے وہ 1 ہو رہا ہے اسی طرح جو 2nd location ہے جہاں basically جو address ہے 001 ab0 ہے اور c جو ہے 1 ہے that means یہ represent کر رہا ہے mintem a bar, b bar, c so again اس address location پر اگر آپ 1 program کر دیں so جب بھی یہ address سلکت ہوگا output پر آپ کے پاس again 1 آئے گا باقی جو locations ہم پر 0 program کر دیں except for the last location abc so اس address پے 111 address پے آپ نے again 1 program کر دیے جب بھی آپ یہ address سلک کریں گے output پے آپ کے 1 آجائے گا so basically آپ نے rom کو program کر دیے to represent a function اگر آپ کو زیادہ mintems ہیں آپ کے پاس let's say more than 8 4 variable function ہے تو of course آپ پے بڑی rom یا ram جوز کر سکتے ہیں اسی طرح آپ کے پاس کو ایسا function ہے جس کے multiple outputs ہیں اگر آپ نے comparator circuit بنائے تھا equal to a is equal to b a is greater than b a is less than b 3 different outputs تھے so again if you have a rom جس کے 3 outputs ہیں that means 4 data bits use کر رہا ہے so ان میں سے 3 آپ use کر سکتے ہیں 1 کو آپ program نہ کریں so basically آپ کو 3 different functions مل سکتے ہیں سا یہ دیکھتے ہیں پہلے 1 simple function کی کیسے program کرنے اور اسی طرح ایک دوسی example دیکھیں گے روم کو use کریں گے ایک full adder implement کرنے کے لیے full adder implement کرنے کے لیے جسے کہ آپ کو پتا ہے کتنے inputs ہیں basically a b c in 3 inputs ہیں تو inputs آرہے اور ساتھ میں carry in add ہوتا اور full adder کا جو output ہے ایک c out ہوتا carry out اور ایک sum output ہے so جو rom یا ram ہم use کریں گے basically 3 bit address ہنا چاہے 8 location کیونی چاہے ہر location میں 2 bits store ہوں گے so ایک جو bit ہے وہ represent کرے گی sum output کو اور دوسی جو bit ہے وہ represent کرے گی carry output کو آئی دیکھیں دونہ functions پہلے جو function ہے وہ represent ہو رہا ہے boolean expression سے a bar b c bar plus a b bar c plus a b c اوپر جو table دکھایا گے basically وہ rom کے contents دکھا رہا ہے so for address a b c equals to 000 جو پہلے address ہے function output یا data جو اذر store کیا ہے وہ 0 ہے اسی طرح address 001 کے لیے جو information store کیا اس location پہ وہ 0 ہے address 010 کے لیے information to store کیا ہے وہ 1 ہے یہ address 010 represent کرے mentum a bar b c bar اسی طرح address 101 جو ہے جو کہ represent کرے mentum a b bar c کو اذر data جو ہم نے store کیا ہے وہ 1 ہے اسی طرح آخری جو mentum ہے a b c جو کہ address a b c 111 represent کرے وہ در بھی ہم نے information 1 store کیا ہے so تینوں میں سے کوئی بھی address جب apply کریں گے rom کے input پہ output میں appropriate data value آجائے so for addresses 010 101 and 111 output جو ہوگا وہ 1 ہوگا اے دیکھتے ہیں next function کو جو کہ full addر کو implement کر رہا ہے full addر کے 2 جو outputs ہیں some output and carry output ان کی جو بولین expressions تو ہیں a bar b bar c plus a bar b c bar plus a b bar c bar plus a b c یہ ہے some output کی بولین expressions اسی طرح carry out کی جو بولین expressions ہے وہ ہے a bar b c plus a b bar c plus a b c bar plus a b c ان کو of course simplify کیا جا سکتا ہے table میں again ایک ram یا rom میمڈی دکھائے گئے جن کی 3 address lines جو کہ represent ہو رہی a b c ان سے لیکن 8 لکیشن ہے ہر لکیشن پے 2 bit سٹور کر رہے ہیں ہم ایک represent کر رہے ہیں some bit اور دوسی جو bit وہ represent کرتی ہے carry out اگر address 0000 یہ represent کر رہے ہیں mint term a bar b bar c bar اس کے لیے some b 0 ہے and c out b 0 ہے نیچے اگر بولین expressions کو دیکھیں دونوں expressions میں a bar b bar c in bar کی تم نہیں ہے اسی طرح اس کے لیے دیکھیں 001 یہ represent کر رہے ہیں mint term a bar b bar c in یہ والی جو term ہے basically some بولین expressions میں موجود ہے so some output میں جو some bit اس کو ہم نے 1 سٹ کر دیا ہے carry out اس کو ہم نے 0 رکھا ہوا اسی طرح اگر آپ expression کو دیکھیں ہم نے address 0010 کے لیے بھی some output کو 1 سٹ کیا ہوا اسی طرح address 0000 کے لیے some output 1 رکھا ہوا اور آخر میں address 111 اس کو 1 سٹ کیا ہوا carry out کو اگر اسی طرح دیکھیں پہلی جو mint term ہے a bar b c in بار اس کے لیے carry out کو 1 رکھا ہوا next two three mint terms ہیں 101 that is a b bar c اس طرح a b c bar اور a b c ان تینوں کے لیے ہم نے carry out کو 1 رکھا ہوا so that means ان میں سے کوئی بھی address apply کریں گے some output یہاں 1 ہوگا یہاں 0 ہوگا دبین کرتا ہے کہ ہم نے program کیا ہوا ابھی ہم نے lookup table کا ریغام دیکھا ہے اور ہم نے دیکھا ہے کیسے اس کو program کر سکتے ہیں کسی بھی function کے لیے جو lookup table ہے اس کے 4 inputs ہیں that means 4 variable functions ہم program کر سکتے ہیں اگر زادہ variable کے function program کرنے تو basically ہم different elements کو آپس میں cascade کر سکتے ہیں اس میں ایک جو آخری بات رہ گی fpgs میں وہ ہے جو inter connect different logical units کو آپس میں کیسے connect کرنا ہے ہم نے جسے دیگام میں دیکھا تھا rows ہیں اور columns ہیں جو آپس میں different elements کو connect کرتے ہیں basically connection کیسے ہوگا ایک row کو a column کے ساتھ کیسے ملائیں گے وہ basically transistors کے through ملائے جا رہا ہے جسے کہ ہم نے دیکھا تھا rom کو جب آپ program کرتے ہیں تو a transistor کا gate row کے ساتھ connect کر داتے ہیں output کے a column کے ساتھ connect کر داتے ہیں اسی طرح ہر row اور column intersect کے ساتھ a transistor لگا ہوا اگر transistor کو ہم نے activate کر دیے that means row کو column کے ساتھ connect کر دیے that means ہم نے connection بنا دیے row and column کے درمیان اگر transistor کو switch off کر داتے ہیں اس کا مطلب ہے row اور column کے درمیان کوئی connection نہیں ہے FPGAs کو بھی ہم program کرتے ہیں PLD devices کے دا basically ایک program ہم لکنا پڑے گا اور program میں ڈال کے FPGA device کو ہم program کریں گے کسی بھی function unit کے لیے آئی اب next topic پات کرتے ہیں some convertors and digital analog converters basically یہ convertors ہے جیسے کہ نام سے زائر ہے کوئی analog value ہے جس کو ہم digital value میں convert کر رہے ہیں اور کوئی digital value ہے جس کو ہم analog میں convert کر رہے ہیں basically ان convertors کی ضرورت کیوں پڑھ رہے ہیں شروع میں یاد ہو پہلہ لیکچار جو تھا ہم نے بات کی تھی کہ ہم digital logic پڑھ رہے ہیں basically اس میں information جو process ہو رہی ہے وہ digital format میں process ہو گی real world جو information ہے جو voice signal process ہو رہے ہیں so that means جب آپ بول رہے ہیں آپ کا analog signal جو sound signal ہے وہ اس کو convert کرنے ہیں digital format میں اور پھر processing ہو گے جس طرح جب آپ سن رہے ہیں basically آپ سن رہے ہیں ایک analog form کے signal کو processing جو ہی ہے جو ہی ہی ہی ہی ہی ہی ہی ہی ہی ہی ہی ہی وہ digital format میں ہی ہے so that means digital signal جو ہے analog میں convert ہو رہے ہیں آپ کا let's say digital thermometer ہے thermometer جو ہے basically آپ کو digital thermometer میں آپ کو numbers کی صورت میں temperature بتایا جا رہے ہیں so temperature جو ہے وہ analog value ہے وہ convert ہو گی digital format میں اور وہ آپ کو digital format میں ایک چیز نظر آ رہی ہیں اس طرح آپ کے پاس volt meters دیکھیں گے جو آپ voltage میر کر رہے ہیں اس میں digital format میں ہوتے ہیں جو voltage ہے وہ بسکلے analog value ہے وہ convert ہو گی digital format میں اور اس طرح آپ digital readout دیکھ سکتے ہیں so volt meter ہے so بہت ساری applications جو ہے اس میں basically signals جو ہے external world کے signals ہیں real world کے signals ہیں وہ analog form میں ہے ان کو change کرنا بڑتا convert کرنا بڑتا digital format میں اور اسی طرح جب آپ ایک digital format میں ایک چیز پروسس کر لی ہے اس کو آپ display کرنا چاہر ہیں اس کو بھی آپ کو analog form میں convert کرنا بڑے industrial application ہم نے دیکھی تھی very first lecture میں ہم نے چیز دیکھے ایک diagram دیکھا تھا جس میں basically a boiler vessel ہے جس میں کوئی چیز ہیٹ کی جا رہی ہے ہم نے وہ جو ہیٹنگ ہے اس کو control کرنے خاص temperature سے ایک seat نہیں ہونا چاہے so basically a thermometer لگا ہوا ہے جو اس کو myer کرا ہے temperature کو thermometer کی output ہے اس کو ہم digitize کریں digital value میں convert کر رہے ہیں ایک ہمار پاس ہیٹ لگا ہوا ہے جو اس digital value کو دیکھ رہا ہے اگر وہ exceed ہو رہا ہے that means اس نے ہیٹ ہے اس کو control کرنا reduce کرنا ہے so basically وہ ایک signal بھیجائے گا جو ایک heating unit کو تاکہ heat reduce ہو جائے او جو heating unit ہے وہ بسکل ایک analog form ہے so basically processing unit جو value ہے control ہے اس کو low کرنے کی لیے ایک digital information کو analog میں through a d to a convertor اس کا output ہے the heating unit اس کو control کر رہا ہے so آئیے دیکھتے ہیں in analog digital converters کو or digital analog converters کو یہ کام کیسے کرتے ہیں ان کی تھیری کیا ہے پہلے ہم بات کرتے ہیں analog to digital converters سے basically analog to digital converter جو ہے analog signal کو digital میں convert کرے گا now digital signal میں convert کرنے کے لیے جو original signal ہے جو کہ analog form ہے جو کہ a temperature کی value ہو سکتی a voice signal ہو سکتے کچھ بھی ہو سکتے اس کو convert کرنے کے لیے اس signal کے samples لینے پڑیں گے so her sample کو آپ اس کو represent کریں گے in the form of a binary value now samples کتنے چاہیے اگر آپ come samples لیتے ہیں تو ان samples کو جب digitize کرتے ہیں تو وہ actual signal کو represent نہیں کرے گا کیونکہ آپ کے پاس اتنے samples ہی نہیں جو کہ actual signal کو represent کریں گے so اس کو کہیں گے under sampling اور آپ کا digitize signal ہوگا جو binary form ہوگا وہ correct نہیں ہوگا original signal کو correctly represent نہیں کرے گا اگر آپ بہت سرے samples لے لیتے ہیں ان کو digitize کرتے ہیں تو وہ digitize signal تو accurately represent کر رہا ہوگا analog signal کو but information بہت جادہ ہو جائے گی processing کے لیے so اس کو کہہ دنگہ ہم over sampling ہو رہے basically ہمارے پاس ایک criteria ہے جس کے تحت ہم sampling determine کر سکتے ہیں کہ کتنے samples ہونے چاہیں کسی بھی ایک signal کے basically niquest criteria کہتے ہیں niquest frequency کہتے ہیں niquest frequency basically ایک ایسی frequency جو sampling frequency جس کے تحت ہم this input signal کو analog input signal کو sample کر رہے ہیں frequency کیا ہے basically it should be twice the highest frequency of the input signal so let us suppose that input جو signal ہے اس کی highest frequency جو highest frequency ہے وہ ہے 50 hertz so sampling جو frequency وہ 100 hertz ہونے چاہے so this is niquest criteria ایک دیکھیں different diagrams analog signal کے دیکھیں کہ samples اگر ہم under sampling کریں اس سے کیا نقصان ہوگا and proper sampling کتنی ہونے چاہیں diagram میں ایک analog signal دکھایا گیا جو یہ temperature کو represent کر رہے so horizontal line پے time دکھایا گیا vertical line پے temperature کو so temperature کی values جویں 5, 10, 15, 20 سے لیکے 45 degrees centigrade دکھیں جو analog signal represent کیا ہونے وہ continuous shape میں اس میں کچھ breaks نہیں ہیں آئیب دیکھتے ہیں کہ اس کے samples کتنے ہم لیں گے اور اس کی وجہ سے output پے کیا سر ہوگا basically جو digitized output ہے وہ کیسی ہوگے diagram میں وہی analog signal دکھایا گا جس کے ہم 15 different samples لے رہے ہیں equal time intervals پے so پیلہ جو sample ہے وہ time intervals 1 پے لیے 2nd پے اسی طرح 3rd پے 4th پے اسی طرح 15th پے ہم آخری sample لے رہے ہیں اب ان samples کو اگر plot کیا جائے تو ہم دیکھتے ہیں کہ ہمارا digitized output ہے وہ ملتا جلتا ہے اس analog input signal سے آئی دیکھتے ہیں digitized output diagram میں ایک output signal دکھایا گا جو کہ ہم samples جو ہم نے collect کیا تھے ان کی مد سے ہم reconstruct کر رہے ہیں so 15 samples تھے ان سارے samples values کو اپس میں جوڑ دیں through lines تو ہم ہے پس یہ output میں اس کسم کا ایک signal آرہا ہے جو کہ input signal کو closely resemble کر رہا ہے exact نہیں ہے but closely resemble کر رہا ہے اب ہم دیکھتے ہیں کہ اگر samples کم کر دیں 15 کی جگہ کم ہو جائیں 7 ہو جائیں تو اس سے output پے کیا فرق آئے گا diagram میں ایک reconstructed output signal دکھایا گا جو کہ 7 samples کی مد سے بنایا گا so original 15th samples لے تھے ان میں اگر ہم صرف odd والے سمپل لیں اور even والے سمپل نہیں لیں ان کی مدد سے جب ہم output reconstruct کریں گے تو وہ اس فوم میں آئے گا جیسا کہ آپ کو نظر آ رہا ہے اس میں کافی ساری information missing ہے پہلے والے signal میں input جو signal تھا ایک peak آتی ہے show میں جو کہ ایدر missing ہے second peak جو ہے وہ ایدر display ہوئی ہے so information basically loose ہو گئی ہے اب ہم نے دیکھا کہ اگر کوئی signal under sampled ہو تو اس کے output وہ proper نہیں ہوگا information lose ہوگی so اس لی بہت ضروری ہے کہ ہم appropriate number of samples collect کریں so وہ ہم نے determine کیا کہ necus frequency اس کے تحت ہم نے ایک analog signal کو sample کرنا ہے next جو ہے basically convert کرنے سے پہلے وہ just sample signal ہے اس کو ہم نے stable رکھنا ہے for a certain time جو بھی circuit ہوگا just sample کو digitize کرا convert کرا ہے وہ of course کوش time لے گا اگر اس طرح وہ sample input signal وہ change ہو رہا ہے that means output so basically ہم a to d converter جو ہے اس سے پہلے a sample and hold circuit لگاتے ہیں جس کا کام یہ ہے کہ sampling کریں input signal کو appropriate frequency پے and sample کو a minimum duration of time لے hold رکھے جب تک وہ convert نہیں ہوتا into its digital form so یہ دیکھیں a sample and hold circuit کو جس کی مدد سے ہم sampling کرنے and signal کو stable لکھیں تاکہ وہ digitize ہو جائے diagram میں a sample and hold signal کا sample جو signal ہے اس کے دو inputs ہیں ایک جو input ہے left-hand side پہ او در ہم input signal analogue signal apply کریں جس کو ہم نے sample کرنا ہے نیچے ہم نے ایک اور signal دکھایا گے جس کے تاکہ ہم اس کی sampling کریں so یہ جو signal ہے اس کی frequency دبل ہونی چاہے input signal سے sample circuit کا output ہے وہ ہم نے stable لکھنا ہے for a minimum time تاکہ جو a to d converter ہے اس signal کو convert کر سکے so جو hold signal ہے it's like a switch جو بھی ہمارے پہ سمپل ہے اس کو یہ بیسیکلی latch کر لے گا so وہ output stable رہے گا جب تک a to d converter اس کو change نہ کر لے so left-hand side پہ جو a continuous analog waveform دکھایا گئی ہے right-hand side پہ جو sample and hold signal ہے وہ دکھایا گیا ہے so جو بھی sample لیے اس کو ہم stable رکھنے for a certain time that means اس کا جو output ہے وہ flat سورت میں a steps کی سورت میں دکھایا گیا ہے hold circuit جا سکہ ہم نے دیکا a latch ہے جو کہ sample output کو latch کر دیتا ہے اس کو stable رکھتا ہے for the a to d converter to converter اب بھی نیکس پاتھ کرتے ہیں quantization پر quantization جو ہے بیسیکلی it's the process of converting the sample and hold signal to the digital format basically دپن کرتا ہے کہ output میں کتنی ہمارے پاس bits ہیں زیادہ bits ہوں گی quantization level زیادہ ہوگی تو ہمارے پاس زیادہ accurate representation ہوگی of the original analog signal اگر output میں bits ہمارے پاس کم ہیں quantization levels کم ہوگی output میں digitize signal ہے وہ accurately represent نہیں کرے گا اب ایک example کو سمجھیں let us suppose کہ ہم 220 volt جو signal ہے the ac جو ہے ہمارے گھر میں بجلی جو آری ہے اس کو ہم مجر کرنا چاہے ہیں اس کو digital format میں represent کرنا چاہے ہیں جو ہمارا a to d converter ہے اس کے output میں 2 bits ہیں so basically 4 ہی نمبر آسکتے ہیں تو 0 0 آسکتے 0 1 آسکتے 1 0 یا 1 1 ہم یہ کہتے ہیں کہ جو 1 1 ہے maximum signal input signal جو ہے اس کو represent کر رہا ہے so maximum signal input جو ہے 220 volts ہے so 1 1 جب بھی output میں آئے گا a to d converter کہ ہم کہیں گے کہ یہ represent کر رہا ہے 220 volt input کو اسی طرح جب 0 0 ہوگا یہ represent کرے گا 0 volt signal کو 2 output میں 0 1 & 1 0 وہ represent کر سکتے ہیں 2 voltage levels 75 & 150 so basically ہمارے پس 4 ہی outputs ہیں any value between 0 to 75 وہ represent ہوگی 0 1 سے so 60 volt ہو تبھی 0 1 آئے گا 70 ہو تبھی 0 1 آئے گا 50 ہو تبھی 0 1 آئے گا اسی طرح اگر 1 1 آرہا ہے تو وہ basically input value represent کر رہا ہے 150 سے لیکے 220 کے درمیان so 160 ہو گا تبھی 1 1 آئے گا 170 ہو تبھی 1 1 آئے گا 185 ہو تبھی 1 1 آئے گا so basically ہمارے پس دیکھ رہے ہیں کہ وہ جو actual input signal ہے جو 0 سے 220 volt تک جا رہا ہے وہ accurately represent نہیں ہو رہا so اس کو accurately represent کرنے کے لیے آپ basically کیا کریں گے جو a to d convertor کا output ہے وہ در آپ زیادہ bits اگر استعمال کریں let us suppose کہ 4 سے 8 bits ہو گئے so basically وہ accuracy بھڑا رہے ہیں so that means by increasing the number of bits quantization levels بھڑا رہے ہیں so representation اور اس کو explain کرتے ہیں these quantization levels کو ان کی مدد سے ہمارے output جو ہے وہ کیسے زیادہ accurate اور کیسے improve ہو رہا ہے diagram میں ایک analog signal دیکھایا گے اور ہمارے پس 4 quantization levels ہیں that means output پے 2 bits ہیں so this input analog signal کو اگر ہم output میں represent کر رہے ہیں in a digital format تو 4 steps میں ہوگا نیچے table میں اگر آپ دیکھیں sampling intervals 1,2,3,3,2,2,3 and then 4,4,4,4 and 3 output جو کوڑ آرہ ہے وہ پہلی quantization level جو 1 ہے وہ represent ہوگا 0,0 سے 2nd quantization level ہے 2 ہے وہ represent ہوگا 0,1 سے اسی طرح جو 3rd quantization level ہے وہ 1,0 سے represent ہوگا so basically یہ جو input signal اس کا output 2 bit format میں آرہ ہے اب اس کو دیکھتے ہیں کہ یہ کتنا قریب ہے initial signal کے initial analogue value ہے next diagram میں جو output پہ ہمیں digitize signal مل رہا ہے اس کو plot کیا گیا ہے اور جو original signal تھا analogue جو ہے وہ بھی ساتھ میں دکھایا گیا جیسے کہ آپ نظر آرہ ہے کافی فرق ہے due to the small number of quantization levels اگر ہم quantization levels کو بہا دیں تو جیسے ہم نے پہلے بتایا output جو signal ہے وہ زیادہ ہوگا وہ initial input analogue signal رزمبل کرے گا تو یہ دیکھتے ہیں quantization levels کو بہانے سے کیا فکر پڑا ہے اس دائر گام میں input signal جو analogue signal ہے وہ وہی ہے ہم نے quantization levels جو ہیں وہ 4 سے بڑھا کے 16 کر دیں that means output میں ہمارے پاس 4 bits ہیں تو وہ 16 different levels یا values رپریزن کر سکتے ہیں نیچی ٹیبل میں ہم نے sampling intervals جویں 1 سے لیکے 13 تک quantization levels لکھیں ہوئی ہے so 2, 6, 9, 7, 11, 15, 16, 16, 15 and 11 in different quantization levels کو output میں رفزن کر رہے ہیں 4 bit code سے so جو پہلی quantization level ہے 2 وہ رفزنٹ ہو رہے 00001 سے next جو 6 ہے وہ 0101 سے ہو رہے ہیں and so on یہ دیکھیں اس output جو code ہے یہ جو 4 bit output code ہے اس کی مد سے اگر ہم output میں original input signal سے output میں original analog signal دکھایا گے اور output signal دکھایا گے جو 16 quantization level کی مدہ سے reconstruct کیا گیا جیسا کہ اذا نظر آرہا ہے جو output signal ہے وہ کافی ملتا جولتا ہے original input signal سے so by increasing the quantization levels جو accuracy ہے وہ improve ہو رہی ہے ابھی ہم نے دیکھا کہ quantization level کو بھانے سے output signal پہ کیا فک پرڑا ہے بیسکلی جو ہی آپ بیٹس نمبر of بیٹس بھڑھائیں گے ای تو دی کنورٹر کے اوٹپٹ پہ کوانٹیزیشن لیوز آپ نے بیسکلی بھڑھا دیے اور جو اوٹپٹ سیکنل ہے وہ کلوزلی ریزمبل کرے گا انپٹ آنولوک سیکنل سے لیکس چیز جو ہم نے دیسکس کرنی ہے وہ بیسکلی ہے اوپ ایمس ہر ای تو دی کنورٹر میں ایک اوپ ایمپ لگا ہوتا اوپ ایمپ بیسکلی کیا ہے ایک ایمپلی فائر ہے جس کے انپٹ پہ ہم سیکنل اپلائے کرتے ہیں اوٹپٹ پہ ایمپلی فائرٹ اوٹپٹ ہوگا اوپ ایمپ جو ہے ایک بڑی ورسٹیل کسم کی چیز ہے اس کو ہم کنفگر کرسکتے ہیں انٹو ایک کنورٹر as an ڈر بنا سکتے ہیں as an ڈرگیٹر بنا سکتے ہیں اوپ اوپ ایمپ دیفن ہم ای تو دی کنورٹرز دیکھیں گے ان میں استعمال ہو رہا ہے اوپ ایمپ کی 2 انپٹ سauspack ہوتے ہیں ایک سائے ہے پر منحر خوب ответ집 اور nuestras ان پٹ سوکپا ہے اور ایک کہمپ اوپ اوپ اوپ اوپ ایمپ ورٹ because۔ اوپ ایمپ کو کنGet کرنا ہے تو بچائن پر ہے کہ اوپ ایمپھ دیکھیں گے jugar thanン ان پٹ پ کیا ہوتے ہے اوپ اوپ ہےточھیں گے چیز ہے اوپ اوپ اوپ اوپ اوپ اوپ اوپ اوپ اوپ اوپ اوپ وہاہ arbeiten гру의 سجنل تو Development being ک체 مد ثواہ اور ان понравیصرر اوپ اوپ彟 among but وہ زیرو ہوگا اگر نون انورٹنگ سیکنل کی انپرٹ سیکنل کی سٹنل کی زیادہ ہے انورٹنگ انپرٹ سیکنل سے تو اوٹپوٹ 1 ہوگا اسی طرح ہم کچھ انپرٹ پر رزیسٹر نیٹوٹ لگا آگے اس کو از ایدر ہم بنہا سکتے ہیں یا use کر سکتے ہیں ایمپلی فائر کے طور پر بیسکلی ہم ایک فیتبیک رزیسٹر لگائیں گے اور اس کے ہم اوٹپوٹ جو ہے وہ دپن کرے گی انپرٹ value پر جو ہم نے سیکنل کیا اور جو جو رزیسٹرز ہم نے جوڑیں اس پر دپن کرے گی اس آئی دیکھتے ہیں اس اوپ امپ سرکیٹ کو یہ جو دو بیسک کنفیگوریشنز ہیں as an amplifier اور جو ہے as a comparator یہ کیسے ہم استعمال کریں اس کے بعد ہم دیکھیں گے actual a to d convertor's or a to d convertor's کیسے ان اوپ امپس کو use کرکے information کو analogue form سے digital form میں convert کریں دیگرم میں ایک اوپ امپ کا سیمبل دکھائے گے ایک انپرٹ جو ہے اس کو انورٹنگ انپرٹ کیا رہے ہیں جاں minus sign لگا ہوا ہے اور دوسرہ جو انپرٹ ہے اس کو non inverting انپرٹ کہیں گے جاں plus sign ہے سیکنڈ دیگرم میں اوپ امپ کو use کیا ہوئے as an inverting amplifier جیسا کہ دیگرم میں نظر آ رہے ایک rf feedback رزیٹر لگایا ہوا ہے جو کے output کے ساتھ کنکٹرٹ ہے اور دوسرہ ترنل جو ہے اس کا inverting انپرٹ کے ساتھ کنکٹرٹ ہے انورٹنگ انپرٹ کے ساتھ ایک سیریز میں ہم نے ایک r i انپرٹ رزیٹر لگایا ہوا ہے جس کے ایک ترنلٹ پے ہم انپرٹ voltage apply کرے ہیں جو non inverting انپرٹ ہے اس کو ہم نے ground کیا ہوا ہے بیسکلی یہ انورٹنگ انپلی فائر ہے that means output جو ہے وہ negative آئے گی اور جو output ہے وہ define ہو رہی ہے expression سے v out divided by v in is equal to minus r f by r n so بیسکلی کتنے مگنیٹوٹ سے انپرٹ سیکنل کو amplify کر رہا ہے وہ دپنٹ کر رہا ہے رزیٹر کی values پے so r f divided by r i تیسے جو دیگام ہے وہ represent کر رہا ہے op amp کو as a comparator circuit so دو سیکنلس دو انپرٹ سیکنلس ہم apply کر رہے ہیں op amp کے انپرٹ پے v in one جو ہے apply کیا ہے inverting انپرٹ پے اور v in two سیکنل جو ہے وہ apply کیا ہے non inverting انپرٹ پے جیسا کہ ہم نے بتایا کہ دپنٹ کرتا ہے ان دو نو سیکنلس کی magnitude کیا ہے اگر non inverting انپرٹ پے جو v in two سیکنل اپلائے کیا ہے وہ ہائی ہے as compare to v in one سیکنل تو output جو ہے وہ high ہو جائے گی اسی طرح اگر v in one سیکنل جو کے inverting انپرٹ پے اپلائے کیا ہے وہ high ہے اس کا magnitude زیادہ ہے as compared to v in two سیکنل تو output جو ہے logic zero پے سیٹ ہو جائے گی تو دو نو کیسم کی جو configuration ہیں as an inverting amplifier and as a comparator یہ ہم a to d converters میں use کر رہے ہیں ابھی ہم نے ایک opm کو دیکھا اس کو configure کیا as an inverting amplifier اور اس کو configure کیا as a comparator جسکہ ہم نے بتایا ہے دو نو configuration جو ہے ہم different a to d converters میں use کرتے ہیں آئی دسکس کرتے ہیں پہلا جو ہے a to d converter جس کو ہم کہتے ہیں flash a to d converter جو ہے اس کا conversion time ہے یہ fastest ہے بہت تیزیسے information parallel میں convert کرتے ہیں into digital format باقی جتنے بھی a to d converters ہیں وہ اس سے slow ہیں so high speed applications میں یہ use ہوتا ہے جسے ہم ابھی دیکھیں گے تھوڑی در میں کہ اس کے circuit میں بہت سارے opm use کرتے ہیں اور ان کو configure کیا ہے as comparators اگر آپ کے پاس four bit جو ہے flash converter ہے تو اس میں کچھ opm's لگیں گے اگر number of bits بھڑھا دیں تو opm's کی تعداد زیادہ ہو جائے گے so basically جتنا size جو quantization levels ہیں یا quantization bits ہیں ان کو بھڑھائیں گے so number of opm's جو ہے وہ بھڑھ جائیں گے جس سے circuit کی complexity بھڑھ جائے گی so basically a to d converters جو ہے expensive بھی ہوتے ہیں flash converter کے different parts ہیں basically ایک register network ہے equal value registers ہیں وہ اپس میں series میں جوڑے ہوئے ایک end پے اس کو کہلتے ہیں top end او در ہم ایک reference voltage apply کرتے ہیں اور جو نیچے والا end this register network کا اس کو ہم ground کرتے ہیں so let us suppose کہ ہمارے پاس 8 registers ہیں of equal value کہتے ہیں are so اپس میں series میں جوڑے ہیں اوپر جو ہے we reference 8 volts let us suppose کہ 8 volts ہمارے reference voltage وہ apply کی نیچے والا end ہے اس کو ہمیں ground کر دی ہے so اگر ہم مجھر کریں voltage ہر register کے across سب سے نیچے والا register ہے اس کے across 1 volt ہوگی اس کے اوپر والا register ہے 2 volts 3 volts 4 volts سب سے اوپر register ہے اس کے اگر ہم voltage مجھر کریں تو اوپر 8 volts ہمارے پاس available ہوگا ہمارے پاس 7 comparters ہیں جن کا inverting input terminal وہ ہر register کے ساتھ connect it ہے so ایک سب سے نیچے والا comparter ہے اس کا inverting input پہلے register کے output کے ساتھ لگا ہوئے so ایدر ہم ایک reference voltage of 1 volt apply کریں اسی طرح سیکن والا comparter ہے اس کا inverting input سیکن register کے output کے ساتھ لگا ہوئے so اوپر ہم 2 volt apply کریں اسی طرح third comparter کے ساتھ 3 volt connect کیا and so on جو comparter کا non inverting input ہے in fact ہم جو input signal ہے جو sample and hold کیا جس کو ہم نے convert کرنے وہ connect کیا ہوئے تو سارے comparters کے جو positive inputs ہیں non inverting inputs ان کے ساتھ ہم نے sample and hold signal کو connect کیا ہوئے now بیسکل اس کو سمجھتے ہیں کہ یہ comparters اب کام کیسے کریں گے let us suppose کہ جو sample and hold signal ہے جس کو ہم convert کرنا چاہر ہیں اس کی value ہے 5 volts سب سے نیچے والا جو comparter ہے جس کے 1 input پہ 5 volt آرہا ہے جو کہ ہم نے sample کیا ہے hold signal جو ہے اور دوسرا جو end ہے وہ ہم نے reference voltage 1 کے ساتھ کنک کیا ہوا ہے کیوں کہ high voltage وہ positive non inverting end پے connected ہے so comparter کا output وہ high ہوگا logic 1 ہوگا اسی طرح اگر دوسرہ comparter اس کو ہم لے لیں اس کا ایک جو end ہے جو inverting end ہم نے sample signal 5 volt وہ connect کیا ہے because positive voltage non inverting end input voltage وہ high ہے compared to inverting input voltage so اس comparter کا be output 1 ہوگا اسی طرح تیسرہ comparter ہے جس کے reference voltage 3 volt ہے and input voltage sample voltage signal کی voltage 5 volt ہے اس کا be output 1 ہوگا اس طرح fourth and fifth comparter ان کے بھی outputs جو comparter ہے ان کی کیونکہ reference voltage وہ زیادہ ہے as compared to the signal جو ہم convert کرنا چاہ رہا ہے ان دونوں کی output 0 ہوگی so basically 7 comparters ہمارے پس ہیں پہلے جو 5 ہیں ان کی output 1 ہے جو آخری 2 ہیں ان کی output 0 ہے basically comparter کی جو output ہے وہ ہم connect کریں ایک priority encoder کے ساتھ priority encoder وہ 8 into 3 basically 8 inputs ہیں اور 3 outputs ہیں ساتھ ہمارے پس comparters ہیں ساتھ جو outputs ہیں وہ 7 inputs priority encoder کے ان کے ساتھ ہم نے connect کی گئی ہے جو آخری والا input ہے priority encoder کا اس کو ہم نے ground کر دیا ہوا ہے now basically priority encoder کو اگر ہم سمجھیں depend کرتا ہے کہ input کنسا active ہے جو high priority input active ہوگا اس حاب سے output پہ ہمارے پس ایک 3 bit code آجائے گا so if we comparters کو دیکیں پہلے جو 5 تھے ان کے output active ہیں اور جو آخری 2 comparters تھے ان کے outputs وہ 0 and 0 ہیں جو ساتھ ہمارے چھٹا comparters وہ high priority ہیں اسی طرح پانچویں کی less priority ہے چوتھے کی اس سے بھی less priority ہے جو آخری والا comparters ہے اس کے سب سے low priority ہے اگر ہمارے پس 8 to 3 priority encoder ہو تو اس کی output وہ depend کرے گی کہ highest priority input کنسی ہے اس پتکلر کیس میں جو پانچوان اس کی output ہیس priority ہے so basically output پہ ہمارے پاس جو 3 bit signal جو digitized signal آئے گا وہ ہوگا 1, 0, 1 جو کے رپزن کر رہا ہے کہ fifth input priority encoder وہ select کیا گیا so basically ہمارے پاس initial signal وہ 5V جو sample and hold signal تھا وہ ہم نے apply کیا comparters نے output اپنا چینج کیا comparters کا output ہم ایک priority encoder آئی دیکھیں اس سارے کا circuit diagram diagram میں ایک flash A to D converter دکھایا گیا ہے left-hand side پے register network ہے جس کا اوپر والا جو end وہ V reference کے ساتھ connected ہے 8th registers دکھایا گا ساروں کی equal value ہے سب سے نیچے والا جو register ہے اس کو ground سے connect کیا ہے so V reference جو voltage وہ equally divide ہو جائے گے ان سارے inverting inputs comparters کے ان کے ساتھ connected ہے ساتھ comparters دکھایا گا سب سے نیچے والا comparters اس کے inverting input کے ساتھ سب سے والا نیچے register ہے اس کے across جو بھی voltage وہ connected ہے اس طرح اس کے اوپر جو comparters وہ دپنٹ کرتا ہے جو نیچے والا دو register جو بھی voltage وہ connect کیوئے اس طرح باکی comparters کے ساتھ جو input signal جو کے sample and hold signal جو کے analogue signal کو ہم نے sample کیا تھا وہ ہم apply کر رہے ہیں non inverting input پے سارے comparters سرکٹ کے ساتھ سو جیسا کہ دیگا میں دکھایا گیا ہے جو sample and hold signal وہ connected ہے سارے non inverting input سارے comparters کے ساتھ comparters کے جو output وہ ساتھ outputs ہیں وہ priority encoder کے input کے ساتھ connected ہیں priority encoder کا جو 8th input اس کو ہم نے ground کیا ہوا ہے priority encoder کے 3 outputs ہیں کیونکہ یہ 8 into 3 priority encoder ہے اور سب سے نیچے ایک enable signal دکھایا گیا ہے جو ہی ہم نے ایک input signal apply کیا comparters جو ہیں accordingly 0 یا 1 output کریں گے depending on the magnitude of the sample and hold signal ہم enable کر دیں گے priority encoder کو تو جو بھی input پر value ہوگی accordingly 1 3 bit output code جنویٹ ہو جائے گا جو کے represent کرے گا sample and hold signal کو اب اسی طرح next جو sample and hold signal اس کو convert کرنے next ہم sample and hold signal ہے وہ apply کریں گے again enable signal کو activate کریں گے priority encoder جو again ایک نیی value جو ہے جو اس کے input پر apply ہو رہی ہے وہ convert کر دے گا ہمار پاس ایک nia 3 bit output آجائے گا depending on the initial input sample and hold signal آئی دیکھتے ہیں flash converter کا timing diagram timing diagram میں نیچے enable pulses دکھائے گی ہمار پاس ایک نیچے and hold signal کو convert کر رہا ہے so analog input voltage جو sample who you are hold ہے وہ دکھائی گئے so پہلے interval میں 4 and 5 کے درمیان ہے اس کے بعد 6 and 7 کے درمیان ہے اس کے بعد 7 and 8 کے درمیان and so on so ہر interval پہ ہم enable جو pulse ہے وہ apply کرنے اور جو flash converter ہے وہ اس کو اور 2 3 bit output دوسر جو timing diagram دکھائے گے وہ دکھائے گا ہمیں output پہ کیا information آرہی ہے ہر enable pulse پہ سو پہلے enable pulse پہ output میں ہمار پاس 4 آرہا ہے یہ Depend کر رہا ہے جو initial signal تھا اس طرح second enable pulse ہمیں ایک نیات output میں لے رہی ہے جو 6 ہے again یہ Depend کر رہی ہے initial sample پہ and so on so is a different samples دکھائے گے for 12 time intervals ابھی ہم نے flash converter کنفرٹر کو دیکھا ہے بیسکل اس میں بہت سارے اوپ امپس use ہو رہے ہیں جوکہ از کنفرٹر کنفگر کیا ہوں جسکے دیگام سے زیادہ ہے اگر ہم فلاش کنفرٹر جو ہے اس کو 3 بٹ سے 6 بٹ میں بھڑھا دن ہے اس میں تو جو کنفرٹر اس ہیں وہ دبل ہو رہے ہیں اسی طرح مزید ہم ڈبٹس جو بھڑھائیں کوانٹیزیشن level بھڑھائیں تو مزید آپ کے جو یہ بیسکل استعمال ہوتا ہے آپ کے digital volt meters اور دوسرے جو مزیرنگ انسٹریمنٹسیں اس میں استعمال ہوتا ہے deal slope کیوں کہتے ہیں وہ ابھی ہم تھوڑی در میں دیکھیں گے اسکل ہم جو ہے ایک integrator ہم استعمال کرتے ہیں جو کہ ہم اسی op-amp کو کنفگر کیا ہوا ہے as an integrator اس میں ہم initially جو ہے جب ہم input value کو convert کرنے ہیں into digital value تو ایک slope voltage slope ہوگا جو negative slope ہوگا اور اس کے تھوڑے دیر بعد یہ سرکٹ خودی switch کرے گا اور ایک positive going slope generate کرے گا تو اس لی ہم کہتے ہیں کہ deal slope بیسکلی دو slope generate کر رہا ہوتا ہے conversion کے لیے تو آئی دیکھیں اس کا circuit diagram اور circuit diagram کی مدد سے اس سرکٹ کے operation کو سمجھتے ہیں deal slope a to d convertor کا سرکٹ diagram دکھایا گیا ہے left hand side پے ایک switch ہے اس کا ایک input ہے وہ analogue input voltage کے ساتھ connected ہے جو بیسکلی جو سمپل ہے جس کو ہم نے digitize کرنا ہے اور نیچے جو ہے دوسرا end جو ہے switch کا وہ ایک negative we reference voltage کے ساتھ connected ہے so initially بیسکلی جو switch ہے وہ analogue input voltage کے ساتھ connected ہے switch کے right hand side پے ایک op-amp لگا ہوا ہے جس کو ہم نے connect کیا as an integrator یا as a ramp generator یہ بسکلی اس کے output پے ایک constant voltage ایک signal produce ہوگا اس کمپریٹر کے اس انٹرگیٹر کے انپوٹ پے ایک register لگایا ہوا ہے اور ایک feedback capacitor لگایا ہوا ہے جو positive اس کا جو end ہے اس کو ہم نے ground کیا ہوا ہے جو ہی ہم switch کو analogue input کے ساتھ connect کرتے ہیں ایک current flow ہوگا جو کہ اس capacitor کو charge کرنا شروع کر دے گا register کا جو end اس integrator circuit کے ساتھ connected ہے وہ بسکلی ground voltage پے ہے so capacitor کا جو end ہم نے output کے ساتھ connect کیا ہوا ہے وہ negative کی طرف جانا شروع ہو جائے گا that means output جو voltage ہے وہ zero سے negative کی طرف بھرنا شروع ہو جائے گی basically یہ capacitor جو ہے تھوڑی دیر میں جو input voltage ہے اس value تک charge ہو جائے گا integrator circuit کے right side پے کمپریٹر دکھایا گا ہے جس کا positive end جو ہے وہ ground کیا ہوا ہے اور negative end جو ہے وہ integrator کے output کے ساتھ connected ہے جسا کہ ہم نے کمپریٹر کو پہلے explain کیا تھا اگر negative جو input signal ہے اس کا magnitude زیادہ ہو positive input signal سے so اس کا output جو ہے وہ negative ہو جائے گا اس طرح اگر positive signal وہ زیادہ ہے as compared to the negative input signal کے تو اس کا output جو ہے وہ positive ہو جائے گا so جو ہی input voltage ہم نے apply کی جو integrator کا output ہے وہ zero سے negative ہونا شروع ہو جائے گا comparator کا جو positive input signal ہے وہ ground کے ساتھ ہے اور جو negative input signal ہے وہ output کے ساتھ ہے جو کہ negative ہو گیا یا come ہو گیا as compared to the positive input signal that means comparator کا جو output ہے وہ high ہو جائے گا جب high ہوگا تو اس کے ساتھ جو end gate connected ہے اس کو enable کر دے گا end gate کا جو دوسرہ input ہے وہ a clock signal کے ساتھ لگا ہو ہے that means clock signal جو ہے وہ end gate کے output پے available ہو جائے گی اسی طرح جب comparator کا output high ہوگا نیچے control logic circuitry ہے اس کو trigger کر دے گے counter جو ہے وہ reset ہو جائے گا during control signal control logic کے پاس وہ pulse ملے گا counter کو 0000 پے set کر دے گا clock signals کی وجہ سے counter جو ہے increment کرنا شو ہو جائے گا اب یہ counter جو ہے کتنے count value تک increment کرے گا یہ depend کر رہا ہے کہ یہ 4 bit counter ہے یہ 8 bit counter ہے so اگر n bit counter ہے تو n bits تک یہ count up کرے گا اب جو ہی اپنے terminal count تک پہن جاتا ہے تو یہ واپس recycle ہو گے 0000 پے آئے گا so basically terminal count پے یہ counter جو ہے ایک pulse بھیجے گا control logic circuit کو control logic جو circuit ہے وہ ایک switch signal بھی جائے گا جو کہ switch کو analogue input سے change کر کے minus we reference کے ساتھ connect کر دے گا during switch minus we reference کے ساتھ connect ہوگا input signal جو ہے اس کے through current جو ہے جو چارج کر رہا تھے capacitor کو وہ stop ہو جائے گا اور capacitor جو ہے discharge کرنا شو ہو جائے گا کیونکہ we reference جو ہے وہ negative ہے so during capacitor discharge کرے گا جو integrator circuit کا output ہے جو کہ کچھ negative voltage تک پانچا ہے جو کہ equivalent ہے input جو sample signal تھا اس سے zero کی طرف بھرنا شروع ہو جائے گا جو ہی comparator کا negative input جو ہے وہ zero پے پانچے گا positive input کیونکہ zero ہے comparator کا output zero ہو جائے گا جو ہی zero ہو گا clock signal سیگن کے ان کے این پر جو ہے وہ amp کچھ کو مائنس وی رفرنس کے ساتھ کنک کر دیا ہے. سو بیسکلی اگر آپ اس پر زیادہ غور کریں. کونٹر جو ہے کونٹ کرے گا زیرو ویلیوز سے کچھ ان کونٹ تک دپنٹ کرتا ہے کہ کتنی جلتی جو ہے کپیسٹر دیس چارج ہو رہا ہے اور انٹوگیٹر کا اوٹپٹ جو ہے وہ زیرو پی آرہا ہے. بیسکلی یہ دپنٹ کرے گا کہ انالوگ انپٹ جو ویلیو ہے وہ کیا ویلیو تھی اگر لیت سے 2 وولٹس تھی تو کپیسٹر 2 وولٹ کے لیے چارج ہو رہا ہے تو واپس 2 وولٹس سے زیرو پی آنا تھوڑا ٹائم لے گا. اگر انپٹ ویلیو جو سیمپل ہے وہ 5 وولٹ تھا کپیسٹر 5 وولٹ پی چارج ہو رہا ہے تو 5 وولٹ سے واپس 0 وولٹ پی آنے کے لیے زیادہ ٹائم لے گا. ذیب مینس کونٹر جو ہے وہ زیادہ دیتا کونٹ کرے گا. 2 وولٹ کے کیس میں کونٹر جو ہے کم کونٹ کرے گا. تو بیسکلی جب کپیسٹر کمپیٹلی دیس چارج ہو جاتا ہے زیرو وولٹ پی آ جاتا ہے کمپریٹر جو ہے اگن ایک پلس بھی جائے گا کنٹرولوجک جو ہے جو بھی کونٹر پی انفارمیشن ہے اس کو لچ کر دے گا اور لچ پی جو بھی انفارمیشن ہے یہ رپیزن کر رہا ہے انپٹ سیگنل کا دیجٹائیسٹ version آج ہم نے لکچر میں 2 انالوگ تو دیجٹل کنورٹر ایک آخری جو انالوگ تو دیجٹل کنورٹر سکسیسٹ فرمیشن وہ انشاء اللہ ہم نکس لیکچر میں دیکھیں گے نکس لیکچر تک اپنا خیال رکھے گا انشاء اللہ دو بارہ ملیں گے خدا ہفز آسلام علیکم