Issuu on Google+

‫اﻟﺠﻤﻬﻮرﻳﺔ اﻟﻌﺮﺑﻴﺔ اﻟﺴﻮرﻳﺔ‬ ‫وزارة اﻟﺘﻌﻠﻴﻢ اﻟﻌﺎﻟﻲ‬ ‫ﺟﺎﻣﻌﺔ ﺣﻠﺐ – آﻠﻴﺔ اﻟﻬﻨﺪﺳﺔ اﻟﻜﻬﺮﺑﺎﺋﻴﺔ واﻻﻟﻜﺘﺮوﻧﻴﺔ‬ ‫ﻗﺴﻢ هﻨﺪﺳﺔ اﻟﺤﻮاﺳﻴﺐ – ﻣﺨﺒﺮ اﻟﺤﺎﺳﺒﺎت‬ ‫إﻋﺪاد اﻟﻤﻬﻨﺪس ‪ :‬أﺳﺎﻣﺔ ﻋﺰﻳﺰ‬

‫ﻣﻠﺨﺺ اﻟﺠﻠﺴﺔ اﻷوﻟﻰ ﻟﻄﻼب اﻟﺴﻨﺔ اﻟﺜﺎﻟﺜﺔ ‪ :‬ﺣﺎﺳﺒﺎت ‪ +‬اﻟﻜﺘﺮون‬ ‫أﺟﻬﺰة اﻟﻤﻨﻄﻖ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ‪Programmable Logic Devices :‬‬

‫اﻟﻔﺼﻞ اﻟﺪراﺳﻲ اﻷول‬ ‫‪٢٠١٠ - ٢٠٠٩‬‬


‫‪ -١‬أﺟﻬﺰة اﻟﻤﻨﻄﻖ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ‪Programmable Logic Devices :‬‬ ‫إن اﻟﻮﻇﻴﻔﺔ اﻟﻤﺰودة ﻣ ﻦ ﻗﺒ ﻞ آ ﻞ ﻣ ﻦ ﻋﻨﺎﺻ ﺮ اﻟﻌﺎﺋﻠ ﺔ ‪ 7400‬ه ﻲ ﺛﺎﺑﺘ ﺔ وﻻ ﻳﻤﻜ ﻦ ﺗﻌ ﺪﻳﻠﻬﺎ ﻟﺘﻨﺎﺳ ﺐ‬ ‫ﻼ ﻣ ﻦ ه ﺬﻩ‬ ‫ﺣﺎﻟﺔ ﺗﺼﻤﻴﻤﻴﺔ ﻣﻌﻴﻨﺔ‪ .‬ه ﺬﻩ اﻟﺤﻘﻴﻘ ﺔ ) ﻣﻘﺮوﻧ ًﺔ ﺑﺎﻟﻤﺤﺪودﻳ ﺔ اﻟﺘ ﻲ ﺗﻨﺤﺼ ﺮ ﻓ ﻲ آ ﻮن أن آ ً‬ ‫اﻟﺸﺮاﺋﺢ ﻳﺤﺘ ﻮي ﻓﻘ ﻂ ﻋ ﺪدًا ﻣ ﻦ اﻟﺒﻮاﺑ ﺎت اﻟﻤﻨﻄﻘﻴ ﺔ ( ﺟﻌﻠ ﺖ ه ﺬﻩ اﻟﺸ ﺮاﺋﺢ ﻏﻴ ﺮ ﻓﻌﺎﻟ ﺔ ﻟﺒﻨ ﺎء دارات‬ ‫ﻣﻨﻄﻘﻴ ﺔ آﺒﻴ ﺮة وﻣﻌﻘ ﺪة‪ .‬ﻟﻘ ﺪ وﺟ ﺪ أﻧ ﻪ ﻣ ﻦ اﻟﻤﻤﻜ ﻦ ﺗﺼ ﻨﻴﻊ ﺷ ﺮاﺋﺢ ﺗﺤﺘ ﻮي ﻣﻘ ﺪارًا آﺒﻴ ﺮًا ﻧﺴ ﺒﻴًﺎ ﻣ ﻦ‬ ‫اﻟﺪارات اﻟﻤﻨﻄﻘﻴ ﺔ ﻣ ﻊ ﺑﻨﻴ ﺔ ﻏﻴ ﺮ ﻣﺜﺒﺘ ﺔ ) ﺟﺎﻣ ﺪة (‪ .‬ﻣﺜ ﻞ ه ﺬﻩ اﻟﺸ ﺮاﺋﺢ ﺑ ﺪأت ﺗﻈﻬ ﺮ ﻓ ﻲ اﻟﺴ ﺒﻌﻴﻨﻴﺎت‬ ‫ودﻋﻴ ﺖ ﺁﻧ ﺬاك " أﺟﻬ ﺰة اﻟﻤﻨﻄ ﻖ اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ " ‪ Programmable Logic Devices‬أو‬ ‫اﺧﺘﺼﺎرًا ‪. PLDs‬‬ ‫إن اﻟـ ‪ PLD‬هﻲ ﺷ ﺮﻳﺤﺔ ذات أﻏ ﺮاض ﻋﺎﻣ ﺔ ‪ General-Purpose Chip‬ﻣ ﻦ أﺟ ﻞ ﺑﻨ ﺎء دارات‬ ‫ﻣﻨﻄﻘﻴﺔ‪ .‬إﻧﻬﺎ ﺗﺘﻀﻤﻦ ﻣﺠﻤﻮﻋﺔ ﻣﻦ ﻋﻨﺎﺻﺮ اﻟﺪارات اﻟﻤﻨﻄﻘﻴﺔ اﻟﺘﻲ ﻳﻤﻜﻦ أن ﻳﺘﻢ ﺗﺨﺼ ﻴﺺ وﻇﻴﻔﺘﻬ ﺎ‬ ‫ﺑﻄ ﺮق ﻣﺨﺘﻠﻔ ﺔ‪ .‬إن اﻟ ـ ‪ PLD‬ﻳﻤﻜ ﻦ أن ﻳﻨﻈ ﺮ إﻟﻴﻬ ﺎ آﺼ ﻨﺪوق أﺳ ﻮد " ‪ " Black Box‬ﻳﺤﺘ ﻮي‬ ‫ﺑﻮاﺑﺎت ﻣﻨﻄﻘﻴﺔ وﻣﻔﺎﺗﻴﺢ ﻗﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ آﻤﺎ هﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ )‪.(١‬‬

‫اﻟﺸﻜﻞ )‪ : (١‬ﺟﻬﺎز ﻣﻨﻄﻖ ﻗﺎﺑﻞ ﻟﻠﺒﺮﻣﺠﺔ آﺼﻨﺪوق أﺳﻮد‬ ‫إن اﻟﻤﻔﺎﺗﻴﺢ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺗﺘﻴﺢ ﻟﻠﺒﻮاﺑﺎت اﻟﻤﻨﻄﻘﻴﺔ داﺧﻞ اﻟـ ‪ PLD‬أن ﺗﺮﺗﺒﻂ ﺑﺒﻌﻀﻬﺎ اﻟﺒﻌﺾ ﻟﺘﻨﻔﻴﺬ‬ ‫اﻟﺪارة اﻟﻤﻨﻄﻘﻴﺔ اﻟﻤﻄﻠﻮﺑﺔ‪.‬‬ ‫‪ -١-١‬ﻣﺼﻔﻮﻓﺔ اﻟﻤﻨﻄﻖ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ‪Programmable Logic Array ( PLA ) :‬‬ ‫إن ﻋ ﺪة أﻧ ﻮاع ﻣ ﻦ اﻟ ـ ‪ PLDs‬ﻣﺘ ﻮاﻓﺮة ﺗﺠﺎرﻳ ًﺎ ﻓ ﻲ اﻟﺴ ﻮق‪ .‬اﻟﻨ ﻮع اﻷول اﻟ ﺬي ﺗ ﻢ ﺗﻄ ﻮﻳﺮﻩ آ ﺎن‬ ‫ﻣﺼﻔﻮﻓﺔ اﻟﻤﻨﻄﻖ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ) ‪ . Programmable Logic Array ( PLA‬اﻟﺒﻨﻴﺔ اﻟﻌﺎﻣﺔ ﻟﻠ ـ‬ ‫‪ PLA‬ﻣﻮﺿﺤﺔ ﻓﻲ اﻟﺸﻜﻞ )‪.(٢‬‬ ‫اﻋﺘﻤ ﺎدًا ﻋﻠ ﻰ ﻓﻜ ﺮة أن اﻟﺘﻮاﺑ ﻊ اﻟﻤﻨﻄﻘﻴ ﺔ ﻳﻤﻜ ﻦ ﺗﺤﻘﻴﻘﻬ ﺎ ﻋﻠ ﻰ ﺷ ﻜﻞ ﻣﺠﻤ ﻮع اﻟﺠ ﺪاءات ‪Sum-of-‬‬ ‫‪ Products Form‬ﻓﺈن اﻟـ ‪ PLA‬ﺗﺤﺘﻮي ﻣﺠﻮﻋﺔ ﻣﻦ ﺑﻮاﺑﺎت ‪ AND‬اﻟﺘﻲ ﺗﻐﺬي ﺑﺪورهﺎ ﻣﺠﻤﻮﻋﺔ‬ ‫ﻣﻦ ﺑﻮاﺑ ﺎت ‪ . OR‬آﻤ ﺎ ه ﻮ ﻣﺒ ﻴﻦ ﻓ ﻲ اﻟﺸ ﻜﻞ ﻓ ﺈن ﻣ ﺪاﺧﻞ اﻟ ـ ‪ X1, X2, ……, Xn : PLA‬ﺗﻤ ﺮ‬ ‫ﻼ ﻣ ﻦ اﻟﻘﻴﻤ ﺔ اﻟﺤﻘﻴﻘﻴ ﺔ واﻟﻤﻨﻔﻴ ﺔ ﻟﻜ ﻞ‬ ‫ﻋﺒ ﺮ ﻣﺠﻤﻮﻋ ﺔ ﻣ ﻦ دارات اﻟﻌ ﺰل ‪ ) Buffers‬واﻟﺘ ﻲ ﺗ ﺆﻣﻦ آ ً‬ ‫ﻣ ﺪﺧﻞ ( إﻟ ﻰ آﺘﻠ ﺔ ﻣ ﻦ اﻟ ﺪارات ﺗﺴ ﻤﻰ " ﻣﺴ ﻄﺢ ‪ " AND‬أو " ﻣﺼ ﻔﻮﻓﺔ ‪ . " AND‬وه ﺬﻩ‬ ‫اﻟﻤﺼﻔﻮﻓﺔ ﺗﻨﺘﺞ ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﺘﻌﺎﺑﻴﺮ اﻟﺠﺪاﺋﻴﺔ ‪ . P1, P2, ….., Pk : Product Terms‬آﻞ ﻣﻦ‬ ‫هﺬﻩ اﻟﺘﻌﺎﺑﻴﺮ ﻳﻤﻜ ﻦ أن ﻳﻀ ﺒﻂ ﻟﺘﺤﻘﻴ ﻖ أي ارﺗﺒ ﺎط ﻣ ﻦ اﻟﻨ ﻮع ‪ AND‬ﻟﻠﻤ ﺪاﺧﻞ ‪X1, X2, …….,‬‬ ‫‪ . Xn‬اﻟﺘﻌ ﺎﺑﻴﺮ اﻟﺠﺪاﺋﻴ ﺔ ه ﺬﻩ ﺑ ﺪورهﺎ ﻳﻤﻜ ﻦ اﻋﺘﺒﺎره ﺎ آﻤ ﺪاﺧﻞ ﻟﻤﺼ ﻔﻮﻓﺔ ‪ OR‬أﺧ ﺮى واﻟﺘ ﻲ ﺗﻨ ﺘﺞ‬

‫‪١‬‬


‫ﺑ ﺪورهﺎ اﻟﻤﺨ ﺎرج اﻟﻨﻬﺎﺋﻴ ﺔ ‪ . F1, F2, ……, Fm :‬إن آ ﻞ ﻣﺨ ﺮج ﻳﻤﻜ ﻦ أن ﻳﻀ ﺒﻂ ﻟﺘﺤﻘﻴ ﻖ أي‬ ‫ﻣﺠﻤﻮع ﻣﻦ ‪ P1, P2, …..Pk :‬وﺑﺎﻟﺘﺎﻟﻲ أي ﺗﺎﺑﻊ ﻳﻤﺜﻞ ﻣﺠﻤﻮﻋُﺎ ﻣﻦ اﻟﺠﺪاءات ﻟﻤﺪاﺧﻞ اﻟـ ‪. PLA‬‬

‫اﻟﺸﻜﻞ ) ‪ : ( ٢‬اﻟﺒﻨﻴﺔ اﻟﻌﺎﻣﺔ ﻟـ ‪PLA‬‬

‫اﻟﺸﻜﻞ ) ‪ : ( ٣‬ﻣﺨﻄﻂ ﻋﻠﻰ ﻣﺴﺘﻮى اﻟﺒﻮاﺑﺎت ﻟـ ‪PLA‬‬

‫‪٢‬‬


‫ﻼ ﻟـ ‪ PLA‬ﺻﻐﻴﺮة ﺣﻴﺚ ﻳﻌﺮض ‪ PLA‬ﺑﺜﻼﺛ ﺔ ﻣ ﺪاﺧﻞ وأرﺑﻌ ﺔ‬ ‫اﻟﺸﻜﻞ ) ‪ ( ٣‬ﻳﻮﺿﺢ ﻣﺨﻄﻄًﺎ ﻣﻔﺼ ً‬ ‫ﺗﻌﺎﺑﻴﺮ ﺟﺪاﺋﻴﺔ وﻣﺨﺮﺟﻴﻦ‪ .‬آﻞ ﺑﻮاﺑ ﺔ ‪ AND‬ﻓ ﻲ اﻟﻤﺼ ﻔﻮﻓﺔ ‪ AND‬ﻟﻬ ﺎ ﺳ ﺘﺔ ﻣ ﺪاﺧﻞ ﻣﻮاﻓﻘ ﺔ ﻟﻠﻨﺴ ﺦ‬ ‫اﻟﺤﻘﻴﻘﻴ ﺔ واﻟﻤﺘﻤﻤ ﺔ ﻹﺷ ﺎرات اﻟ ﺪﺧﻞ اﻟﺜﻼﺛ ﺔ‪ .‬آ ﻞ وﺻ ﻠﺔ إﻟ ﻰ ﺑﻮاﺑ ﺔ ‪ AND‬ه ﻲ ﻗﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ ‪:‬‬ ‫اﻹﺷﺎرة اﻟﺘﻲ ﺗﻜﻮن ﻣﻮﺻﻮﻟﺔ إﻟﻰ إﻟﻰ ﺑﻮاﺑﺔ ‪ AND‬ﻣﻮﺿﺤﺔ ﺑﻮاﺳﻄﺔ ﺧﻂ ﻣﺘﻤﻮج أﻣﺎ اﻹﺷ ﺎرة ﻏﻴ ﺮ‬ ‫اﻟﻤﻮﺻﻮﻟﺔ إﻟﻰ اﻟﺒﻮاﺑﺔ ‪ AND‬ﻓﻬ ﻲ ﻣﻤﺜﻠ ﺔ ﺑﺨ ﻂ ﻣﻘﻄ ﻮع‪ .‬إن اﻟ ﺪارة ﻣﺼ ﻤﻤﺔ ﺑﺤﻴ ﺚ أن أﻳ ﺔ ﻣ ﺪاﺧﻞ‬ ‫ﻏﻴ ﺮ ﻣﻮﺻ ﻮﻟﺔ إﻟ ﻰ اﻟﺒﻮاﺑ ﺔ ‪ AND‬ﻻ ﺗ ﺆﺛﺮ ﻋﻠ ﻰ ﺧ ﺮج ﺑﻮاﺑ ﺔ ‪ . AND‬ﻓ ﻲ أﺟﻬ ﺰة اﻟ ـ ‪PLAs‬‬ ‫اﻟﻤﺘﻮاﻓﺮة ﺗﺠﺎرﻳًﺎ ﺗﻮﺟﺪ ﻋﺪة ﻃﺮق ﻟﺘﺤﻘﻴﻖ هﺬﻩ اﻟﻮﺻﻼت اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ‪.‬‬ ‫ﻓﻲ اﻟﺸﻜﻞ ) ‪ ( ٣‬اﻟﺒﻮاﺑﺔ ‪ AND‬اﻟﺘﻲ ﺗﻨﺘﺞ اﻟﺠﺪاء ‪ P1‬ﻣﻮﺿﺤﺔ وهﻲ ﻣﻮﺻﻮﻟﺔ إﻟ ﻰ اﻟﻤ ﺪاﺧﻞ ‪ X1‬و‬ ‫‪ X2‬وﺑﺎﻟﺘ ﺎﻟﻲ ‪ P1 = X1.X2 :‬وﺑﺸ ﻜﻞ ﻣﺸ ﺎﺑﻪ ﻓ ﺈن ‪ P2 = X1.X3' :‬و ‪P3 = X1'.X2'.X3‬‬ ‫آﻤﺎ أن ‪ . P4 = X1.X3 :‬وﺻﻼت ﻗﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺗﻮﺟﺪ أﻳﻀًﺎ ﻣﻦ أﺟﻞ اﻟﻤﺼ ﻔﻮﻓﺔ ‪ . OR‬اﻟﻤﺨ ﺮج‬ ‫‪ F1‬ﻣﻮﺻﻮل إﻟﻰ اﻟﺘﻌﺎﺑﻴﺮ اﻟﺠﺪاﺋﻴﺔ ‪ P1‬و ‪ P2‬و ‪ P3‬وهﻮ ﺑﺎﻟﺘﺎﻟﻲ ﻳﺤﻘﻖ اﻟﺘﺎﺑﻊ اﻟﺘﺎﻟﻲ ‪:‬‬ ‫‪F1 = X1.X2 + X1.X3' + X1'.X2'.X3‬‬ ‫ﺑﺸﻜﻞ ﻣﺸﺎﺑﻪ ﻓﺈن ‪:‬‬ ‫‪F2 = X1.X2 + X1'.X2'.X3 + X1.X3‬‬ ‫ﻣﻊ أن اﻟﺸﻜﻞ ) ‪ ( ٣‬ﻳﺼﻮر ‪ PLA‬ﻣﺒﺮﻣﺠﺔ ﻟﺘﻨﻔﻴﺬ اﻟﺘ ﺎﺑﻌﻴﻦ اﻟﻤﻮﺻ ﻮﻓﻴﻦ أﻋ ﻼﻩ ) ‪ ( F1 & F2‬ﻓﺈﻧ ﻪ‬ ‫ﻼ ﻣ ﻦ اﻟﻤﺨ ﺮﺟﻴﻦ ‪ F1‬و ‪F2‬‬ ‫وﻣ ﻦ ﺧ ﻼل ﺑﺮﻣﺠ ﺔ ﻣﺼ ﻔﻮﻓﺘﻲ ‪ AND‬و ‪ OR‬ﺑﺸ ﻜﻞ ﻣﺨﺘﻠ ﻒ ﻓ ﺈن آ ً‬ ‫ﻳﻤﻜﻨﻪ أن ﻳﻨﺠﺰ ﺗﻮاﺑﻊ ﻣﺨﺘﻠﻔﺔ اﻧﻄﻼﻗًﺎ ﻣﻦ إﺷﺎرات اﻟﺪﺧﻞ ‪ X1‬و ‪ X2‬و ‪ . X3‬اﻟﻘﻴﺪ اﻟﻮﺣﻴﺪ هﻨ ﺎ ﻋﻠ ﻰ‬ ‫اﻟﺘﻮاﺑﻊ اﻟﺘﻲ ﻳﻤﻜﻦ أن ﺗﻨﺠﺰ هﻮ ﺣﺠﻢ اﻟﻤﺼﻔﻮﻓﺔ ‪ AND‬ﻷﻧﻬﺎ ﻓﻲ ﻣﺜﺎﻟﻨﺎ هﺬا ﺗﻨ ﺘﺞ ﻓﻘ ﻂ أرﺑﻌ ﺔ ﺗﻌ ﺎﺑﻴﺮ‬ ‫ﺟﺪاﺋﻴﺔ ) أرﺑﻌﺔ ﺑﻮاﺑﺎت ‪ . ( AND‬أﺟﻬﺰة اﻟـ ‪ PLAs‬اﻟﻤﺘﻮاﻓﺮة ﺗﺠﺎرﻳًﺎ ﺗﺄﺗﻲ ﺑﺄﺣﺠﺎم أآﺒ ﺮ ﻣ ﻦ اﻟ ﺬي‬ ‫ﻋﺮﺿﻨﺎﻩ هﻨﺎ‪ .‬اﻟﻤﻌﺎﻣﻼت اﻟﻨﻤﻮذﺟﻴﺔ هﻲ ﻋﺎدة ‪ ١٦ :‬ﻣﺪﺧ ً‬ ‫ﻼ و‪ ٣٢‬ﺗﻌﺒﻴﺮًا ﺟﺪاﺋﻴًﺎ وﺛﻤﺎﻧﻴﺔ ﻣﺨﺎرج ‪.‬‬ ‫ﺑﺎﻟﺮﻏﻢ ﻣﻦ أن اﻟﺸﻜﻞ ) ‪ ( ٣‬ﻳﺼﻮر ﺑﺸﻜﻞ واﺿﺢ اﻟﺒﻨﻴﺔ اﻟﻮﻇﻴﻔﻴﺔ ﻟﺠﻬ ﺎز ‪ PLA‬ﻓ ﺈن ه ﺬا اﻟ ﻨﻤﻂ ﻣ ﻦ‬ ‫اﻟﺮﺳﻢ ﻏﻴﺮ ﻣﻼﺋﻢ ﻣﻦ أﺟﻞ اﻟﺪارات اﻟﻜﺒﻴﺮة وﺑﺎﻟﺘﺎﻟﻲ ﻓﻌﻮﺿًﺎ ﻋﻨ ﻪ أﺻ ﺒﺢ ﻣ ﻦ اﻟﻤ ﺄﻟﻮف ﻓ ﻲ اﻟﻤﺮاﺟ ﻊ‬ ‫اﻟﺘﻘﻨﻴﺔ اﺳﺘﺨﺪام اﻟﻨﻤﻂ اﻟﻤﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ) ‪. ( ٤‬‬

‫اﻟﺸﻜﻞ ) ‪ : ( ٤‬اﻟﻤﺨﻄﻂ اﻟﺸﺎﺋﻊ ﻟﻠـ ‪ PLA‬اﻟﻤﻮﺿﺤﺔ ﻓﻲ اﻟﺸﻜﻞ ) ‪( ٣‬‬ ‫‪٣‬‬


‫آﻞ ﺑﻮاﺑﺔ ‪ AND‬ﻳﺘﻢ ﺗﻤﺜﻴﻠﻬﺎ ﻣﻦ ﺧﻼل ﺧﻂ أﻓﻘﻲ وﺣﻴﺪ ﻣﻮﺻﻮل إﻟ ﻰ رﻣ ﺰ ﺑﻮاﺑ ﺔ ‪ . AND‬اﻟﻤ ﺪاﺧﻞ‬ ‫اﻟﻤﻤﻜﻨﺔ ﻟﻠﺒﻮاﺑﺔ ‪ AND‬ﻣﺮﺳﻮﻣﺔ آﺨﻄﻮط ﺷ ﺎﻗﻮﻟﻴﺔ اﻟﺘ ﻲ ﺗﺘﻘ ﺎﻃﻊ ﻣ ﻊ اﻟﺨ ﻂ اﻷﻓﻘ ﻲ ‪ .‬ﻋﻨ ﺪ أي ﺗﻘ ﺎﻃﻊ‬ ‫ﻼ ﻟﻠﺒﺮﻣﺠ ﺔ ﻣﻮﺿ ﺤًﺎ ﺑﻮاﺳ ﻄﺔ اﻟﺮﻣ ﺰ ‪ x‬ﻳﻤﻜ ﻦ‬ ‫ﻟﺨﻂ ﺷﺎﻗﻮﻟﻲ ﻣﻊ ﺧﻂ أﻓﻘﻲ ﻓﺈن ارﺗﺒﺎﻃًﺎ ) وﺻﻠ ًﺔ ( ﻗﺎﺑ ً‬ ‫أن ﻳﻨﺠ ﺰ‪ .‬اﻟﺸ ﻜﻞ ) ‪ ( ٤‬ﻳﺒ ﻴﻦ اﻻرﺗﺒﺎﻃ ﺎت اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ اﻟﻀ ﺮورﻳﺔ ﻟﺘﻨﻔﻴ ﺬ اﻟﺘﻌ ﺎﺑﻴﺮ اﻟﺠﺪاﺋﻴ ﺔ ﻓ ﻲ‬ ‫اﻟﺸﻜﻞ ) ‪ . ( ٣‬إن آﻞ ﺑﻮاﺑﺔ ‪ OR‬هﻲ ﻣﺮﺳﻮﻣﺔ ﺑﻄﺮﻳﻘﺔ ﻣﺸﺎﺑﻬﺔ ﻣﻊ ﺧ ﻂ ﺷ ﺎﻗﻮﻟﻲ ﻣﺮﺑ ﻮط إﻟ ﻰ رﻣ ﺰ‬ ‫ﺑﻮاﺑ ﺔ ‪ . OR‬ﻣﺨ ﺎرج اﻟﺒﻮاﺑ ﺔ ‪ AND‬ﺗﺘﻘ ﺎﻃﻊ ﻣ ﻊ ه ﺬﻩ اﻟﺨﻄ ﻮط وﺑﺎﻟﺘ ﺎﻟﻲ ﻓ ﺈن اﻻرﺗﺒﺎﻃ ﺎت اﻟﻘﺎﺑﻠ ﺔ‬ ‫ﻟﻠﺒﺮﻣﺠ ﺔ اﻟﻤﻮاﻓﻘ ﺔ ﻳﻤﻜ ﻦ أن ﺗﺸ ﻜﻞ ‪ .‬اﻟﺸ ﻜﻞ ) ‪ ( ٤‬ﻳﺼ ﻮر اﻟﻮﺻ ﻼت اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ اﻟﺘ ﻲ ﺗﻨ ﺘﺞ‬ ‫اﻟﺘﺎﺑﻌﻴﻦ ‪ F1‬و ‪ F2‬ﻣﻦ اﻟﺸﻜﻞ ) ‪. ( ٣‬‬ ‫إن اﻟـ ‪ PLA‬ﻓﻌﺎﻟﺔ ﻣﻦ ﺣﻴﺚ اﻟﻤﺴﺎﺣﺔ اﻟﻤﻄﻠﻮﺑﺔ ﻟﺘﻨﻔﻴ ﺬهﺎ ) ﺗﺼ ﻨﻴﻌﻬﺎ ( ﻋﻠ ﻰ ﺷ ﺮﻳﺤﺔ دارة ﻣﺘﻜﺎﻣﻠ ﺔ ‪.‬‬ ‫وﻟﻬﺬا اﻟﺴﺒﺐ ﻓﺈن اﻟـ ‪ PLAs‬ﻋﺎدة ﻣﺎ ﺗﻜﻮن ﻣﻀﻤﻨﺔ آﺠﺰء ﻣﻦ ﺷ ﺮاﺋﺢ أآﺒ ﺮ آﺎﻟﻤﻌﺎﻟﺠ ﺎت اﻟﻤﺼ ﻐﺮة‬ ‫‪ . Microprocessors‬ﻓ ﻲ ه ﺬﻩ اﻟﺤﺎﻟ ﺔ ﻓ ﺈن اﻟ ـ ‪ PLA‬ﺗﺼ ﻨﻊ ﺑﺤﻴ ﺚ أن اﻟﻮﺻ ﻼت إﻟ ﻰ ﺑﻮاﺑ ﺎت‬ ‫ﻻ ﻣﻦ أن ﺗﻜﻮن ﻗﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ‪.‬‬ ‫‪ AND‬و ‪ OR‬ﺗﻜﻮن ﺛﺎﺑﺘﺔ ﺑﺪ ً‬ ‫‪ -٢-١‬ﻣﻨﻄﻖ اﻟﻤﺼﻔﻮﻓﺔ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ‪Programmable Array Logic ( PAL ) :‬‬ ‫ﻼ ﻣ ﻦ ﻣﺼ ﻔﻮﻓﺘﻲ ‪ AND‬و ‪ OR‬هﻤ ﺎ ﻗﺎﺑﻠﺘ ﺎن ﻟﻠﺒﺮﻣﺠ ﺔ ‪ .‬ﺗﺎرﻳﺨﻴ ًﺎ ‪ ،‬أﻇﻬ ﺮت‬ ‫ﻓ ﻲ اﻟ ـ ‪ PLA‬ﻓ ﺈن آ ً‬ ‫ﻻ آﺎﻧﺖ ﺻﻌﺒ ًﺔ ﻟﻠﺘﺼﻨﻴﻊ ﺑﺸ ﻜﻞ‬ ‫اﻟﻤﻔﺎﺗﻴﺢ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺻﻌﻮﺑﺘﻴﻦ أﻣﺎم اﻟﻤﺼﻨﻌﻴﻦ ﻟﻬﺬﻩ اﻷﺟﻬﺰة ‪ :‬أو ً‬ ‫ﺳﻠﻴﻢ وﺛﺎﻧﻴًﺎ ﻓﺈﻧﻬﺎ آﺎﻧﺖ ﺗﺨﻔﺾ أداء اﻟﺴﺮﻋﺔ ﻟﻠ ﺪارات اﻟﻤﻨﻔ ﺬة ﻓ ﻲ أﺟﻬ ﺰة اﻟ ـ ‪ . PLAs‬ه ﺬﻩ اﻟﻌﻮاﺋ ﻖ‬ ‫ﻗﺎدت إﻟﻰ ﺗﻄﻮﻳﺮ ﺟﻬﺎز ﻣﺸﺎﺑﻪ ﺑﺤﻴﺚ أن ﻣﺼﻔﻮﻓﺔ ‪ AND‬ﻓﻴ ﻪ ﻗﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ وﻟﻜ ﻦ ﻣﺼ ﻔﻮﻓﺔ ‪OR‬‬ ‫ﺛﺎﺑﺘ ﺔ‪ .‬ﺷ ﺮﻳﺤﺔ آﻬ ﺬﻩ ﺗﻌ ﺮف ﺑﺎﺳ ﻢ ﺟﻬ ﺎز ﻣﻨﻄ ﻖ اﻟﻤﺼ ﻔﻮﻓﺔ اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ ‪Programmable‬‬ ‫‪ Array Logic Device‬أو اﺧﺘﺼ ﺎرًا ) ‪ . ( PAL‬ﻧﻈ ﺮًا ﻷﻧﻬ ﺎ أﺑﺴ ﻂ ﻓ ﻲ اﻟﺘﺼ ﻨﻴﻊ وﺑﺎﻟﺘ ﺎﻟﻲ أﻗ ﻞ‬ ‫آﻠﻔ ﺔ ﻣ ﻦ اﻟ ـ ‪ PLAs‬وﻷﻧﻬ ﺎ ﺗﻘ ﺪم أدا ًء أﻓﻀ ﻞ ﻓ ﺈن أﺟﻬ ﺰة ‪ PALs‬أﺻ ﺒﺤﺖ ﺷ ﺎﺋﻌ ًﺔ ﻓ ﻲ اﻟﺘﻄﺒﻴﻘ ﺎت‬ ‫اﻟﻌﻤﻠﻴﺔ ‪.‬‬

‫اﻟﺸﻜﻞ ) ‪ : ( ٥‬ﻣﺜﺎل ﻋﻦ ‪PAL‬‬

‫‪٤‬‬


‫ﻻ ﻋﻠ ﻰ ‪ PAL‬ﺑﺜﻼﺛ ﺔ ﻣ ﺪاﺧﻞ وأرﺑﻌ ﺔ ﺗﻌ ﺎﺑﻴﺮ ﺟﺪاﺋﻴ ﺔ وﻣﺨ ﺮﺟﻴﻦ ‪ .‬اﻟﺘﻌﺒﻴ ﺮان‬ ‫ﻳﺒﻴﻦ اﻟﺸ ﻜﻞ ) ‪ ( ٥‬ﻣﺜ ﺎ ً‬ ‫اﻟﺠﺪاﺋﻴﺎن ‪ P1‬و ‪ P2‬ﻣﻮﺻﻮﻻن ﺑﺸﻜﻞ ﺛﺎﺑﺖ إﻟﻰ إﺣﺪى ﺑﻮاﺑﺘﻲ ‪ OR‬واﻟﺘﻌﺒﻴﺮان اﻵﺧﺮان ‪ P3‬و ‪P4‬‬ ‫ﻣﻮﺻﻮﻻن ﺑﺸ ﻜﻞ ﺛﺎﺑ ﺖ إﻟ ﻰ ﺑﻮاﺑ ﺔ ‪ OR‬اﻷﺧ ﺮى ‪ .‬اﻟ ـ ‪ PAL‬اﻟﻤﻮﺿ ﺤﺔ ﻣﺒﺮﻣﺠ ﺔ ﻟﺘﺤﻘﻴ ﻖ اﻟﺘ ﺎﺑﻌﻴﻦ‬ ‫اﻟﻤﻨﻄﻘﻴﻴﻦ اﻟﺘﺎﻟﻴﻴﻦ ‪:‬‬ ‫‪F1 = X1.X2.X3' + X1'.X2.X3‬‬ ‫‪F2 = X1'.X2' + X1.X2.X3‬‬ ‫ﺑﺎﻟﻤﻘﺎرﻧ ﺔ ﻣ ﻊ اﻟ ـ ‪ PLA‬ﻓ ﻲ اﻟﺸ ﻜﻞ ) ‪ ( ٤‬ﻓ ﺈن اﻟ ـ ‪ PAL‬ﺗﻘ ﺪم ﻣﺮوﻧ ﺔ أﻗ ﻞ ‪ :‬اﻟ ـ ‪ PLA‬ﺗﺘ ﻴﺢ ﺣﺘ ﻰ‬ ‫ﻼ ﻣﻦ ﺑﻮاﺑﺘﻲ ‪ OR‬ﻓ ﻲ اﻟ ـ ‪ PAL‬ﺗﻤﺘﻠ ﻚ ﻣ ﺪﺧﻠﻴﻦ‬ ‫أرﺑﻌﺔ ﺗﻌﺎﺑﻴﺮ ﺟﺪاﺋﻴﺔ ﻟﻜﻞ ﺑﻮاﺑﺔ ‪ OR‬ﻓﻲ ﺣﻴﻦ أن آ ً‬ ‫ﻓﻘﻂ ‪ .‬ﻟﻠﺘﻌﻮﻳﺾ ﻋﻦ هﺬا اﻻﻧﺨﻔﺎض ﻓﻲ اﻟﻤﺮوﻧﺔ ﻓﺈن أﺟﻬﺰة اﻟـ ‪ PALs‬ﺗﺼﻨﻊ ﻓ ﻲ ﻣﺠ ﺎل واﺳ ﻊ ﻣ ﻦ‬ ‫اﻷﺣﺠﺎم اﻟﻤﺘﻔﺎوﺗﺔ ﻣﻊ أﻋﺪاد ﻣﺘﻨﻮﻋﺔ ﻣ ﻦ اﻟﻤ ﺪاﺧﻞ واﻟﻤﺨ ﺎرج وأﻋ ﺪاد ﻣﺨﺘﻠﻔ ﺔ ﻣ ﻦ اﻟﻤ ﺪاﺧﻞ ﻟﺒﻮاﺑ ﺎت‬ ‫‪ . OR‬آﻤﺜﺎل ﻋﻦ ﺟﻬﺎز ‪ PAL‬ﺗﺠﺎري ﻧ���آﺮ اﻟﺸﺮﻳﺤﺔ ‪ 22V10 PAL Device :‬اﻟﺸﻜﻞ ) ‪. ( ٨‬‬ ‫ﺣﺘﻰ اﻵن آﻨ ﺎ ﻧﻔﺘ ﺮض أن ﻣﺨ ﺎرج ﺑﻮاﺑ ﺎت ‪ OR‬ﻓ ﻲ ﺟﻬ ﺎز ‪ PAL‬آﻤ ﺎ ﻓ ﻲ ﺟﻬ ﺎز ‪ PLA‬ﻣﻮﺻ ﻮﻟﺔ‬ ‫ﻣﺒﺎﺷﺮ ًة إﻟﻰ أﻗﻄﺎب اﻟﺨﺮج ﻟﻠﺸﺮﻳﺤﺔ ‪ .‬ﻓﻲ ﻋﺪة ‪ PALs‬ﻓﺈن دارات إﺿﺎﻓﻴﺔ ﺗﻀ ﺎف إﻟ ﻰ ﻣﺨ ﺮج آ ﻞ‬ ‫ﺑﻮاﺑ ﺔ ‪ OR‬ﻟﺘﺰوﻳ ﺪ ﻣﺮوﻧ ﺔ إﺿ ﺎﻓﻴﺔ‪ . .‬ﻣ ﻦ اﻟﻤ ﺄﻟﻮف هﻨ ﺎ اﺳ ﺘﺨﺪام اﻟﺘﻌﺒﻴ ﺮ " ﺧﻠﻴ ﺔ ﻣﺎآﺮوﻳ ﺔ "‬ ‫ﻻ ﻋﻦ‬ ‫‪ Macrocell‬ﻟﻺﺷ ﺎرة إﻟ ﻰ اﻟﺒﻮاﺑ ﺔ ‪ OR‬اﻟﻤﻘﺮوﻧ ﺔ ﺑﺎﻟ ﺪارات اﻹﺿ ﺎﻓﻴﺔ اﻟﻤﻠﺤﻘ ﺔ ﺑﻬ ﺎ ‪ .‬إن ﻣﺜ ﺎ ً‬ ‫اﻟﻤﺮوﻧﺔ اﻟﺘﻲ ﻳﻤﻜﻦ أن ﺗﻜﻮن ﻣﺰودة ﻓﻲ ﺧﻠﻴﺔ ﻣﺎآﺮوﻳﺔ ‪ Macrocell‬ﻣﺒﻴﻦ ﻓﻲ اﻟﺸﻜﻞ ) ‪. ( ٦‬‬

‫اﻟﺸﻜﻞ ) ‪ : ( ٦‬دارات إﺿﺎﻓﻴﺔ ﻣﻀﺎﻓﺔ إﻟﻰ ﻣﺨﺎرج اﻟﺒﻮاﺑﺎت ‪ OR‬ﻣﻦ اﻟﺸﻜﻞ ) ‪( ٥‬‬ ‫اﻟﺮﻣ ﺰ اﻟﻤﺴ ﻤﻰ ‪ ) Flip-Flop‬ﻗ ﻼب ( ﻳﻤﺜ ﻞ ﻋﻨﺼ ﺮ ذاآ ﺮة ‪ . Memory Element‬إﻧ ﻪ ﻳﻘ ﻮم‬ ‫ﺑﺘﺨﺰﻳﻦ اﻟﻘﻴﻤﺔ اﻟﻤﻨﺘﺠﺔ ﺑﻮاﺳ ﻄﺔ ﻣﺨ ﺮج اﻟﺒﻮاﺑ ﺔ ‪ OR‬ﻋﻨ ﺪ ﻟﺤﻈ ﺔ ﻣﺤ ﺪدة ﻣ ﻦ اﻟ ﺰﻣﻦ وﻳﻤﻜﻨ ﻪ ﻣ ﻦ ﺛ ﻢ‬ ‫ﻣﺴﻚ هﺬﻩ اﻟﻘﻴﻤﺔ ) اﻻﺣﺘﻔﺎظ ﺑﻬﺎ ( ﺑﺸﻜﻞ ﻏﻴﺮ ﻣﺤ ﺪود ‪ .‬اﻟﻘ ﻼب ‪ Flip-Flop‬ﻣﻘ ﺎد ﺑﻮاﺳ ﻄﺔ اﻹﺷ ﺎرة‬ ‫اﻟﻤﺴﻤﺎة " ﻧﺒﻀﺔ اﻟﺴﺎﻋﺔ " ‪ . Clock‬ﻋﻨﺪﻣﺎ ﻳﻄﺮأ ﻋﻠﻰ اﻹﺷﺎرة ‪ Clock‬اﻧﺘﻘﺎل ﻣ ﻦ اﻟﻘﻴﻤ ﺔ اﻟﻤﻨﻄﻘﻴ ﺔ‬ ‫"‪ "0‬إﻟﻰ اﻟﻘﻴﻤﺔ اﻟﻤﻨﻄﻘﻴﺔ "‪ "1‬ﻳﺨﺰن اﻟﻘﻼب اﻟﻘﻴﻤﺔ اﻟﻤﻄﺒﻘ ﺔ ﻋﻠ ﻰ ﻣﺪﺧﻠ ﻪ ‪ D‬ﻓ ﻲ ه ﺬﻩ اﻟﻠﺤﻈ ﺔ وه ﺬﻩ‬ ‫اﻟﻘﻴﻤﺔ ﺗﻈﻬﺮ ﻋﻠﻰ ﻣﺨﺮج اﻟﻘﻼب ‪ . Q‬إن اﻟﻘﻼﺑﺎت ‪ Flip-Flops‬ﻣﺴﺘﺨﺪﻣﺔ ﺑﻜﺜﺎﻓﺔ ﻟﺘﻨﻔﻴﺬ ﻋ ﺪة أﻧ ﻮاع‬ ‫ﻣ ﻦ اﻟ ﺪارات اﻟﻤﻨﻄﻘﻴ ﺔ اﻟﺘﺘﺎﺑﻌﻴ ﺔ آﻤ ﺎ ه ﻮ ﻣﻌﻠ ﻮم ) اﻟﻌ ﺪادات ‪ Counters‬وﺁﻻت اﻟﺤﺎﻟ ﺔ اﻟﻤﻨﺘﻬﻴ ﺔ‬ ‫‪ Finite State Machines‬ﻋﻠ ﻰ ﺳ ﺒﻴﻞ اﻟﻤﺜ ﺎل ( ‪ .‬ﻟﻠﻨﺎﺧ ﺐ ‪ 2-to-1 Multiplexer‬ﻣ ﺪﺧﻠﻲ‬ ‫ﻣﻌﻄﻴﺎت وﻣﺪﺧﻞ اﻧﺘﺨﺎب وﺣﻴﺪ وﻣﺨ ﺮج وﺣﻴ ﺪ ‪ .‬ﻳﺴ ﺘﺨﺪم ﻣ ﺪﺧﻞ اﻻﻧﺘﺨ ﺎب ﻻﺧﺘﻴ ﺎر أي ﻣ ﻦ ﻣ ﺪﺧﻠﻲ‬ ‫اﻟﻤﻌﻄﻴﺎت ﺳﻴﺘﻢ ﺗﻤﺮﻳﺮ ﻗﻴﻤﺘﻪ إﻟﻰ ﻣﺨﺮج اﻟﻨﺎﺧﺐ ‪ .‬ﻓﻲ اﻟﺸﻜﻞ ) ‪ ( ٦‬ﻳﻘﻮم ﻧﺎﺧﺐ ﻣ ﻦ اﻟﻨ ﻮع ‪2-to-1‬‬ ‫‪٥‬‬


‫‪ Multiplexer‬ﺑﺎﻧﺘﺨﺎب آﺨﺮج ﻟﻪ إﻣﺎ ﻣﺨﺮج ﺑﻮاﺑﺔ ‪ OR‬أو ﻣﺨﺮج اﻟﻘ ﻼب ‪ . Flip-Flop‬إن ﺧ ﻂ‬ ‫اﻧﺘﺨﺎب اﻟﻨﺎﺧﺐ ﻳﻤﻜﻦ أن ﻳﻜﻮن ﻣﺒﺮﻣﺠًﺎ ﻟﻴﺄﺧﺬ اﻟﻘﻴﻤﺔ "‪ "0‬أو "‪ . "1‬ﻳﺒﻴﻦ اﻟﺸﻜﻞ ) ‪ ( ٦‬ﺑﻮاﺑﺔ ﻣﻨﻄﻘﻴﺔ‬ ‫ﻻ ﺛﻼﺛﻲ اﻟﺤﺎﻟﺔ ‪ Tri-State Buffer‬ﻣﻮﺻﻮﻟ ًﺔ ﺑﻴﻦ اﻟﻨﺎﺧﺐ وﻣﺨﺮج اﻟـ ‪. PAL‬‬ ‫أﺧﺮى ﺗﺪﻋﻰ ﻋﺎز ً‬ ‫أﺧﻴ ﺮًا‪ ،‬ﻓ ﺈن ﺧ ﺮج اﻟﻨﺎﺧ ﺐ ﻣﻐ ﺬى ﻋﻜﺴ ﻴًﺎ " ‪ " Fed Back‬إﻟ ﻰ ﻣﺼ ﻔﻮﻓﺔ ‪ AND‬ﻓ ﻲ اﻟ ـ ‪. PAL‬‬ ‫ﺗﺴﻤﺢ وﺻﻠﺔ اﻟﺘﻐﺬﻳﺔ اﻟﻌﻜﺴﻴﺔ هﺬﻩ ﻟﻠﺘﺎﺑﻊ اﻟﻤﻨﻄﻘﻲ اﻟﻨﺎﺗﺞ ﻋﻦ اﻟﻨﺎﺧﺐ ﺑ ﺄن ﻳﺴ ﺘﺨﺪم ﺑﺸ ﻜﻞ داﺧﻠ ﻲ ﻓ ﻲ‬ ‫اﻟ ـ ‪ ، PAL‬اﻷﻣ ﺮ اﻟ ﺬي ﻳﺴ ﻤﺢ ﺑﺘﻨﻔﻴ ﺬ دارات واﻟﺘ ﻲ ﺗﻤﺘﻠ ﻚ ﻋ ﺪة ﻣﺮاﺣ ﻞ ‪ Multiple Stages‬أو‬ ‫ﻣﺴ ﺘﻮﻳﺎت ‪ Levels‬ﻣ ﻦ اﻟﺒﻮاﺑ ﺎت اﻟﻤﻨﻄﻘﻴ ﺔ ‪ .‬إن ﻋ ﺪدًا ﻣ ﻦ اﻟﺸ ﺮآﺎت ﺗﺼ ﻨﻊ أﺟﻬ ﺰة ‪ PLAs‬أو‬ ‫‪ PALs‬أو أﻧﻮاﻋ ًﺎ ﻣﺸ ﺎﺑﻬﺔ أﺧ ﺮى ﻣ ﻦ أﺟﻬ ﺰة اﻟﻤﻨﻄ ﻖ اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ اﻟﺒﺴ ﻴﻄﺔ ‪Simple‬‬ ‫‪ Programmable Logic Devices‬أو اﺧﺘﺼﺎرًا ‪. SPLDs‬‬ ‫‪ -٣-١‬ﺑﺮﻣﺠﺔ أﺟﻬﺰة ‪ PLAs‬و ‪Programming of PLAs and PALs : PALs‬‬ ‫ﻓ ﻲ اﻟﺸ ﻜﻠﻴﻦ ) ‪ ( ٤‬و ) ‪ ( ٥‬ﻓ ﺈن آ ﻞ وﺻ ﻠﺔ ﺑ ﻴﻦ إﺷ ﺎرة ﻣﻨﻄﻘﻴ ﺔ ﻓ ﻲ ‪ PLA‬أو ‪ PAL‬وﺑﻮاﺑ ﺎت‬ ‫‪ AND/OR‬ﻣﻮﺿﺤﺔ ﻣ ﻦ ﺧ ﻼل إﺷ ﺎرة ‪ . x‬ﻓ ﻲ اﻟﺤﻘﻴﻘ ﺔ ه ﺬﻩ اﻟﻮﺻ ﻼت ﻋ ﺎدة ﻣ ﺎ ﻳ ﺘﻢ ﺗﺤﻘﻴﻘﻬ ﺎ ﻣ ﻦ‬ ‫ﺧ ﻼل ﺗﺮاﻧﺰﻳﺴ ﺘﻮرات وذﻟ ﻚ ﺑﻮﺿ ﻊ ه ﺬﻩ اﻟﺘﺮاﻧﺰﻳﺴ ﺘﻮرات ﻓ ﻲ ﺣﺎﻟ ﺔ ‪ On‬أو ‪ Off‬ﺣﺴ ﺐ اﻟﺤﺎﻟ ﺔ ‪.‬‬ ‫اﻟ ﺪارات اﻟﻤ ﺮاد ﺗﺼ ﻤﻴﻤﻬﺎ ﻣ ﻦ ﻗﺒ ﻞ اﻟﻤﺴ ﺘﺨﺪم ﻳ ﺘﻢ ﺗﻨﻔﻴ ﺬهﺎ ﺑﻮاﺳ ﻄﺔ ه ﺬﻩ اﻷﺟﻬ ﺰة ﺑﻀ ﺒﻂ‬ ‫‪ Configuring‬أو ﺑﺮﻣﺠ ﺔ ‪ Programming‬ه ﺬﻩ اﻟﻤﻔ ﺎﺗﻴﺢ ‪ . Switches‬اﻟﺸ ﺮاﺋﺢ اﻟﺘﺠﺎرﻳ ﺔ‬ ‫ﺗﺤﺘ ﻮي ﺑﻀ ﻌﺔ ﺁﻻف ﻣ ﻦ ه ﺬﻩ اﻟﻤﻔ ﺎﺗﻴﺢ اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ وﺑﺎﻟﺘ ﺎﻟﻲ ﻓﺈﻧ ﻪ ﻣ ﻦ ﻏﻴ ﺮ اﻟﻤﻌﻘ ﻮل أن ﻳﻘ ﻮم‬ ‫اﻟﻤﺴﺘﺨﺪم ﻟﻬﺬﻩ اﻟﺸﺮاﺋﺢ ﺑﺘﺤﺪﻳﺪ ﺣﺎﻟﺔ اﻟﺒﺮﻣﺠﺔ اﻟﻤﻄﻠﻮﺑﺔ ﻟﻜﻞ ﻣﻔﺘﺎح ﺑﺸﻜﻞ ﻳﺪوي ‪ .‬ﻋﻮﺿًﺎ ﻋ ﻦ ذﻟ ﻚ ‪،‬‬ ‫ﻳ ﺘﻢ ﻟﻬ ﺬا اﻟﻐ ﺮض اﺳ ﺘﺨﺪام أﻧﻈﻤ ﺔ ﺗﺼ ﻤﻴﻢ ﺑﺎﺳ ﺘﺨﺪام اﻟﺤﺎﺳ ﻮب ‪Computer-Aided Design‬‬ ‫‪ Systems‬أو ﻣﺎ ﻳﻌﺮف اﺧﺘﺼﺎرًا ﺑﺎﺳﻢ ‪ . CAD Systems‬إن أﻧﻈﻤ ﺔ ‪ CAD‬اﻟﺘ ﻲ ﺗ ﺪﻋﻢ ﺑﺮﻣﺠ ﺔ‬ ‫أﺟﻬ ﺰة ‪ PLDs‬ﻟﺘﻨﻔﻴ ﺬ اﻟ ﺪارات اﻟﻤﻄﻠﻮﺑ ﺔ ﺗﺘﻀ ﻤﻦ اﻷدوات ‪ Tools‬اﻟﺘ ﻲ ﻟﻬ ﺎ اﻟﻘ ﺪرة ﻋﻠ ﻰ إﻧﺘ ﺎج‬ ‫اﻟﻤﻌﻠﻮﻣﺎت اﻟﻀﺮورﻳﺔ ﻟﺒﺮﻣﺠﺔ آﻞ ﻣﻦ اﻟﻤﻔﺎﺗﻴﺢ ﻓﻲ اﻟﺠﻬﺎز ﺑﺸﻜﻞ ﺁﻟﻲ ‪ .‬ﻳﻜﻮن ﻧﻈﺎم اﻟﺤﺎﺳ ﻮب اﻟ ﺬي‬ ‫ﻻ ﺑﻮاﺳ ﻄﺔ آﺒ ﻞ ‪ Cable‬إﻟ ﻰ وﺣ ﺪة اﻟﺒﺮﻣﺠ ﺔ اﻟﺨﺎﺻ ﺔ‬ ‫ﻳﺸ ﻐﻞ أدوات ‪ CAD‬ه ﺬﻩ ﻣﻮﺻ ﻮ ً‬ ‫‪ . Programming Unit‬ﺣﺎﻟﻤ ﺎ ﻳﻨﻬ ﻲ اﻟﻤﺴ ﺘﺨﺪم ) اﻟﻤﺼ ﻤﻢ ( ﺗﺼ ﻤﻴﻢ اﻟ ﺪارة ﺗﻘ ﻮم أدوات ‪CAD‬‬ ‫ﺑﺘﻮﻟﻴﺪ ﻣﻠﻒ ‪ File‬ﻋ ﺎد ًة ﻣ ﺎ ﻳﺴ ﻤﻰ ﻣﻠ ﻒ اﻟﺒﺮﻣﺠ ﺔ ‪ Programming File‬أو ﻣﺨﻄ ﻂ اﻟﻤﻨﺼ ﻬﺮات‬ ‫‪ Fuse Map‬واﻟ ﺬي ﻳﺤ ﺪد اﻟﺤﺎﻟ ﺔ اﻟﺘ ﻲ ﻳﻨﺒﻐ ﻲ ﻟﻜ ﻞ ﻣﻔﺘ ﺎح ﻓ ﻲ اﻟ ـ ‪ PLD‬أن ﻳﺄﺧ ﺬهﺎ وذﻟ ﻚ ﻟﺘﺤﻘﻴ ﻖ‬ ‫اﻟﺪارة اﻟﻤﻄﻠﻮب ﺗﺼﻤﻴﻤﻬﺎ ﺑﺸﻜﻞ ﺻﺤﻴﺢ ‪ .‬ﻳﺘﻢ ﺗﻮﺿﻴﻊ ﺟﻬﺎز اﻟ ـ ‪ PLD‬ﺿ ﻤﻦ وﺣ ﺪة اﻟﺒﺮﻣﺠ ﺔ وﻳ ﺘﻢ‬ ‫ﻧﻘ ﻞ ﻣﻠ ﻒ اﻟﺒﺮﻣﺠ ﺔ ﻣ ﻦ ﻧﻈ ﺎم اﻟﺤﺎﺳ ﻮب إﻟ ﻰ وﺣ ﺪة اﻟﺒﺮﻣﺠ ﺔ ‪ .‬ﻣ ﻦ ﺛ ﻢ ﺗﻘ ﻮم وﺣ ﺪة اﻟﺒﺮﻣﺠ ﺔ ﺑﻮﺿ ﻊ‬ ‫اﻟﺸ ﺮﻳﺤﺔ ﻓ ﻲ ﻧﻤ ﻂ ﺑﺮﻣﺠ ﺔ ﺧ ﺎص ‪ Special Programming Mode‬وﺗﻘ ﻮم ﺑﻀ ﺒﻂ ﺣﺎﻟ ﺔ آ ﻞ‬ ‫ﻣﻔﺘﺎح ﺑﺸﻜﻞ ﻣﻨﻔﺮد ‪ .‬اﻟﺸﻜﻞ ) ‪ ( ٧‬ﻳﻮﺿﺢ ﺻﻮرة ﻟﻮﺣﺪة ﺑﺮﻣﺠﺔ ﻣﺼﻨﻌﺔ ﻣﻦ ﺷﺮآﺔ ‪. Data IO‬‬

‫اﻟﺸﻜﻞ ) ‪ : ( ٧‬وﺣﺪة ﺑﺮﻣﺠﺔ ‪ ) PLD‬ﻣﻦ ﺷﺮآﺔ ‪( Data IO‬‬

‫‪٦‬‬


‫اﻟﺸﻜﻞ ) ‪ : ( ٨‬ﻣﺨﻄﻂ اﻟﺸﺮﻳﺤﺔ ‪22V10 PAL‬‬ ‫ﻋ ﺪة ﻣﻬﺎﻳﺌ ﺎت ‪ Adaptors‬ﻣﻮﺿ ﺤﺔ ﻓ ﻲ اﻟﺼ ﻮرة إﻟ ﻰ ﺟﺎﻧ ﺐ اﻟﻮﺣ ﺪة اﻟﺮﺋﻴﺴ ﻴﺔ ‪ : Main Unit‬إن‬ ‫آ ﻞ ﻣﻬ ﺎﻳﺊ ) ﻣﻼﺋ ﻢ ( ‪ Adapter‬ﻳﺴ ﺘﺨﺪم ﻣ ﻦ أﺟ ﻞ ﻧ ﻮع ﺧ ﺎص ﻟﺸ ﻜﻞ رزﻣ ﺔ اﻟﺸ ﺮﻳﺤﺔ ‪Chip‬‬ ‫‪ . Package‬ﻋﻤﻠﻴﺔ اﻟﺒﺮﻣﺠﺔ ﻗﺪ ﺗﺴﺘﻐﺮق ﻋﺪة دﻗﺎﺋﻖ ﺣﺘﻰ ﺗﻜﺘﻤﻞ ‪ .‬ﻋﺎد ًة ‪ ،‬ﻳﻤﻜ ﻦ ﻟﻮﺣ ﺪة اﻟﺒﺮﻣﺠ ﺔ أن‬ ‫ﺗﻌﻴﺪ ﺑﺸﻜﻞ ﺁﻟﻲ ﻗﺮاءة " ‪ " Read Back‬ﺣﺎﻟﺔ آﻞ ﻣﻔﺘﺎح ﺑﻌﺪ اﻟﺒﺮﻣﺠﺔ ﻟﻠﺘﺤﻘ ﻖ ﻣ ﻦ أن اﻟﺸ ﺮﻳﺤﺔ ﻗ ﺪ‬ ‫ﺗﻤﺖ ﺑﺮﻣﺠﺘﻬﺎ ﺑﺸﻜﻞ ﺻﺤﻴﺢ ‪.‬‬ ‫إن أﺟﻬﺰة ‪ PLAs‬أو ‪ PALs‬اﻟﻤﺴ ﺘﺨﺪﻣﺔ آﺠ ﺰء ﻣ ﻦ دارة ﻣﻨﻄﻘﻴ ﺔ ﺗﺴ ﺘﻘﺮ ﻋ ﺎد ًة ﻣ ﻊ ﺷ ﺮاﺋﺢ أﺧ ﺮى‬ ‫ﻋﻠﻰ ﻟﻮﺣﺔ دارة ﻣﻄﺒﻮﻋﺔ ‪ Printed Circuit Board‬أو ﻣﺎ ﻳﻌﺮف اﺧﺘﺼﺎرًا ﺑﺎﺳﻢ ) ‪ . ( PCB‬إن‬ ‫ﻋﻤﻠﻴﺔ اﻟﺒﺮﻣﺠﺔ اﻟﻤﻮﺻﻮﻓﺔ أﻋﻼﻩ ﺗﻔﺘ ﺮض أن اﻟﺸ ﺮﻳﺤﺔ ﻳﻤﻜ ﻦ أن ﺗﻨ ﺰع ﻣ ﻦ ﻟﻮﺣ ﺔ اﻟ ﺪارة ﻟﺒﺮﻣﺠﺘﻬ ﺎ‬ ‫ﻓﻲ وﺣ ﺪة اﻟﺒﺮﻣﺠ ﺔ ‪ .‬ﻋﻤﻠﻴ ﺔ اﻟﻨ ﺰع ه ﺬﻩ ﻳﻤﻜ ﻦ أن ﺗﻜ ﻮن ﻣﻤﻜﻨ ﺔ ﺑﺎﺳ ﺘﺨﺪام ﻣﻘ ﺒﺲ ‪ Socket‬ﻋﻠ ﻰ اﻟ ـ‬ ‫‪ PCB‬آﻤﺎ هﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ) ‪. ( ٩‬‬ ‫‪٧‬‬


‫اﻟﺸﻜﻞ ) ‪ : ( ٩‬رزﻣﺔ ﻣﻦ اﻟﻨﻮع ‪ PLCC‬ﻣﻊ ﻣﻘﺒﺲ ﻋﻠﻰ اﻟـ ‪PCB‬‬ ‫ﻋﻠﻰ اﻟﺮﻏﻢ ﻣﻦ أن أﺟﻬ ﺰة اﻟ ـ ‪ PLAs‬واﻟ ـ ‪ PALs‬ﻣﺘ ﻮاﻓﺮة ﻓ ﻲ رزم ﻣ ﻦ اﻟﻨ ﻮع ‪ ) DIP‬اﺧﺘﺼ ﺎرًا‬ ‫ﻟﻼﺳ ﻢ ‪ ( Dual-in-Line Package‬واﻟﻤﻮﺿ ﺤﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) ‪ ( ١٠‬إﻻ أﻧﻬ ﺎ ﻣﺘ ﻮاﻓﺮة أﻳﻀ ًﺎ ﻓ ﻲ‬ ‫ﻧ ﻮع ﺷ ﺎﺋﻊ ﺁﺧ ﺮ ﻣ ﻦ اﻟ ﺮزم ﻳ ﺪﻋﻰ ‪ ) PLCC‬اﺧﺘﺼ ﺎرًا ﻟﻼﺳ ﻢ ‪Plastic-Leaded Chip‬‬ ‫‪ ( Carrier‬واﻟﻤﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ اﻟﺴﺎﺑﻖ ) ‪. ( ٩‬‬

‫اﻟﺸﻜﻞ ) ‪ : ( ١٠‬رزﻣﺔ ﺷﺮﻳﺤﺔ ﻣﻦ اﻟﻨﻮع ‪DIP‬‬ ‫ﻻ‬ ‫ﻋﻠﻰ آﺎﻓﺔ ﺟﻮاﻧﺒﻬﺎ اﻷرﺑﻌﺔ ﺗﻤﺘﻠ ﻚ اﻟﺮزﻣ ﺔ ﻣ ﻦ اﻟﻨ ﻮع ‪ PLCC‬أﻗﻄﺎﺑ ًﺎ ﺗﻐﻄ ﻲ ﺣ ﻮاف اﻟﺸ ﺮﻳﺤﺔ ﺑ ﺪ ً‬ ‫ﻣﻦ أن ﺗﺒﺮز ﺑﺸﻜﻞ ﻣﺒﺎﺷﺮ ﻟﻸﺳﻔﻞ آﻤﺎ ﻓﻲ ﺣﺎﻟﺔ رزﻣﺔ ﻣﻦ اﻟﻨﻮع ‪ . DIP‬إن اﻟﻤﻘﺒﺲ اﻟﺬي ﻳﺴﺘﻀ ﻴﻒ‬

‫‪٨‬‬


‫اﻟﺮزﻣ ﺔ ﻣ ﻦ اﻟﻨ ﻮع ‪ PLCC‬ﻳ ﺘﻢ ﺗﺜﺒﻴﺘ ﻪ ﻋﻠ ﻰ ﻟﻮﺣ ﺔ اﻟ ﺪارة اﻟﻤﻄﺒﻮﻋ ﺔ ﺑﻮاﺳ ﻄﺔ اﻟﻠﺤ ﺎم ‪By Solder‬‬ ‫ﺑﻴﻨﻤﺎ ﻳﺘﻢ ﺗﺜﺒﻴﺖ اﻟﺮزﻣﺔ ﻣﻦ اﻟﻨﻮع ‪ PLCC‬ﻓﻲ اﻟﻤﻘﺒﺲ ﺑﻮاﺳﻄﺔ ﻗﻮى اﻻﺣﺘﻜﺎك ‪. By Friction‬‬ ‫ﻻ ﻣﻦ اﻻﻋﺘﻤﺎد ﻋﻠﻰ وﺣﺪة ﺑﺮﻣﺠﺔ ﻟﺘﻬﻴﺌﺔ اﻟﺸﺮﻳﺤﺔ ) ﺑﺮﻣﺠﺘﻬﺎ ( ﻓﺈﻧﻪ ﻣﻦ اﻟﻤﻼﺋﻢ أن ﻧﻜ ﻮن ﻗ ﺎدرﻳﻦ‬ ‫ﺑﺪ ً‬ ‫ﻋﻠﻰ إﻧﺠﺎز ﻋﻤﻠﻴﺔ اﻟﺒﺮﻣﺠﺔ واﻟﺸﺮﻳﺤﺔ ﻣ ﺎ ﺗ ﺰال ﻣﺜﺒﺘ ﺔ ﻋﻠ ﻰ ﻟﻮﺣ ﺔ اﻟ ﺪارة اﻟﻤﻄﺒﻮﻋ ﺔ ‪ .‬ه ﺬﻩ اﻟﻄﺮﻳﻘ ﺔ‬ ‫ﻣ ﻦ اﻟﺒﺮﻣﺠ ﺔ ﺗ ﺪﻋﻰ اﻟﺒﺮﻣﺠ ﺔ ﻓ ﻲ اﻟﻨﻈ ﺎم ‪ In-System Programming‬أو اﺧﺘﺼ ﺎرًا ) ‪. ( ISP‬‬ ‫ﺻﺤﻴﺢ أﻧﻬﺎ ﻟﻴﺴﺖ ﻣﺘﺎﺣﺔ ﻋﺎدة ﻣﻦ أﺟﻞ أﺟﻬﺰة ‪ PLAs‬أو ‪ PALs‬وﻟﻜﻨﻬﺎ ﻣﺘﺎﺣﺔ ﻣ ﻦ أﺟ ﻞ اﻟﺸ ﺮاﺋﺢ‬ ‫اﻷآﺜﺮ ﺗﻌﻘﻴﺪًا واﻟﺘﻲ ﺳﻮف ﻳﺘﻢ ﺷﺮﺣﻬﺎ ﻓﻴﻤﺎ ﻳﻠﻲ ‪.‬‬ ‫‪ -٤-١‬أﺟﻬﺰة اﻟﻤﻨﻄﻖ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ اﻟﻤﻌﻘﺪة ‪Complex Programmable Logic :‬‬ ‫) ‪Devices ( CPLDs‬‬ ‫إن أﺟﻬﺰة ‪ PLAs‬و ‪ PALs‬ﻣﻔﻴﺪة ﻣﻦ أﺟ ﻞ ﺗﻨﻔﻴ ﺬ ﺗﺸ ﻜﻴﻠﺔ واﺳ ﻌﺔ ﻣ ﻦ اﻟ ﺪارات اﻟﺮﻗﻤﻴ ﺔ اﻟﺼ ﻐﻴﺮة ‪.‬‬ ‫آﻞ ﺟﻬ ﺎز ﻳﻤﻜ ﻦ أن ﻳﺴ ﺘﺨﺪم ﻟﺘﻨﻔﻴ ﺬ أﻳ ﺔ دارة ﻻ ﺗﺘﻄﻠ ﺐ أآﺜ ﺮ ﻣ ﻦ ﻋ ﺪد اﻟﻤ ﺪاﺧﻞ و اﻟﺘﻌ ﺎﺑﻴﺮ اﻟﺠﺪاﺋﻴ ﺔ‬ ‫واﻟﻤﺨﺎرج اﻟﻤﺘﺎﺣﺔ ﻓﻲ اﻟﺸﺮﻳﺤﺔ اﻟﻤﺨﺘ ﺎرة ‪ .‬ه ﺬﻩ اﻟﺸ ﺮاﺋﺢ ﻣﺤ ﺪودة ﺑﺄﺣﺠ ﺎم ﻣﺘﻮاﺿ ﻌﺔ ﺗﻤﺎﻣ ًﺎ إذ أﻧﻬ ﺎ‬ ‫ﺗﺪﻋﻢ ﻋﺎد ًة ﻋﺪدًا إﺟﻤﺎﻟﻴًﺎ ﻣﻦ اﻟﻤﺪاﺧﻞ واﻟﻤﺨﺎرج ﻻ ﻳﺘﺠﺎوز اﻟﻌﺪد ‪ . 32‬ﻣﻦ أﺟ ﻞ ﺗﻨﻔﻴ ﺬ اﻟ ﺪارات اﻟﺘ ﻲ‬ ‫ﺗﺘﻄﻠﺐ ﻣﺪاﺧﻞ وﻣﺨﺎرج أآﺜﺮ ﻳﻤﻜﻦ إﻣﺎ اﺳﺘﺨﺪام ﻋﺪة أﺟﻬﺰة ‪ PLAs‬أو ‪ PALs‬وإﻣ ﺎ اﺳ ﺘﺨﺪام ﻧ ﻮع‬ ‫أآﺜ ﺮ ﺗﻌﻘﻴ ﺪًا ﻣ ﻦ اﻟﺸ ﺮاﺋﺢ ﻳ ﺪﻋﻰ أﺟﻬ ﺰة اﻟﻤﻨﻄ ﻖ اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ اﻟﻤﻌﻘ ﺪة ‪Complex‬‬ ‫) ‪. Programmable Logic Devices ( CPLDs‬‬ ‫إن ﺟﻬ ﺎز ‪ CPLD‬ﻳﺘﻀ ﻤﻦ ﻋ ﺪة آﺘ ﻞ ﻣ ﻦ اﻟ ﺪارات ‪ Multiple Circuit Blocks‬ﻓ ﻲ ﺷ ﺮﻳﺤﺔ‬ ‫واﺣﺪة ﻣﻊ ﻣﻮارد وﺻﻞ ﺳﻠﻜﻲ داﺧﻠﻴﺔ ‪ Internal Wiring Resources‬ﻟﻮﺻﻞ آﺘﻞ اﻟﺪارات ه ﺬﻩ‬ ‫ﻣﻊ ﺑﻌﻀﻬﺎ اﻟ ﺒﻌﺾ ﺑﺎﻟﺸ ﻜﻞ اﻟﻤﻨﺎﺳ ﺐ ‪ .‬آ ﻞ آﺘﻠ ﺔ ﻣ ﻦ اﻟ ﺪارات ﻣﺸ ﺎﺑﻬﺔ ﻟ ـ ‪ PLA‬أو ‪ : PAL‬ﺳ ﻮف‬ ‫ﻧﺘﻔﻖ ﻋﻠ ﻰ ﺗﺴ ﻤﻴﺔ آﺘ ﻞ اﻟ ﺪارات ه ﺬﻩ ﺑﺎﺳ ﻢ اﻟﻜﺘ ﻞ ﻣﺜﻴﻠ ﺔ اﻟ ـ ‪ PAL‬أي ) ‪. ( PAL-Like Blocks‬‬ ‫ﻻ ﻋﻦ ﺟﻬﺎز ‪. CPLD‬‬ ‫ﻳﻮﺿﺢ اﻟﺸﻜﻞ ) ‪ ( ١١‬ﻣﺜﺎ ً‬

‫اﻟﺸﻜﻞ ) ‪ : ( ١١‬ﺑﻨﻴﺔ ﺟﻬﺎز ﻣﻨﻄﻖ ﻗﺎﺑﻞ ﻟﻠﺒﺮﻣﺠﺔ ﻣﻌﻘﺪ ‪CPLD‬‬ ‫ﻳﺘﻀﻤﻦ اﻟﺠﻬﺎز اﻟﻤﺒ ﻴﻦ ﻓ ﻲ اﻟﺸ ﻜﻞ ) ‪ ( ١١‬أرﺑ ﻊ آﺘ ﻞ ﻣﺜﻴﻠ ﺔ اﻟ ـ ‪ PAL‬ﻣﻮﺻ ﻮﻟﺔ إﻟ ﻰ ﻣﺠﻤﻮﻋ ﺔ ﻣ ﻦ‬ ‫أﺳ ﻼك اﻟ ﺮﺑﻂ اﻟﺒﻴﻨ ﻲ ‪ . Set of Interconnection Wires‬آ ﻞ آﺘﻠ ﺔ ﻣﻮﺻ ﻮﻟﺔ أﻳﻀ ًﺎ إﻟ ﻰ دارة‬ ‫ﻓﺮﻋﻴ ﺔ ‪ Subcircuit‬ﻣﺴ ﻤﺎة آﺘﻠ ﺔ دﺧ ﻞ ‪ /‬ﺧ ﺮج ‪ I/O Block‬واﻟﺘ ﻲ ﺗ��� ﻮن ﻣﺮﺑﻮﻃ ﺔ ﺑ ﺪورهﺎ إﻟ ﻰ‬ ‫‪٩‬‬


‫ﻻ ﻋ ﻦ ﺑﻨﻴ ﺔ اﻟﺘﻮﺻ ﻴﻞ اﻟﺴ ﻠﻜﻲ‬ ‫ﻋﺪد ﻣﻦ أﻗﻄﺎب اﻟ ﺪﺧﻞ واﻟﺨ ﺮج ﻟﻠﺸ ﺮﻳﺤﺔ ‪ .‬ﻳﺒ ﻴﻦ اﻟﺸ ﻜﻞ ) ‪ ( ١٢‬ﻣﺜ ﺎ ً‬ ‫‪ Wiring Structure‬واﻻرﺗﺒﺎﻃ ﺎت ‪ Connections‬ﻣ ﻊ آﺘﻠ ﺔ ﻣﺜﻴﻠ ﺔ اﻟ ـ ‪( PAL-Like PAL‬‬ ‫) ‪ Block‬ﻓﻲ ﺟﻬﺎز ‪. CPLD‬‬

‫اﻟﺸﻜﻞ ) ‪ : ( ١٢‬ﻣﻘﻄﻊ ﻣﻦ ﺟﻬﺎز اﻟـ ‪ CPLD‬اﻟﻤﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ) ‪( ١١‬‬ ‫إن اﻟﻜﺘﻠ ﺔ ﻣﺜﻴﻠ ﺔ اﻟ ـ ‪ PAL‬ﻓ ﻲ اﻟﺸ ﻜﻞ ) ‪ ( ١٢‬ﺗﺤﺘ ﻮي ﺛ ﻼث ﺧﻼﻳ ﺎ ﻣﺎآﺮوﻳ ﺔ ‪ ) Macrocells‬ﻓ ﻲ‬ ‫اﻟﻮاﻗ ﻊ أﺟﻬ ﺰة اﻟ ـ ‪ CPLDs‬اﻟﺤﻘﻴﻘﻴ ﺔ ﺗﻤﺘﻠ ﻚ ﻋ ﺎد ًة ﺣ ﻮاﻟﻰ ‪ ١٦‬ﺧﻠﻴ ﺔ ﻣﺎآﺮوﻳ ﺔ ﻓ ﻲ اﻟﻜﺘﻠ ﺔ ﻣﺜﻴﻠ ﺔ اﻟ ـ‬ ‫‪ PAL‬اﻟﻮاﺣ ﺪة ( وآ ﻞ ﺧﻠﻴ ﺔ ﻣﺎآﺮوﻳ ﺔ ﺗﺘﻜ ﻮن ﻣ ﻦ ﺑﻮاﺑ ﺔ ‪ OR‬ذات أرﺑﻌ ﺔ ﻣ ﺪاﺧﻞ ) أﻳﻀ ًﺎ هﻨ ﺎ ﻓ ﺈن‬ ‫أﺟﻬﺰة اﻟـ ‪ CPLDs‬اﻟﺤﻘﻴﻘﻴﺔ ﺗﺰود ﻋﺎد ًة ﻣﺎ ﺑﻴﻦ ‪ ٥‬إﻟﻰ ‪ ٢٠‬ﻣﺪﺧﻞ ﻟﻜ ﻞ ﺑﻮاﺑ ﺔ ‪ . ( OR‬ﻣﺨ ﺮج ﺑﻮاﺑ ﺔ‬ ‫‪ OR‬ﻣﻮﺻ ﻮل إﻟ ﻰ ﻧ ﻮع ﺁﺧ ﺮ ﻣ ﻦ اﻟﺒﻮاﺑ ﺎت اﻟﻤﻨﻄﻘﻴ ﺔ ﻳ ﺪﻋﻰ ﺑﻮاﺑ ﺔ ‪ OR‬اﻟﻤﻘﺼ ﻮرة ‪Exclusive-‬‬ ‫‪ OR Gate‬أو اﺧﺘﺼ ﺎرًا ‪ . XOR Gate‬إن ﺳ ﻠﻮك ﺑﻮاﺑ ﺔ ‪ XOR‬ﻣﺸ ﺎﺑﻪ ﻟﺴ ﻠﻮك ﺑﻮاﺑ ﺔ ‪OR‬‬ ‫اﻻﻋﺘﻴﺎدﻳﺔ ﻣﺎ ﻋﺪا أﻧﻪ إذا آﺎن آﻞ ﻣ ﻦ اﻟﻤ ﺪﺧﻠﻴﻦ ﺑﺤﺎﻟ ﺔ "‪ "1‬ﻓ ﺈن ﺑﻮاﺑ ﺔ ‪ XOR‬ﺗﻌﻄ ﻲ ﻋﻠ ﻰ ﺧﺮﺟﻬ ﺎ‬ ‫اﻟﻘﻴﻤﺔ "‪ . "0‬إن أﺣﺪ ﻣﺪﺧﻠﻲ ﺑﻮاﺑﺔ ‪ XOR‬ﻓﻲ اﻟﺸ ﻜﻞ ) ‪ ( ١٢‬ﻳﻤﻜ ﻦ أن ﻳﻮﺻ ﻞ ﺑﺸ ﻜﻞ ﺑﺮﻣﺠ ﻲ إﻟ ﻰ‬ ‫اﻟﻘﻴﻤﺔ "‪ "1‬أو اﻟﻘﻴﻤﺔ "‪ : "0‬ﻓﻲ ﺣﺎﻟﺔ اﻟﻘﻴﻤﺔ "‪ "1‬ﻓﺈن اﻟﺒﻮاﺑﺔ ‪ XOR‬ﺳﺘﺘﻤﻢ ﻣﺨ ﺮج اﻟﺒﻮاﺑ ﺔ ‪ OR‬أﻣ ﺎ‬ ‫ﻓﻲ ﺣﺎﻟﺔ اﻟﻘﻴﻤﺔ "‪ "0‬ﻓﺈن ﺑﻮاﺑﺔ ‪ XOR‬ﻟﻴﺲ ﻟﻬﺎ ﺗﺄﺛﻴﺮ ﻳ ﺬآﺮ ‪ .‬ﺗﺘﻀ ﻤﻦ اﻟﺨﻠﻴ ﺔ اﻟﻤﺎآﺮوﻳ ﺔ أﻳﻀ ًﺎ ﻗﻼﺑ ًﺎ‬ ‫ﻻ ﺛﻼﺛﻲ اﻟﺤﺎﻟﺔ ‪ . Tri-State Buffer‬آﻤ ﺎ أﺷ ﺮﻧﺎ أﺛﻨ ﺎء‬ ‫‪ Flip-Flop‬وﻧﺎﺧﺒًﺎ ‪ Multiplexer‬وﻋﺎز ً‬ ‫ﻣﻨﺎﻗﺸﺔ اﻟﺸﻜﻞ ) ‪ ( ٦‬ﻓﺈن اﻟﻘ ﻼب ﻣﺴ ﺘﺨﺪم ﻟﺘﺨ ﺰﻳﻦ ﻗﻴﻤ ﺔ اﻟﺨ ﺮج اﻟﻤﻨﺘﺠ ﺔ ﺑﻮاﺳ ﻄﺔ ﺑﻮاﺑ ﺔ ‪ . OR‬آ ﻞ‬ ‫ﻋﺎزل ﺛﻼﺛﻲ اﻟﺤﺎﻟﺔ ‪ Tri-State Buffer‬ﻣﻮﺻﻮل إﻟﻰ أﺣﺪ أﻗﻄﺎب رزﻣﺔ اﻟ ـ ‪ . CPLD‬إن اﻟﻌ ﺎزل‬ ‫ﺛﻼﺛﻲ اﻟﺤﺎﻟﺔ هﻨﺎ ﻳﺘﺼﺮف آﻤﻔﺘﺎح واﻟﺬي ﻳﺘﻴﺢ ﻟﻜﻞ ﻗﻄ ﺐ ‪ Pin‬أن ﻳﺴ ﺘﺨﺪم ﺳ ﻮا ًء آﺨ ﺮج ﻟﺠﻬ ﺎز اﻟ ـ‬ ‫‪١٠‬‬


‫‪ CPLD‬أو آﺪﺧﻞ ﻟﺠﻬﺎز اﻟـ ‪ . CPLD‬ﻻﺳﺘﺨﺪام ﻗﻄﺐ ﻣﺎ آﺨﺮج ﻟﻠـ ‪ CPLD‬ﻳﺘﻢ ﺗﻤﻜﻴﻦ ) ﺗﻔﻌﻴ ﻞ (‬ ‫‪ Enabling‬اﻟﻌﺎزل ﺛﻼﺛﻲ اﻟﺤﺎﻟﺔ اﻟﻤﻮاﻓﻖ واﻟﺬي ﻳﺴﻠﻚ ﻋﻨ ﺪهﺎ ﺳ ﻠﻮك ﻣﻔﺘ ﺎح ﻣﻐﻠ ﻖ ) ﻣﻤ ﺮر أي ﻓ ﻲ‬ ‫وﺿﻌﻴﺔ ‪ . ( On‬أﻣﺎ إذا آﺎن اﻟﻤﻄﻠﻮب أن ﻳﻌﻤﻞ اﻟﻘﻄﺐ آﺪﺧﻞ ﻟﻠـ ‪ CPLD‬ﻓﺈن اﻟﻌﺎزل ﺛﻼﺛ ﻲ اﻟﺤﺎﻟ ﺔ‬ ‫اﻟﻤﻮاﻓﻖ ﻳﺠﺐ أن ﻳﻜﻮن ﻣﻌﻄ ً‬ ‫ﻼ ‪ Disabled‬وﺳﻴﺴﻠﻚ ﻋﻨﺪهﺎ هﺬا اﻟﻌﺎزل ﺳﻠﻮك ﻣﻔﺘﺎح ﻣﻔﺘ ﻮح ) ﻏﻴ ﺮ‬ ‫ﻣﻤ ﺮر أي ﻓ ﻲ وﺿ ﻌﻴﺔ ‪ Off‬أو ﺣﺎﻟ ﺔ اﻟﻤﻤﺎﻧﻌ ﺔ اﻟﻌﺎﻟﻴ ﺔ ‪ . ( High-Impedance State‬ﻓ ﻲ ه ﺬﻩ‬ ‫اﻟﺤﺎﻟ ﺔ اﻷﺧﻴ ﺮة ﻓ ﺈن ﻣﺼ ﺪرًا ﺧﺎرﺟﻴ ًﺎ ‪ External Source‬ﻳﻤﻜﻨ ﻪ أن ﻳﻘ ﻮد أو ﻳ ﺰود إﺷ ﺎرة إﻟ ﻰ‬ ‫ﻻ إﻟ ﻰ‬ ‫اﻟﻘﻄ ﺐ ) اﻟ ﺬي أﺻ ﺒﺢ ﻳﻌﻤ ﻞ اﻵن آ ﺪﺧﻞ ﻟﻠ ـ ‪ Pin ( CPLD‬واﻟ ﺬي ﻳﻤﻜ ﻦ أن ﻳﻜ ﻮن ﻣﻮﺻ ﻮ ً‬ ‫ﺧﻼﻳﺎ ﻣﺎآﺮوﻳﺔ أﺧﺮى ﻣﻦ ﺧﻼل أﺳﻼك اﻟﺮﺑﻂ اﻟﺒﻴﻨﻲ ‪. Interconnection Wiring‬‬ ‫إن أﺳ ﻼك اﻟ ﺮﺑﻂ اﻟﺒﻴﻨ ﻲ ﺗﺤﺘ ﻮي ﻣﻔ ﺎﺗﻴﺢ ﻗﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ ‪ Programmable Switches‬واﻟﺘ ﻲ‬ ‫ﺗﺴ ﺘﺨﺪم ﻟ ﺮﺑﻂ اﻟﻜﺘ ﻞ ﻣﺜﻴﻠ ﺔ اﻟ ـ ‪ . PAL‬آ ﻞ ﺳ ﻠﻚ ﻣ ﻦ اﻷﺳ ﻼك اﻷﻓﻘﻴ ﺔ ﻳﻤﻜ ﻦ أن ﻳﻮﺻ ﻞ ﻣ ﻊ ﺑﻌ ﺾ‬ ‫اﻷﺳ ﻼك اﻟﺸ ﺎﻗﻮﻟﻴﺔ اﻟﺘ ﻲ ﻳﺘﻘ ﺎﻃﻊ ﻣﻌﻬ ﺎ وﻟﻜ ﻦ ﻟ ﻴﺲ ﻣ ﻊ آﻠﻬ ﺎ ‪ .‬أﺟﺮﻳ ﺖ أﺑﺤ ﺎث واﺳ ﻌﺔ ﻟﺘﺤﺪﻳ ﺪ ﻋ ﺪد‬ ‫اﻟﻤﻔﺎﺗﻴﺢ ‪ Switches‬اﻟﺘﻲ ﻳﻨﺒﻐﻲ ﺗﺰوﻳﺪهﺎ ﻣﻦ أﺟ ﻞ اﻟﻮﺻ ﻼت ﺑ ﻴﻦ اﻷﺳ ﻼك ‪ .‬إن ﻋ ﺪد اﻟﻤﻔ ﺎﺗﻴﺢ ﻳ ﺘﻢ‬ ‫اﺧﺘﻴ ﺎرﻩ ﻟﺘ ﺄﻣﻴﻦ ﻣﺮوﻧ ﺔ آﺎﻓﻴ ﺔ ﻣ ﻦ أﺟ ﻞ اﻟ ﺪارات اﻟﻨﻤﻮذﺟﻴ ﺔ دون ه ﺪر ﻋ ﺪة ﻣﻔ ﺎﺗﻴﺢ ﻓ ﻲ اﻟﺘﻄﺒﻴﻘ ﺎت‬ ‫ﻋﻤﻠﻴًﺎ ‪ .‬ﻣﻼﺣﻈﺔ ﺟﺪﻳﺮة ﺑﺎﻟﺬآﺮ هﻨﺎ ﻣﻔﺎدهﺎ أﻧﻪ ﻋﻨﺪﻣﺎ ﻳﺴﺘﺨﺪم ﻗﻄﺐ ﻣﺎ آ ﺪﺧﻞ ﻓ ﺈن اﻟﺨﻠﻴ ﺔ اﻟﻤﺎآﺮوﻳ ﺔ‬ ‫اﻟﻤﻮاﻓﻘﺔ ﻟﻬﺬا اﻟﻘﻄﺐ ﻻ ﻳﻤﻜﻦ أن ﺗﺴﺘﺨﺪم وهﻲ ﺑﺎﻟﺘﺎﻟﻲ ﺗﻜﻮن ﻣﻬﺪورة هﻨﺎ ‪ .‬ﺑﻌ ﺾ أﺟﻬ ﺰة ‪CPLDs‬‬ ‫ﺗﺘﻀ ﻤﻦ ﺗﻮﺻ ﻴﻼت إﺿ ﺎﻓﻴﺔ ﺑ ﻴﻦ اﻟﺨﻼﻳ ﺎ اﻟﻤﺎآﺮوﻳ ﺔ وأﺳ ﻼك اﻟ ﺮﺑﻂ اﻟﺒﻴﻨ ﻲ ﺑﺤﻴ ﺚ ﻳ ﺘﻢ ﺗﺠﻨ ﺐ ه ﺪر‬ ‫اﻟﺨﻼﻳﺎ اﻟﻤﺎآﺮوﻳﺔ ﻓﻲ أوﺿﺎع آﻬﺬﻩ ‪.‬‬ ‫إن أﺟﻬﺰة اﻟـ ‪ CPLDs‬اﻟﺘﺠﺎرﻳﺔ ﺗﺘﺮاوح ﻓﻲ اﻟﺤﺠﻢ ﻣﻦ آﺘﻠﺘﻴﻦ ﻣﺜﻴﻠﺘﻲ اﻟـ ‪ PAL‬ﻓﻘ ﻂ إﻟ ﻰ أآﺜ ﺮ ﻣ ﻦ‬ ‫ﻣﺌﺔ آﺘﻠﺔ ‪ .‬آﻤﺎ أﻧﻬ ﺎ ﻣﺘﺎﺣ ﺔ ﻓ ﻲ ﺗﺸ ﻜﻴﻠﺔ واﺳ ﻌﺔ ﻣ ﻦ اﻟ ﺮزم ‪ Packages‬ﺑﻤ ﺎ ﻓﻴﻬ ﺎ اﻟﺮزﻣ ﺔ ﻣ ﻦ اﻟﻨ ﻮع‬ ‫‪ PLCC‬اﻟﻤﻮﺿﺤﺔ ﻓﻲ اﻟﺸﻜﻞ ) ‪ . ( ٩‬اﻟﺸﻜﻞ ) ‪ – ١٣‬ﺁ ( ﻳﺒﻴﻦ ﻧﻮﻋًﺎ ﺁﺧﺮ ﻣﻦ اﻟﺮزم واﻟ ﺬي ﻳﺤﺘ ﻮي‬ ‫ﺷ ﺮاﺋﺢ ‪ . CPLD‬ه ﺬا اﻟﻨ ﻮع ﻣ ﻦ اﻟ ﺮزم ﻳﺴ ﻤﻰ اﻟﺮزﻣ ﺔ اﻟﻤﺴ ﻄﺤﺔ رﺑﺎﻋﻴ ﺔ اﻟﺰواﻳ ﺎ ‪Quad Flat‬‬ ‫‪ Pack‬أو ﻣ ﺎ ﻳﻌ ﺮف اﺧﺘﺼ ﺎرًا ﺑ ﺎﻟﺮﻣﺰ ‪ . QFP‬ﻣﺜ ﻞ اﻟﺮزﻣ ﺔ ﻣ ﻦ اﻟﻨ ﻮع ‪ PLCC‬ﻓ ﺈن اﻟﺮزﻣ ﺔ ﻣ ﻦ‬ ‫اﻟﻨﻮع ‪ QFP‬ﺗﻤﺘﻠﻚ أﻗﻄﺎﺑًﺎ ﻋﻠﻰ آﺎﻓﺔ ﺟﻮاﻧﺒﻬﺎ اﻷرﺑﻌﺔ وﻟﻜﻦ ﻓ ﻲ ﺣ ﻴﻦ أن أﻗﻄ ﺎب اﻟﺮزﻣ ﺔ ﻣ ﻦ اﻟﻨ ﻮع‬ ‫‪ PLCC‬ﺗﻠﺘﻒ ﺣﻮل ﺣﻮاف اﻟﺮزﻣﺔ ﻓﺈن أﻗﻄﺎب اﻟﺮزﻣﺔ ﻣﻦ اﻟﻨﻮع ‪ QFP‬ﺗﻤﺘﺪ ﻧﺤﻮ اﻟﺨ ﺎرج اﻧﻄﻼﻗ ًﺎ‬ ‫ﻣ ﻦ اﻟﺮزﻣ ﺔ ﻣ ﻊ ﺷ ﻜﻞ ﻣ ﻨﺤﻦ ﻧﺤ ﻮ اﻷﺳ ﻔﻞ ‪ .‬أﻗﻄ ﺎب اﻟﺮزﻣ ﺔ ﻣ ﻦ اﻟﻨ ﻮع ‪ QFP‬ه ﻲ أﻗ ﻞ ﺛﺨﻨ ًﺎ ﻣ ﻦ‬ ‫ﻧﻈﻴﺮاﺗﻬﺎ ﻓﻲ اﻟﺮزﻣﺔ ﻣ ﻦ اﻟﻨ ﻮع ‪ PLCC‬اﻷﻣ ﺮ اﻟ ﺬي ﻳﻌﻨ ﻲ أن اﻟﺮزﻣ ﺔ ﻣ ﻦ اﻟﻨ ﻮع ‪ QFP‬ﻳﻤﻜ ﻦ أن‬ ‫ﺗﻤﺘﻠﻚ ﻋﺪدًا أآﺒﺮ ﻣﻦ اﻷﻗﻄﺎب ‪ :‬ﻓﻲ اﻟﻮاﻗﻊ ‪ ،‬اﻟﺮزم ﻣﻦ اﻟﻨﻮع ‪ QFP‬ﻣﺘﻮاﻓﺮة ﻣﻊ ﻋ ﺪد ﻣ ﻦ اﻷﻗﻄ ﺎب‬ ‫ﻳﻔﻮق اﻟـ ‪ 200‬ﻗﻄﺒًﺎ ﻓﻲ ﺣﻴﻦ أن اﻟﺮزم ﻣﻦ اﻟﻨﻮع ‪ PLCC‬ﻣﺤﺪودة ﺑﺄﻗﻞ ﻣﻦ ‪ 100‬ﻗﻄﺐ ‪.‬‬ ‫إن أﻏﻠﺐ أﺟﻬﺰة اﻟـ ‪ CPLDs‬ﺗﺤﺘﻮي ﻧﻔﺲ اﻟﻨﻮع ﻣﻦ اﻟﻤﻔﺎﺗﻴﺢ اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ ‪Programmable‬‬ ‫‪ Switches‬اﻟﻤﺴﺘﺨﺪﻣﺔ ﻓﻲ أﺟﻬﺰة اﻟﻤﻨﻄﻖ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ اﻟﺒﺴ ﻴﻄﺔ ‪Simple Programmable‬‬ ‫‪ Logic Devices‬أو ﻣ ﺎ ﻳﻌ ﺮف اﺧﺘﺼ ﺎرًا ﺑﺎﺳ ﻢ ‪ . SPLDs‬ﺑﺮﻣﺠ ﺔ ه ﺬﻩ اﻟﻤﻔ ﺎﺗﻴﺢ ﻳﻤﻜ ﻦ أن ﻳ ﺘﻢ‬ ‫ﺑﺎﺳﺘﺨﺪام ﻧﻔ ﺲ اﻟﺘﻘﻨﻴ ﺔ اﻟﻤﻮﺻ ﻮﻓﺔ ﻓ ﻲ اﻟﻔﻘ ﺮة ) ‪ ( ٣-١‬واﻟﺘ ﻲ ﻓﻴﻬ ﺎ ﻳ ﺘﻢ ﺗﻮﺿ ﻴﻊ اﻟﺸ ﺮﻳﺤﺔ ﻓ ﻲ وﺣ ﺪة‬ ‫ﺑﺮﻣﺠﺔ ﺧﺎﺻﺔ ﻟﻬﺬا اﻟﻐﺮض ‪ . Special-Purpose Programming Unit‬ﻣﻊ ذﻟ ﻚ ﻓ ﺈن ﻃﺮﻳﻘ ﺔ‬ ‫اﻟﺒﺮﻣﺠﺔ هﺬﻩ هﻲ ﺑﺎﻷﺣﺮى ﻏﻴﺮ ﻣﻼﺋﻤﺔ ﻣﻦ أﺟﻞ أﺟﻬﺰة اﻟـ ‪ CPLDs‬اﻟﻀﺨﻤﺔ ﻟﺴﺒﺒﻴﻦ اﺛﻨﻴﻦ ‪:‬‬ ‫ﻻ ‪ :‬أﺟﻬ ﺰة اﻟ ـ ‪ CPLDs‬اﻟﻀ ﺨﻤﺔ ﻳﻤﻜ ﻦ أن ﺗﻤﺘﻠ ﻚ أآﺜ ﺮ ﻣ ﻦ ‪ 200‬ﻗﻄﺒ ًﺎ ﻋﻠ ﻰ رزﻣ ﺔ اﻟﺸ ﺮﻳﺤﺔ‬ ‫أو ً‬ ‫وهﺬﻩ اﻷﻗﻄﺎب ﻏﺎﻟﺒًﺎ ﻣﺎ ﺗﻜﻮن ﻗﺼﻴﻤﺔ ) هﺸﺔ ( ‪ Fragile‬وﺗﻨﺜﻨﻲ ﺑﺴﻬﻮﻟﺔ ‪.‬‬ ‫ﺛﺎﻧﻴًﺎ ‪ :‬ﻟﻴﻤﻜﻦ ﺑﺮﻣﺠﺘﻬﺎ ﻓﻲ وﺣﺪة ﺑﺮﻣﺠﺔ ﻓﺈﻧﻬﺎ ﺗﺤﺘ ﺎج ﻣﻘﺒﺴ ًﺎ ﺧﺎﺻ ًﺎ ‪ Socket‬ﻟﺘﺜﺒﻴ ﺖ اﻟﺸ ﺮﻳﺤﺔ ﻋﻠ ﻰ‬ ‫اﻟﻠﻮﺣﺔ وهﻨﺎ اﻟﻤﺸﻜﻠﺔ اﻷﺧﺮى إذ أن اﻟﻤﻘﺎﺑﺲ ﻣﻦ أﺟﻞ اﻟ ﺮزم اﻟﻀ ﺨﻤﺔ ﻣ ﻦ اﻟﻨ ﻮع ‪ QFP‬ﻣﻜﻠﻔ ﺔ ﺟ ﺪًا‬ ‫ﺣﺘﻰ أﻧﻬﺎ أﺣﻴﺎﻧًﺎ ﺗﻜﻠﻒ أآﺜﺮ ﻣﻦ ﺟﻬﺎز اﻟـ ‪ CPLD‬ﻧﻔﺴﻪ !‬ ‫ﻟﻬﺬﻩ اﻷﺳﺒﺎب ﻓﺈن أﺟﻬﺰة اﻟـ ‪ CPLDs‬ﻋ ﺎدة ﺗ ﺪﻋﻢ ﺗﻘﻨﻴ ﺔ اﻟﺒﺮﻣﺠ ﺔ ﻓ ﻲ اﻟﻨﻈ ﺎم ‪. ISP Technique‬‬ ‫ﻳﻜﻮن هﻨﺎك ﻋﺎدة ﻣﺮﺑﻂ ﺻﻐﻴﺮ ‪ Small Connector‬ﻣﻀﻤﻦ ﻋﻠﻰ ﻟﻮﺣ ﺔ اﻟ ﺪارة اﻟﻤﻄﺒﻮﻋ ﺔ ‪PCB‬‬ ‫اﻟﺘﻲ ﺗﺤﺘﻮي ﺟﻬﺎز اﻟـ ‪ CPLD‬وﻳﺮﺑﻂ آﺒﻞ ‪ Cable‬ﺑﻴﻦ هﺬا اﻟﻤﺮﺑﻂ وﻧﻈﺎم اﻟﺤﺎﺳ ﻮب ‪ .‬ﻳ ﺘﻢ ﺑﺮﻣﺠ ﺔ‬ ‫ﺟﻬ ﺎز اﻟ ـ ‪ CPLD‬ﻣ ﻦ ﺧ ﻼل ﻧﻘ ﻞ ﻣﻌﻠﻮﻣ ﺎت اﻟﺒﺮﻣﺠ ﺔ اﻟﻤﻮﻟ ﺪة ﺑﻮاﺳ ﻄﺔ ﻧﻈ ﺎم اﻟﺘﺼ ﻤﻴﻢ ﺑﺎﺳ ﺘﺨﺪام‬ ‫‪١١‬‬


‫اﻟﺤﺎﺳﻮب ‪ CAD System‬ﻣﻦ ﺧﻼل اﻟﻜﺒ ﻞ وذﻟ ﻚ ﻣ ﻦ اﻟﺤﺎﺳ ﻮب إﻟ ﻰ ﺟﻬ ﺎز اﻟ ـ ‪ . CPLD‬اﻟ ﺪارة‬ ‫ﻓﻲ ﺟﻬﺎز اﻟـ ‪ CPLD‬اﻟﺘﻲ ﺗﺘﻴﺢ هﺬا اﻟﻨﻮع ﻣﻦ اﻟﺒﺮﻣﺠ ﺔ ﺗ ﻢ اﻋﺘﻤﺎده ﺎ آﻤﻌﻴ ﺎر ﻣﻮﺣ ﺪ ﻣ ﻦ ﻗﺒ ﻞ ﻣﻌﻬ ﺪ‬ ‫اﻟﻤﻬﻨﺪﺳﻴﻦ اﻟﻜﻬﺮﺑﺎﺋﻴﻴﻦ واﻻﻟﻜﺘﺮوﻧﻴﻴﻦ ﻓﻲ اﻟﻮﻻﻳﺎت اﻟﻤﺘﺤﺪة اﻷﻣﺮﻳﻜﻴﺔ أو ﻣﺎ ﻳﻌ ﺮف اﺧﺘﺼ ﺎرًا ﺑﺎﺳ ﻢ‬ ‫‪ IEEE‬وهﺬﻩ اﻟ ﺪارة ﺗﻌ ﺮف ﻋ ﺎدة ﺑﺎﺳ ﻢ ﻣﻨﻔ ﺬ ‪ . ( JTAG Port ) JTAG‬ﻳﺴ ﺘﺨﺪم ﻓ ﻲ ه ﺬا اﻟﻤﻨﻔ ﺬ‬ ‫أرﺑﻌ ﺔ أﺳ ﻼك ﻟﻨﻘ ﻞ اﻟﻤﻌﻠﻮﻣ ﺎت ﺑ ﻴﻦ اﻟﺤﺎﺳ ﻮب واﻟﺠﻬ ﺎز اﻟﻤ ﺮاد ﺑﺮﻣﺠﺘ ﻪ ‪ .‬اﻟﺘﻌﺒﻴ ﺮ ‪ JTAG‬ه ﻮ‬ ‫اﺧﺘﺼ ﺎر ﻟﻸﺣ ﺮف اﻷوﻟ ﻰ ﻣ ﻦ اﻟﻌﺒ ﺎرة ‪ . Joint Test Action Group‬اﻟﺸ ﻜﻞ ) ‪ – ١٣‬ب (‬ ‫ﻳﺼﻮر اﺳﺘﺨﺪام اﻟﻤﻨﻔﺬ ‪ JTAG‬ﻟﺒﺮﻣﺠﺔ ﺟﻬﺎزي ‪ CPLD‬ﻋﻠﻰ ﻟﻮﺣﺔ دارة ﻣﻄﺒﻮﻋﺔ ‪.‬‬

‫اﻟﺸﻜﻞ ) ‪ – ١٣‬ﺁ ( ‪ :‬ﺟﻬﺎز ‪ CPLD‬ﻓﻲ رزﻣﺔ ﻣﻦ اﻟﻨﻮع ‪QFP‬‬

‫اﻟﺸﻜﻞ ) ‪ – ١٣‬ب ( ‪ :‬اﻟﺒﺮﻣﺠﺔ ﻣﻦ ﺧﻼل اﻟﻤﻨﻔﺬ ‪JTAG‬‬ ‫ﻼ ﻣﻨﻬﻤ ﺎ ﻳﻤﻜ ﻦ‬ ‫آﻤﺎ هﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ﻓﺈن ﺟﻬﺎزي اﻟـ ‪ CPLD‬ﻣﻮﺻ ﻮﻻن ﻣﻌ ًﺎ وﺑﺎﻟﺘ ﺎﻟﻲ ﻓ ﺈن آ ً‬ ‫أن ﻳﺒﺮﻣﺞ ﺑﺎﺳﺘﺨﺪام ﻧﻔﺲ اﻟﻮﺻ ﻠﺔ ﻣ ﻊ ﻧﻈ ﺎم اﻟﺤﺎﺳ ﻮب ‪ .‬ﻣ ﺎ إن ﺗ ﺘﻢ ﺑﺮﻣﺠ ﺔ ﺟﻬ ﺎز اﻟ ـ ‪ CPLD‬ﻓﺈﻧ ﻪ‬ ‫ﻳﺤ ﺘﻔﻆ ﺑﺤﺎﻟ ﺔ اﻟﺒﺮﻣﺠ ﺔ ﺑﺸ ﻜﻞ داﺋ ﻢ ﺣﺘ ﻰ ﻋﻨ ﺪ ﻓﺼ ﻞ اﻟﻄﺎﻗ ﺔ اﻟﻜﻬﺮﺑﺎﺋﻴ ﺔ ﻋ ﻦ اﻟﺸ ﺮﻳﺤﺔ ‪ .‬ﺗ ﺪﻋﻰ ه ﺬﻩ‬ ‫اﻟﺨﺎﺻﻴﺔ ﺑﺎﻟﺒﺮﻣﺠﺔ ﻏﻴﺮ اﻟﻤﺘﻄﺎﻳﺮة ‪. Nonvolatile Programming‬‬ ‫ﺗﺴﺘﺨﺪم أﺟﻬﺰة اﻟـ ‪ CPLDs‬ﻟﺘﻨﻔﻴﺬ ﻋﺪة أﻧﻮاع ﻣﻦ اﻟ ﺪارات اﻟﺮﻗﻤﻴ ﺔ ‪ .‬ﻓ ﻲ اﻟﺘﺼ ﺎﻣﻴﻢ اﻟﺼ ﻨﺎﻋﻴﺔ اﻟﺘ ﻲ‬ ‫ﺗﺴﺘﺨﺪم ﻧﻮﻋًﺎ ﻣﺎ ﻣﻦ أﺟﻬﺰة اﻟﻤﻨﻄﻖ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ﻓﺈن أﺟﻬﺰة اﻟ ـ ‪ CPLDs‬ه ﻲ اﻟﻤﺴ ﺘﺨﺪﻣﺔ ﻏﺎﻟﺒ ًﺎ‬ ‫ﻓﻲ ﺣﻴﻦ أن أﺟﻬﺰة اﻟـ ‪ SPLDs‬ﺗﺼﺒﺢ أآﺜ ﺮ ﻓ ﺄآﺜﺮ أﻗ ﻞ ﺷ ﻴﻮﻋًﺎ ‪ .‬آﻤ ﺎ أن ﻋ ﺪدًا ﻣ ﻦ اﻟﺸ ﺮآﺎت ﺗﻘ ﺪم‬ ‫أﺟﻬﺰة ‪ CPLDs‬ﻣﻨﺎﻓﺴﺔ ﺑﺎﻟﻔﻌﻞ ‪ ) .‬اﻧﻈﺮ ﺻﻔﺤﺔ اﻟﻤﻠﺤﻖ ( ‪.‬‬ ‫‪١٢‬‬


‫‪ -٥-١‬ﻣﺼﻔﻮﻓﺎت اﻟﺒﻮاﺑﺎت اﻟﻤﺒﺮﻣﺠﺔ ﺣﻘﻠﻴ ًﺎ ‪Field-Programmable Gate Arrays :‬‬ ‫إن أﻧﻮاع اﻟﺸﺮاﺋﺢ ) اﻟﺮﻗﺎﻗﺎت ( ‪ Chips‬اﻟﻤﻮﺻ ﻮﻓﺔ ﺳ ﺎﺑﻘًﺎ آﺎﻟ ـ ‪ SPLDs‬واﻟ ـ ‪ CPLDs‬ﻣﻔﻴ ﺪة ﻣ ﻦ‬ ‫أﺟ ﻞ ﺗﻨﻔﻴ ﺬ ‪ Implementation‬ﻣﺠ ﺎل واﺳ ﻊ ﻣ ﻦ اﻟ ﺪارات اﻟﻤﻨﻄﻘﻴ ﺔ ‪ .‬إذا اﺳ ﺘﺜﻨﻴﻨﺎ أﺟﻬ ﺰة اﻟ ـ‬ ‫‪ CPLDs‬ﻓ ﺈن أﺟﻬ ﺰة اﻟ ـ ‪ SPLDs‬ه ﻲ ﺑ ﺎﻷﺣﺮى ﺻ ﻐﻴﺮة وﻣﻼﺋﻤ ﺔ ‪ Suitable‬ﻓﻘ ﻂ ﻣ ﻦ أﺟ ﻞ‬ ‫ﺗﻄﺒﻴﻘﺎت ﺑﺴﻴﻄﺔ ﻧﺴﺒﻴًﺎ ‪ .‬ﺣﺘ ﻰ ﻣ ﻦ أﺟ ﻞ أﺟﻬ ﺰة اﻟ ـ ‪ CPLDs‬ﻓ ﺈن اﻟ ﺪارات اﻟﻤﻨﻄﻘﻴ ﺔ اﻟﻜﺒﻴ ﺮة ﺑﺸ ﻜﻞ‬ ‫ﻣﻌﺘ ﺪل ‪ Moderately Large Logic Circuits‬ﻓﻘ ﻂ ﻳﻤﻜ ﻦ أن ﺗﺤﻘ ﻖ ﺿ ﻤﻦ ﺷ ﺮﻳﺤﺔ ﻣﻨﻔ ﺮدة‬ ‫‪ . Single Chip‬ﻷﺳ ﺒﺎب ﺗﺘﻌﻠ ﻖ ﺑﺎﻟﻜﻠﻔ ﺔ ‪ Cost‬واﻷداء ‪ Performance‬ﻓﺈﻧ ﻪ ﻣ ﻦ اﻟﺤﻜﻤ ﺔ ﺗﻨﻔﻴ ﺬ‬ ‫��ﻟﺪارة اﻟﻤﻨﻄﻘﻴﺔ اﻟﻤﻄﻠﻮﺑﺔ ﺑﺄﻗﻞ ﻋﺪد ﻣﻤﻜﻦ ﻣﻦ اﻟﺸ ﺮاﺋﺢ وﺑﺎﻟﺘ ﺎﻟﻲ ﻓ ﺈن آﻤﻴ ﺔ اﻟ ﺪارات ﻓ ﻲ ﺷ ﺮﻳﺤﺔ ﻣ ﺎ‬ ‫وﻗﺪراﺗﻬﺎ اﻟﻮﻇﻴﻔﻴﺔ ‪ Functional Capability‬ﻓﻲ ﻏﺎﻳﺔ اﻷهﻤﻴﺔ ‪.‬‬ ‫إن إﺣﺪى اﻟﻄﺮق ﻟﻘﻴﺎس ﺣﺠﻢ دارة ﻳﺘﻤﺜﻞ ﻓﻲ اﻓﺘﺮاض أن هﺬﻩ اﻟﺪارة ﺳ ﻴﺘﻢ ﺑﻨﺎؤه ﺎ ﺑﺎﺳ ﺘﺨﺪام ﺑﻮاﺑ ﺎت‬ ‫ﻣﻨﻄﻘﻴﺔ ﺑﺴﻴﻄﺔ ﻓﻘﻂ وﻣﻦ ﺛﻢ ﺗﻘﺪﻳﺮ آﻤﻴ ﺔ اﻟﺒﻮاﺑ ﺎت اﻟﻤﻨﻄﻘﻴ ﺔ اﻟﺒﺴ ﻴﻄﺔ اﻟﻤﻄﻠﻮﺑ ﺔ ه ﺬﻩ ‪ .‬أﺣ ﺪ اﻟﻤﻘ ﺎﻳﻴﺲ‬ ‫اﻟﻤﺴﺘﺨﺪﻣﺔ ﺑﺸﻜﻞ ﺷﺎﺋﻊ هﻮ اﻟﻌﺪد اﻟﻜﻠ ﻲ ﻟﺒﻮاﺑ ﺎت ‪ NAND‬ﺛﻨﺎﺋﻴ ﺔ اﻟﻤ ﺪاﺧﻞ واﻟﺘ ﻲ ﺗﻠ ﺰم ﻟﺒﻨ ﺎء اﻟ ﺪارة‬ ‫وهﺬا اﻟﻤﻘﻴﺎس ﻳﺪﻋﻰ ﻏﺎﻟﺒًﺎ " ﻋﺪد اﻟﺒﻮاﺑﺎت اﻟﻤﻜﺎﻓﺌﺔ " ‪. Equivalent Gates Number‬‬ ‫ﺑﺎﺳﺘﺨﺪام ﻣﻘﻴﺎس اﻟﺒﻮاﺑﺎت اﻟﻤﻜﺎﻓﺌﺔ ‪ Equivalent Gates‬ﻓﺈن ﺣﺠ ﻢ ﺷ ﺮﻳﺤﺔ ﻣ ﺎ ﻣ ﻦ اﻟﻌﺎﺋﻠ ﺔ ‪7400‬‬ ‫ﻳﻤﻜﻦ ﻗﻴﺎﺳﻪ ﺑﺴﻬﻮﻟﺔ ﻷن آﻞ ﺷﺮﻳﺤﺔ ﻣﻦ هﺬﻩ اﻟﻌﺎﺋﻠﺔ ﺗﺤﺘﻮي ﺑﻮاﺑ ﺎت ﺑﺴ ﻴﻄﺔ ﻓﻘ ﻂ ‪ .‬ﻣ ﻦ أﺟ ﻞ أﺟﻬ ﺰة‬ ‫اﻟ ـ ‪ SPLDs‬واﻟ ـ ‪ CPLDs‬ﻓ ﺈن اﻟﻤﻘﻴ ﺎس اﻟﻨﻤ ﻮذﺟﻲ اﻟﻤﺴ ﺘﺨﺪم ﻳﻌﺘﻤ ﺪ ﻋﻠ ﻰ اﻋﺘﺒ ﺎر أن آ ﻞ ﺧﻠﻴ ﺔ‬ ‫ﻣﺎآﺮوﻳﺔ ‪ Macrocell‬ﺗﻤﺜﻞ ﺣﻮاﻟﻰ ‪ 20‬ﺑﻮاﺑﺔ ﻣﻜﺎﻓﺌﺔ ‪ .‬إذًا ﻓﺈن ﺟﻬﺎز ‪ PAL‬ﻧﻤﻮذﺟﻲ واﻟ ﺬي ﻳﻤﺘﻠ ﻚ‬ ‫ﻼ ‪ 8‬ﺧﻼﻳﺎ ﻣﺎآﺮوﻳﺔ ﻳﻤﻜﻨﻪ ﺗﺤﻘﻴﻖ دارة ﻣﺎ ﺗﺘﻄﻠﺐ ﺣﺘﻰ ‪ 160‬ﺑﻮاﺑﺔ ﺗﻘﺮﻳﺒًﺎ آﻤ ﺎ أن ﺟﻬ ﺎز ‪CPLD‬‬ ‫ﻣﺜ ً‬ ‫ﻼ ﻳﻤﻜﻨ ﻪ ﺗﺤﻘﻴ ﻖ دارات ﺗﺘﻄﻠ ﺐ ﺣﺘ ﻰ ‪ 10.000‬ﺑﻮاﺑ ﺔ ﻣﻜﺎﻓﺌ ﺔ‬ ‫آﺒﻴ ﺮ ﻳﻤﺘﻠ ﻚ ‪ 500‬ﺧﻠﻴ ﺔ ﻣﺎآﺮوﻳ ﺔ ﻣ ﺜ ً‬ ‫ﺗﻘﺮﻳﺒًﺎ ‪ .‬وﻓﻘ ًﺎ ﻟﻠﻤﻌ ﺎﻳﻴﺮ اﻟﺤﺪﻳﺜ ﺔ ‪ ،‬ﻓ ﺈن دارة ﻣﻨﻄﻘﻴ ﺔ ذات ‪ 10.000‬ﺑﻮاﺑ ﺔ ﻻ ﺗﻌﺘﺒ ﺮ آﺒﻴ ﺮة ‪ .‬ﻣ ﻦ أﺟ ﻞ‬ ‫ﺗﻨﻔﻴﺬ دارات أآﺒﺮ ﻓﺈﻧ ﻪ ﻣ ﻦ اﻟﻤﻼﺋ ﻢ اﺳ ﺘﺨﺪام ﻧ ﻮع ﻣﺨﺘﻠ ﻒ ﻣ ﻦ اﻟﺸ ﺮاﺋﺢ اﻟﺘ ﻲ ﺗﻤﺘﻠ ﻚ ﺳ ﻌﺎت ﻣﻨﻄﻘﻴ ﺔ‬ ‫أآﺒ ﺮ ‪ . Larger Logic Capacity‬إن ﻣﺼ ﻔﻮﻓﺔ اﻟﺒﻮاﺑ ﺎت اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ ﺣﻘﻠﻴ ًﺎ ) ﻓ ﻲ اﻟﺤﻘ ﻞ (‬ ‫‪ Field-Programmable Gate Array‬أو ﻣﺎ ﻳﻌ ﺮف اﺧﺘﺼ ﺎرًا ﺑﺎﺳ ﻢ ‪ FPGA‬ه ﻲ ﻋﺒ ﺎرة ﻋ ﻦ‬ ‫ﺟﻬﺎز ﻣﻨﻄﻘﻲ ﻗﺎﺑﻞ ﻟﻠﺒﺮﻣﺠ ﺔ ﻳ ﺪﻋﻢ ﺗﻨﻔﻴ ﺬ دارات ﻣﻨﻄﻘﻴ ﺔ آﺒﻴ ﺮة ﻧﺴ ﺒﻴًﺎ ‪ .‬إن أﺟﻬ ﺰة ‪ FPGAs‬ﻣﺨﺘﻠﻔ ﺔ‬ ‫ﺗﻤﺎﻣ ًﺎ ﻋ ﻦ أﺟﻬ ﺰة ‪ SPLDs‬و ‪ CPLDs‬ﻷن أﺟﻬ ﺰة ‪ FPGAs‬ﻻ ﺗﺤﺘ ﻮي ﻣﺼ ﻔﻮﻓﺎت ‪ AND‬أو‬ ‫ﻼ ﻣﻨﻄﻘﻴ ﺔ ‪ Logic Blocks‬ﻣ ﻦ أﺟ ﻞ ﺗﺤﻘﻴ ﻖ اﻟﻮﻇ ﺎﺋﻒ‬ ‫‪ OR‬وإﻧﻤﺎ ﻋﻮﺿًﺎ ﻋﻦ ذﻟﻚ ﻓﺈﻧﻬ ﺎ ﺗ ﺰود آ ﺘ ً‬ ‫اﻟﻤﻄﻠﻮﺑﺔ ‪ .‬إن اﻟﺒﻨﻴﺔ اﻟﻌﺎﻣﺔ ﻟﺠﻬﺎز ‪ FPGA‬ﻣﻌﺮوﺿﺔ ﻓﻲ اﻟﺸﻜﻞ ) ‪ – ١٤‬ﺁ ( ‪ .‬آﻤ ﺎ ه ﻮ واﺿ ﺢ ﻓ ﻲ‬ ‫اﻟﺸ ﻜﻞ ﻓ ﺈن اﻟ ـ ‪ FPGA‬ﺗﺤﺘ ﻮي ﺛﻼﺛ ﺔ أﻧ ﻮاع رﺋﻴﺴ ﻴﺔ ﻣ ﻦ اﻟﻤ ﻮارد ‪ : Resources‬آﺘ ﻞ ﻣﻨﻄﻘﻴ ﺔ‬ ‫‪ ، Logic Blocks‬آﺘ ﻞ دﺧ ﻞ ‪ /‬ﺧ ﺮج ‪ I/O Blocks‬ﻣ ﻦ أﺟ ﻞ اﻻﺗﺼ ﺎل ﻣ ﻊ أﻗﻄ ﺎب اﻟﺸ ﺮﻳﺤﺔ‬ ‫وأﺧﻴﺮًا أﺳﻼك وﻣﻔﺎﺗﻴﺢ اﻟﺮﺑﻂ اﻟﺒﻴﻨﻲ ‪. Interconnection Wires and Switches‬‬ ‫إن اﻟﻜﺘﻞ اﻟﻤﻨﻄﻘﻴﺔ ﻣﺮﺗﺒﺔ ﻓﻲ ﻣﺼ ﻔﻮﻓﺔ ﺛﻨﺎﺋﻴ ﺔ اﻷﺑﻌ ﺎد ‪ Two-Dimensional Array‬ﻓ ﻲ ﺣ ﻴﻦ أن‬ ‫أﺳﻼك اﻟﺮﺑﻂ اﻟﺒﻴﻨﻲ ‪ Interconnection Wires‬ﻣﻨﻈﻤﺔ آﻘﻨ ﻮات ﺗﻮﺟﻴ ﻪ ‪Routing Channels‬‬ ‫أﻓﻘﻴﺔ وﺷﺎﻗﻮﻟﻴﺔ ﺑﻴﻦ أﺳﻄﺮ وأﻋﻤﺪة اﻟﻜﺘﻞ اﻟﻤﻨﻄﻘﻴﺔ ‪ .‬ﺗﺤﺘﻮي ﻗﻨﻮات اﻟﺘﻮﺟﻴ ﻪ ‪Routing Channels‬‬ ‫أﺳﻼآًﺎ وﻣﻔﺎﺗﻴﺢ ﻗﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ﺗﺘ ﻴﺢ ﻟﻠﻜﺘ ﻞ اﻟﻤﻨﻄﻘﻴ ﺔ أن ﺗ ﺮﺗﺒﻂ ﻓﻴﻤ ﺎ ﺑﻴﻨﻬ ﺎ ﺑﻌ ﺪة ﻃ ﺮق ‪ .‬ﻳﺒ ﻴﻦ اﻟﺸ ﻜﻞ‬ ‫) ‪ – ١٤‬ﺁ ( ﻣﻮﻗﻌﻴﻦ ﻟﻠﻤﻔﺎﺗﻴﺢ اﻟﻘﺎﺑﻠﺔ ﻟﻠﺒﺮﻣﺠﺔ ‪ :‬اﻟﺼﻨﺎدﻳﻖ اﻟﻤﺠ ﺎورة ﻟﻠﻜﺘ ﻞ اﻟﻤﻨﻄﻘﻴ ﺔ ﺗﺘﻀ ﻤﻦ ﻣﻔ ﺎﺗﻴﺢ‬ ‫وﻇﻴﻔﺘﻬﺎ رﺑﻂ ﻃﺮﻓﻴﺎت ) ﻧﻬﺎﻳﺎت ( ‪ Terminals‬اﻟﺪﺧﻞ واﻟﺨﺮج ﻟﻠﻜﺘﻠﺔ اﻟﻤﻨﻄﻘﻴ ﺔ ﻣ ﻊ أﺳ ﻼك اﻟ ﺮﺑﻂ‬ ‫اﻟﺒﻴﻨﻲ أﻣﺎ اﻟﺼﻨﺎدﻳﻖ اﻟﺘﻲ ﺗﺘﻮﺿﻊ ﻗﻄﺮﻳًﺎ ﺑﻴﻦ اﻟﻜﺘﻞ اﻟﻤﻨﻄﻘﻴ ﺔ ﻓﻬ ﻲ ﺗﻘ ﻮم ﺑﻮﺻ ﻞ ﺳ ﻠﻚ رﺑ ﻂ ﺑﻴﻨ ﻲ ﻣ ﺎ‬ ‫ﻣ ﻊ ﺁﺧ ﺮ ) آﺴ ﻠﻚ ﺷ ﺎﻗﻮﻟﻲ ﻣ ﻊ ﺳ ﻠﻚ أﻓﻘ ﻲ ( ‪ .‬آﻤ ﺎ ﺗﻮﺟ ﺪ أﻳﻀ ًﺎ ارﺗﺒﺎﻃ ﺎت ﻗﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ ﺑ ﻴﻦ آﺘ ﻞ‬ ‫اﻟ ﺪﺧﻞ ‪ /‬اﻟﺨ ﺮج ‪ I/O Blocks‬وأﺳ ﻼك اﻟ ﺮﺑﻂ اﻟﺒﻴﻨ ﻲ ‪ .‬إن اﻟﻌ ﺪد اﻟﻔﻌﻠ ﻲ ﻟﻠﻤﻔ ﺎﺗﻴﺢ اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ‬ ‫واﻷﺳﻼك ﻓﻲ ﺟﻬﺎز ‪ FPGA‬ﻳﺘﻔﺎوت ﻓﻲ اﻟﺸﺮاﺋﺢ اﻟﻤﺘﻮاﻓﺮة ﺗﺠﺎرﻳًﺎ ﺑﺸﻜﻞ واﺳﻊ ‪.‬‬ ‫ﻳﻤﻜ ﻦ اﺳ ﺘﺨﺪام أﺟﻬ ﺰة اﻟ ـ ‪ FPGAs‬ﻟﺘﻨﻔﻴ ﺬ دارات ﻣﻨﻄﻘﻴ ﺔ ذات أآﺜ ﺮ ﻣ ﻦ ﻣﻠﻴ ﻮن ﺑﻮاﺑ ﺔ ﻣﻜﺎﻓﺌ ﺔ ﻣ ﻦ‬ ‫ﺣﻴﺚ اﻟﺤﺠﻢ ‪ ) .‬ﻳﻤﻜﻦ اﻟﺘﻌﺮف ﻋﻠ ﻰ ﺑﻌ ﺾ اﻷﻣﺜﻠ ﺔ ﻣ ﻦ اﻟﻤﻨﺘﺠ ﺎت اﻟﺘﺠﺎرﻳ ﺔ ﻷﺟﻬ ﺰة ‪ FPGAs‬ﻣ ﻦ‬ ‫ﺷﺮآﺔ ‪ Altera‬ﻣﻦ ﺧﻼل زﻳﺎرة اﻟﻤﻮﻗﻊ اﻻﻟﻜﺘﺮوﻧﻲ ﻟﻠﺸﺮآﺔ ‪. ( http://www.altera.com :‬‬ ‫‪١٣‬‬


‫اﻟﺸﻜﻞ ) ‪ – ١٤‬ﺁ ( ‪ :‬اﻟﺒﻨﻴﺔ اﻟﻌﺎﻣﺔ ﻟﺠﻬﺎز ‪FPGA‬‬ ‫إن ﺷ ﺮاﺋﺢ ) رﻗﺎﻗ ﺎت ( ‪ FPGA‬ﻣﺘ ﻮاﻓﺮة وﻓ ﻖ ﺗﺸ ﻜﻴﻠﺔ ﻣﺘﻨﻮﻋ ﺔ ﻣ ﻦ اﻟ ﺮزم ‪ Packages‬ﺑﻤ ﺎ ﻓﻴﻬ ﺎ‬ ‫اﻟﺮزم ﻣﻦ اﻟﻨ ﻮﻋﻴﻦ ‪ PLCC‬و ‪ QFP‬اﻟﻤﻮﺻ ﻮﻓﻴﻦ ﺳ ﺎﺑﻘًﺎ ‪ .‬ﻳﺼ ﻮر اﻟﺸ ﻜﻞ ) ‪ – ١٤‬ب ( ﻧﻮﻋ ًﺎ ﺁﺧ ﺮ‬ ‫ﻣ ﻦ اﻟ ﺮزم ﻳ ﺪﻋﻰ ﻣﺼ ﻔﻮﻓﺔ ﺷ ﺒﻜﺔ اﻷﻗﻄ ﺎب ‪ Pin Grid Array‬أو ﻣ ﺎ ﻳﻌ ﺮف اﺧﺘﺼ ﺎرًا ﺑﺎﺳ ﻢ‬ ‫‪ . PGA‬إن رزﻣﺔ ﻣﻦ اﻟﻨﻮع ‪ PGA‬ﻳﻤﻜﻦ أن ﺗﻤﺘﻠﻚ ﺣﺘﻰ ﻋﺪة ﻣﺌﺎت ﻣ ﻦ اﻷﻗﻄ ﺎب ﺑﺎﻹﺟﻤ ﺎل واﻟﺘ ﻲ‬ ‫ﺗﻤﺘﺪ ﻧﺤﻮ اﻟﺨﺎرج ﺑﺸﻜﻞ ﻣﺴﺘﻘﻴﻢ اﻧﻄﻼﻗ ًﺎ ﻣ ﻦ اﻟﻘﺎﻋ ﺪة اﻟﺴ ﻔﻠﻰ ﻟﻠﺮزﻣ ﺔ ﻋﻠ ﻰ ﺷ ﻜﻞ ﺷ ﺒﻜﺔ ‪ .‬أﻳﻀ ًﺎ ﻓ ﺈن‬ ‫ﻧﻮﻋًﺎ ﺁﺧﺮ ﻣﻦ ﺗﻘﻨﻴﺎت اﻟﺘﻐﻠﻴﻒ ‪ Packaging Technology‬ﻗﺪ ﻧﺸﺄ وهﻮ ﻣﺎ ﻳﻌﺮف ﺑﺎﺳ ﻢ ﻣﺼ ﻔﻮﻓﺔ‬ ‫ﺷ ﺒﻜﺔ اﻟﻜﺮﻳ ﺎت ‪ Ball Grid Array‬أو اﺧﺘﺼ ﺎرًا ‪ . BGA‬إن اﻟﺮزﻣ ﺔ ﻣ ﻦ اﻟﻨ ﻮع ‪ BGA‬ﻣﺸ ﺎﺑﻬﺔ‬ ‫ﻻ‬ ‫ﻟﻠﺮزﻣﺔ ﻣﻦ اﻟﻨﻮع ‪ PGA‬ﺑﺎﺳﺘﺜﻨﺎء أن اﻷﻗﻄﺎب هﻨ ﺎ ه ﻲ ﻋﺒ ﺎرة ﻋ ﻦ آﺮﻳ ﺎت ﻣﺴ ﺘﺪﻳﺮة ﺻ ﻐﻴﺮة ﺑ ﺪ ً‬ ‫ﻣﻦ أﻋﻤﺪة ‪.‬‬

‫اﻟﺸﻜﻞ ) ‪ – ١٤‬ب ( ‪ :‬رزﻣﺔ ﻣﻦ اﻟﻨﻮع ‪ ) PGA‬ﻣﻨﻈﺮ ﺳﻔﻠﻲ (‬ ‫‪١٤‬‬


‫إن ﻣﻴﺰة اﻟﺮزم ﻣﻦ اﻟﻨﻮع ‪ BGA‬ﺗﺘﻤﺜﻞ ﻓﻲ آﻮن اﻷﻗﻄﺎب ﺻﻐﻴﺮة ﺟﺪًا وﻟﻬﺬا اﻟﺴﺒﺐ ﻓﺈن اﻟﻤﺰﻳﺪ ﻣ ﻦ‬ ‫اﻷﻗﻄﺎب ﻳﻤﻜﻦ أن ﻳﺰود ﻓﻲ رزﻣﺔ ﺻﻐﻴﺮة ﻧﺴﺒﻴًﺎ ‪.‬‬ ‫آ ﻞ آﺘﻠ ﺔ ﻣﻨﻄﻘﻴ ﺔ ﻓ ﻲ ﺟﻬ ﺎز ‪ FPGA‬ﺗﻤﺘﻠ ﻚ ﻧﻤﻮذﺟﻴ ًﺎ ﻋ ﺪدًا ﺻ ﻐﻴﺮًا ﻣ ﻦ اﻟﻤ ﺪاﺧﻞ واﻟﻤﺨ ﺎرج ‪ .‬إن‬ ‫ﺗﺸﻜﻴﻠﺔ ﻣﻦ ﻣﻨﺘﺠ ﺎت اﻟ ـ ‪ FPGA‬ﻣﺘ ﻮاﻓﺮة ﻓ ﻲ اﻟﺴ ﻮق وﺗﺘﻤﻴ ﺰ ﺑ ﺄﻧﻮاع ﻣﺨﺘﻠﻔ ﺔ ﻣ ﻦ اﻟﻜﺘ ﻞ اﻟﻤﻨﻄﻘﻴ ﺔ ‪.‬‬ ‫اﻟﻜﺘﻠﺔ اﻟﻤﻨﻄﻘﻴﺔ اﻟﻤﺴﺘﺨﺪﻣﺔ ﺑﺸﻜﻞ أآﺜ ﺮ ﺷ ﻴﻮﻋًﺎ ه ﻲ ﺟ ﺪول اﻟﺒﺤ ﺚ ‪ Lookup Table‬أو اﺧﺘﺼ ﺎرًا‬ ‫‪ LUT‬واﻟﺬي ﻳﺤﺘﻮي ﺧﻼﻳﺎ ﺗﺨﺰﻳﻦ ‪ Storage Cells‬ﻳﻤﻜﻦ اﺳﺘﺨﺪاﻣﻬﺎ ﻟﺘﻨﻔﻴﺬ ﺗﺎﺑﻊ ﻣﻨﻄﻘﻲ ﺻ ﻐﻴﺮ ‪.‬‬ ‫آﻞ ﺧﻠﻴ ﺔ ﻗ ﺎدرة ﻋﻠ ﻰ ﺣﻔ ﻆ ﻗﻴﻤ ﺔ ﻣﻨﻄﻘﻴ ﺔ وﺣﻴ ﺪة ﺳ ﻮا ًء أآﺎﻧ ﺖ "‪ "0‬أو "‪ . "1‬اﻟﻘﻴﻤ ﺔ اﻟﻤﺨﺰﻧ ﺔ ﺗﻤﺜ ﻞ‬ ‫ﺧﺮج ﺧﻠﻴﺔ اﻟﺘﺨﺰﻳﻦ ‪ .‬إن ﺟﺪاول ﺑﺤﺚ )‪ ( LUTs‬ﺑﺄﺣﺠ ﺎم ﻣﺨﺘﻠﻔ ﺔ ﻳﻤﻜ ﻦ أن ﺗﺸ ﻜﻞ ﺣﻴ ﺚ أن اﻟﺤﺠ ﻢ‬ ‫ﻳﺤ ﺪد ﺑﻌ ﺪد اﻟﻤ ﺪاﺧﻞ ‪ .‬اﻟﺸ ﻜﻞ ) ‪ – ١٥‬ﺁ ( ﻳﺒ ﻴﻦ ﺑﻨﻴ ﺔ ﺟ ﺪول ﺑﺤ ﺚ ﺻ ﻐﻴﺮ ‪ . Small LUT‬ه ﺬا‬ ‫اﻟﺠﺪول ﻳﻤﺘﻠﻚ ﻣ ﺪﺧﻠﻴﻦ ‪ X1‬و ‪ X2‬وﻣﺨ ﺮج وﺣﻴ ﺪ ‪ . F‬إن ه ﺬا اﻟﺠ ﺪول ﻗ ﺎدر ﻋﻠ ﻰ ﺗﺤﻘﻴ ﻖ أي ﺗ ﺎﺑﻊ‬ ‫ﻣﻨﻄﻘﻲ ذي ﻣﺘﺤﻮﻟﻴﻦ ‪ .‬ﺑﻤ ﺎ أن ﺟ ﺪول اﻟﺤﻘﻴﻘ ﺔ ﺑﻤﺘﺤ ﻮﻟﻴﻦ ‪ Two-Variable Truth Table‬ﻳﻤﺘﻠ ﻚ‬ ‫أرﺑﻌﺔ أﺳﻄﺮ ﻓﺈن ﺟ ﺪول اﻟﺒﺤ ﺚ اﻟﻤﻮاﻓ ﻖ ﻳﻤﺘﻠ ﻚ أﻳﻀ ًﺎ أرﺑ ﻊ ﺧﻼﻳ ﺎ ﺗﺨ ﺰﻳﻦ ‪ .‬إن ﻗﻴﻤ ﺔ آ ﻞ ﺧﻠﻴ ﺔ ﻣ ﻦ‬ ‫ﺟ ﺪول اﻟﺒﺤ ﺚ ﺗﻄ ﺎﺑﻖ ﻗﻴﻤ ﺔ اﻟﺨ ﺮج ﻓ ﻲ اﻟﺴ ﻄﺮ اﻟﻤﻮاﻓ ﻖ ﻣ ﻦ ﺟ ﺪول اﻟﺤﻘﻴﻘ ﺔ ‪ . Truth Table‬إن‬ ‫ﻣﺘﺤﻮﻟﻲ اﻟ ﺪﺧﻞ ‪ X1‬و ‪ X2‬ﻳﺴ ﺘﺨﺪﻣﺎن آﻤ ﺪاﺧﻞ اﻧﺘﺨ ﺎب ﻟﻠﻨﻮاﺧ ﺐ اﻟﺜﻼﺛ ﺔ واﻟﺘ ﻲ ﺑ ﺪورهﺎ واﻋﺘﻤ ﺎدًا‬ ‫ﻋﻠﻰ ﻗﻴﻤﺘﻲ ‪ X1‬و ‪ X2‬ﺗﺨﺘﺎر ﻣﺤﺘﻮى ﺧﻠﻴﺔ ﻣﺎ ﻣﻦ ﺧﻼﻳ ﺎ اﻟﺘﺨ ﺰﻳﻦ اﻷرﺑ ﻊ ﻟﺘ ﺰودﻩ آﻤﺨ ﺮج ﻟﺠ ﺪول‬ ‫اﻟﺒﺤﺚ ‪.‬‬

‫اﻟﺸﻜﻞ ) ‪ – ١٥‬ﺁ ( ‪ :‬دارة ﺟﺪول ﺑﺤﺚ ‪ LUT‬ذي ﻣﺪﺧﻠﻴﻦ‬ ‫ﻣﺜﺎل ‪Example :‬‬ ‫اﻵن ‪ ،‬ﻟﺮؤﻳﺔ آﻴﻔﻴﺔ ﺗﺤﻘﻴﻖ ﺗﺎﺑﻊ ﻣﻨﻄﻘ ﻲ ﻣ ﻦ ﺧ ﻼل ﺟ ﺪول ﺑﺤ ﺚ ذي ﻣ ﺪﺧﻠﻴﻦ ﻟﻨﻌﺘﺒ ﺮ ﺟ ﺪول اﻟﺤﻘﻴﻘ ﺔ‬ ‫اﻟﻤﻮﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ) ‪ – ١٥‬ب ( ‪ .‬إن اﻟﺘﺎﺑﻊ ‪ F1‬ﻣﻦ ﺟﺪول اﻟﺤﻘﻴﻘﺔ هﺬا ﻳﻤﻜﻦ أن ﻳﺨﺰن ﻓ ﻲ ﺟ ﺪول‬ ‫اﻟﺒﺤﺚ ) ‪ ( LUT‬آﻤﺎ هﻮ ﻣﺼﻮر ﻓﻲ اﻟﺸﻜﻞ ) ‪ – ١٥‬ج ( ‪ .‬إن ﺗﺮﺗﻴ ﺐ اﻟﻨﻮاﺧ ﺐ ﻓ ﻲ ﺟ ﺪول اﻟﺒﺤ ﺚ‬ ‫) ‪ ( LUT‬ﻳﺤﻘﻖ ﺑﺸﻜﻞ ﺻﺤﻴﺢ اﻟﺘﺎﺑﻊ اﻟﻤﻨﻄﻘﻲ ‪ . F1‬ﻋﻠﻰ ﺳﺒﻴﻞ اﻟﻤﺜﺎل ﻋﻨﺪﻣﺎ ﻳﻜﻮن ‪:‬‬ ‫‪ X1 = X2 = 0‬ﻓﺈن ﺧﺮج ﺟﺪول اﻟﺒﺤﺚ ﻣﻘ ﺎد ﺑﻮاﺳ ﻄﺔ ﺧﻠﻴ ﺔ اﻟﺘﺨ ﺰﻳﻦ اﻟﻌﻠﻮﻳ ﺔ ‪Top Storage‬‬ ‫‪ Cell‬واﻟﺘ ﻲ ﺗﻤﺜ ﻞ ﻗﻴﻤ ﺔ اﻟﺘ ﺎﺑﻊ ‪ F1‬ﻓ ﻲ ﺟ ﺪول اﻟﺤﻘﻴﻘ ﺔ ﻣ ﻦ أﺟ ﻞ اﻟﺴ ﻄﺮ ‪ . X1X2 = 00‬وﺑﺸ ﻜﻞ‬ ‫ﻣﺸﺎﺑﻪ ﻣﻦ أﺟﻞ آﺎﻓﺔ اﻟﻘ ﻴﻢ اﻷﺧ ﺮى ﻟ ـ ‪ X1‬و ‪ X2‬ﻓ ﺈن اﻟﻘﻴﻤ ﺔ اﻟﻤﻨﻄﻘﻴ ﺔ اﻟﻤﺨﺰﻧ ﺔ ﻓ ﻲ ﺧﻠﻴ ﺔ اﻟﺘﺨ ﺰﻳﻦ‬ ‫اﻟﻤﻮاﻓﻘ ﺔ ﻟﻠﺴ ﻄﺮ اﻟﻤﺤ ﺪد ﻣ ﻦ ﺟ ﺪول اﻟﺤﻘﻴﻘ ﺔ اﻋﺘﻤ ﺎدًا ﻋﻠ ﻰ ﻗﻴﻤ ﺔ اﻟﻤ ﺪﺧﻠﻴﻦ ‪ X1‬و ‪ X2‬ﺗﻈﻬ ﺮ ﻋﻠ ﻰ‬ ‫ﺧﺮج ﺟﺪول اﻟﺒﺤﺚ ‪.‬‬ ‫‪١٥‬‬


‫اﻟﺸﻜﻞ ) ‪ – ١٥‬ب ( ‪ :‬اﻟﺘﺎﺑﻊ اﻟﻤﻨﻄﻘﻲ ‪( F1 = X1'.X2' + X1.X2 ) F1‬‬

‫اﻟﺸﻜﻞ ) ‪ – ١٥‬ج ( ‪ :‬ﻣﺤﺘﻮﻳﺎت ﺧﻼﻳﺎ اﻟﺘﺨﺰﻳﻦ ﻓﻲ ﺟﺪول اﻟﺒﺤﺚ ‪LUT‬‬ ‫إن ﺗ ﺄﻣﻴﻦ اﻟﻮﺻ ﻮل ‪ /‬اﻟﻮﻟ ﻮج إﻟ ﻰ ﻣﺤﺘﻮﻳ ﺎت ﺧﻼﻳ ﺎ اﻟﺘﺨ ﺰﻳﻦ ﻣ ﺎ ه ﻮ إﻻ إﺣ ﺪى اﻟﺤ ﺎﻻت ﻻﺳ ﺘﺨﺪام‬ ‫اﻟﻨﻮاﺧﺐ ‪ Multiplexers‬ﻟﺘﺤﻘﻴﻖ ﺗﻮاﺑﻊ ﻣﻨﻄﻘﻴ ﺔ ‪ ) .‬ﻟﻤﺰﻳ ﺪ ﻣ ﻦ اﻟﻤﻌﻠﻮﻣ ﺎت اﻟﻤﻔﺼ ﻠﺔ ﻋ ﻦ ﺗﻄﺒﻴﻘ ﺎت‬ ‫اﻟﻨﻮاﺧﺐ ﻳﻤﻜﻦ ﻣﺮاﺟﻌﺔ اﻟﻔﺼﻞ اﻟﺴﺎدس ﻣﻦ اﻟﻄﺒﻌﺔ اﻟﺜﺎﻧﻴﺔ ﻟﻜﺘﺎب ‪:‬‬ ‫" ‪ " Fundamentals of Digital Logic with VHDL Design‬ﻟﻠﻤ ﺆﻟﻔﻴﻦ ‪Stephen‬‬ ‫‪ Brown‬و ‪ Zvonko Vranesic‬اﻟﻤﻨﺸﻮر ﻋﺎم ‪ 2005‬ﻣﻦ ﻗﺒﻞ دار ‪. ( McGraw-Hill‬‬ ‫ﻳﺒﻴﻦ اﻟﺸﻜﻞ ) ‪ ( ١٦‬ﺟﺪول ﺑﺤﺚ ذي ﺛﻼﺛﺔ ﻣﺪاﺧﻞ ) ‪ . ( Three-Input LUT‬ﻳﻤﺘﻠ ﻚ ه ﺬا اﻟﺠ ﺪول‬ ‫ﺛﻤﺎن ﺧﻼﻳﺎ ﺗﺨﺰﻳﻦ ﻷن ﺟﺪول اﻟﺤﻘﻴﻘﺔ ﺑﺜﻼﺛﺔ ﻣﺘﺤﻮﻻت ﻳﻤﺘﻠﻚ ﺛﻤﺎﻧﻴﺔ أﺳﻄﺮ ‪.‬‬ ‫ﻓﻲ ﺷﺮاﺋﺢ ‪ FPGA‬اﻟﺘﺠﺎرﻳﺔ ﻓ ﺈن ﺟ ﺪاول اﻟﺒﺤ ﺚ ‪ LUTs‬ﻋ ﺎد ًة ﻣ ﺎ ﺗﻤﺘﻠ ﻚ أرﺑﻌ ﺔ أو ﺧﻤﺴ ﺔ ﻣ ﺪاﺧﻞ‬ ‫اﻷﻣﺮ اﻟﺬي ﻳﺘﻄﻠﺐ ‪ 16‬أو ‪ 32‬ﺧﻠﻴﺔ ﺗﺨﺰﻳﻦ ﻋﻠﻰ اﻟﺘﺮﺗﻴﺐ ) ﻋﻠﻰ اﻟﺘﻮاﻟﻲ ( ‪. Respectively‬‬ ‫ﻓﻲ اﻟﺸﻜﻞ ) ‪ ( ٦‬آﻨﺎ ﻗﺪ رأﻳﻨﺎ أن أﺟﻬﺰة ‪ PALs‬ﺗﻤﺘﻠﻚ ﻋﺎد ًة دارات إﺿﺎﻓﻴﺔ ﻣﻀﻤﻨﺔ ﻣﻊ ﺑﻮاﺑﺎﺗﻬﺎ ﻣﻦ‬ ‫اﻟﻨﻮع ‪ AND‬و ‪ . OR‬ﻧﻔﺲ اﻟﺸﻲء ﺻﺤﻴﺢ ﻣﻦ أﺟﻞ أﺟﻬﺰة اﻟ ـ ‪ FPGAs‬اﻟﺘ ﻲ ﺗﻤﺘﻠ ﻚ ﻋ ﺎد ًة دارات‬ ‫إﺿﺎﻓﻴﺔ إﻟﻰ ﺟﺎﻧﺐ ﺟ ﺪول اﻟﺒﺤ ﺚ ﻓ ﻲ آ ﻞ آﺘﻠ ﺔ ﻣﻨﻄﻘﻴ ﺔ ‪ .‬ﻳﺒ ﻴﻦ اﻟﺸ ﻜﻞ ) ‪ ( ١٧‬آﻴﻔﻴ ﺔ ﺗﻀ ﻤﻴﻦ ﻗ ﻼب‬ ‫‪ Flip-Flop‬ﻓﻲ آﺘﻠﺔ ﻣﻨﻄﻘﻴﺔ ﻟﺠﻬﺎز ‪. FPGA‬‬ ‫‪١٦‬‬


‫اﻟﺸﻜﻞ ) ‪ : ( ١٦‬ﺟﺪول ﺑﺤﺚ ذي ﺛﻼﺛﺔ ﻣﺪاﺧﻞ‬

‫اﻟﺸﻜﻞ ) ‪ : ( ١٧‬ﺗﻀﻤﻴﻦ ﻗﻼب ‪ Flip-Flop‬ﻓﻲ آﺘﻠﺔ ﻣﻨﻄﻘﻴﺔ ‪ Logic Block‬ﻟﺠﻬﺎز ‪FPGA‬‬ ‫آﻤﺎ ﻧﺎﻗﺸﻨﺎ ﻣﻦ أﺟﻞ اﻟﺸﻜﻞ ) ‪ ( ٦‬ﻓﺈن اﻟﻘﻼب هﻨﺎ ﻳﺴﺘﺨﺪم ﻟﺘﺨﺰﻳﻦ اﻟﻘﻴﻤﺔ اﻟﻤﻄﺒﻘﺔ ﻋﻠﻰ ﻣﺪﺧﻠﻪ ‪D‬‬ ‫" ﺗﺤﺖ ﻗﻴﺎدة " ﻣﺪﺧﻞ ﻧﺒﻀﺎت اﻟﺴﺎﻋﺔ ‪. Clock Input‬‬ ‫ﻣﻦ أﺟﻞ دارة ﻣﻨﻄﻘﻴﺔ ﻣﺎ ﻳﺮاد ﺗﻨﻔﻴﺬهﺎ ﺑﻮاﺳﻄﺔ ﺟﻬﺎز ‪ FPGA‬ﻓﺈن آﻞ ﺗﺎﺑﻊ ﻣﻨﻄﻘﻲ ﻓ ﻲ اﻟ ﺪارة ﻳﺠ ﺐ‬ ‫أن ﻳﻜﻮن ﺻﻐﻴﺮًا ﺑﺸﻜﻞ آ ﺎف ﻟﻴﺘﺴ ﻊ ) ‪ ( To Fit‬ﺿ ﻤﻦ آﺘﻠ ﺔ ﻣﻨﻄﻘﻴ ﺔ وﺣﻴ ﺪة ‪ .‬ﻋﻤﻠﻴ ًﺎ ‪ ،‬ﻓ ﺈن اﻟ ﺪارة‬ ‫اﻟﻤﺮاد ﺗﺼﻤﻴﻤﻬﺎ ﺗﺘﻢ ﺗﺮﺟﻤﺘﻬﺎ ﺑﺸﻜﻞ ﺁﻟﻲ إﻟﻰ اﻟﺸ ﻜﻞ اﻟﻤﻄﻠ ﻮب ﺑﺎﺳ ﺘﺨﺪام أدوات ‪ . CAD‬ﻋﻨ ﺪ ﺗﻨﻔﻴ ﺬ‬ ‫دارة ﻣ ﺎ ﺑﺎﺳ ﺘﺨﺪام ﺟﻬ ﺎز ‪ FPGA‬ﻓ ﺈن اﻟﻜﺘ ﻞ اﻟﻤﻨﻄﻘﻴ ﺔ ﺗﺒ ﺮﻣﺞ ﻟﺘﺤﻘﻴ ﻖ اﻟﺘﻮاﺑ ﻊ اﻟﻀ ﺮورﻳﺔ آﻤ ﺎ أن‬ ‫ﻗﻨﻮات اﻟﺘﻮﺟﻴﻪ ‪ Routing Channels‬ﺗﺘﻢ ﺑﺮﻣﺠﺘﻬﺎ ﻹﻧﺸﺎء اﻟﻮﺻﻼت اﻟﺒﻴﻨﻴ ﺔ اﻟﻤﻄﻠﻮﺑ ﺔ ﺑ ﻴﻦ اﻟﻜﺘ ﻞ‬ ‫‪١٧‬‬


‫اﻟﻤﻨﻄﻘﻴﺔ ‪ . Logic Blocks‬إن أﺟﻬﺰة اﻟـ ‪ FPGAs‬ﺗﺒﺮﻣﺞ ﺑﺎﺳﺘﺨﺪام ﻃﺮﻳﻘﺔ ‪ ISP‬اﻟﺘﻲ ﻋﺮﺿ ﻨﺎهﺎ‬ ‫ﺳﺎﺑﻘًﺎ ) ‪. ( In-System Programming‬‬ ‫ﺧﻼﻳ ﺎ اﻟﺘﺨ ﺰﻳﻦ ‪ Storage Cells‬ﻓ ﻲ ﺟ ﺪاول اﻟﺒﺤ ﺚ ) ‪ ( LUTs‬ﺿ ﻤﻦ ﺟﻬ ﺎز ‪ FPGA‬ه ﻲ‬ ‫ﻣﺘﻄ ﺎﻳﺮة " ‪ " Volatile‬أي أﻧﻬ ﺎ ﺗﻔﻘ ﺪ ﻣﺤﺘﻮﻳﺎﺗﻬ ﺎ اﻟﻤﺨﺰﻧ ﺔ ﻋﻨ ﺪ اﻧﻘﻄ ﺎع اﻟﺘﻐﺬﻳ ﺔ اﻟﻜﻬﺮﺑﺎﺋﻴ ﺔ ﻋ ﻦ‬ ‫اﻟﺸﺮﻳﺤﺔ ‪ .‬ﺑﻨ ﺎ ًء ﻋﻠ ﻰ ذﻟ ﻚ ﻓ ﺈن ﺷ ﺮﻳﺤﺔ اﻟ ـ ‪ FPGA‬ﻳﺠ ﺐ أن ﺗﺒ ﺮﻣﺞ ﻓ ﻲ آ ﻞ ﻣ ﺮة ﻳ ﺘﻢ ﻓﻴﻬ ﺎ ﺗﻄﺒﻴ ﻖ‬ ‫اﻟﺘﻐﺬﻳ ﺔ اﻟﻜﻬﺮﺑﺎﺋﻴ ﺔ ‪ .‬ﻏﺎﻟﺒ ًﺎ ﻓ ﺈن ﺷ ﺮﻳﺤﺔ ذاآ ﺮة ﺻ ﻐﻴﺮة واﻟﺘ ﻲ ﺗﺤﻔ ﻆ ﻣﻌﻄﻴﺎﺗﻬ ﺎ ﺑﺸ ﻜﻞ داﺋ ﻢ وﺗ ﺪﻋﻰ‬ ‫ذاآ ﺮة ﻗ ﺮاءة ﻓﻘ ﻂ ﻗﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ ‪ Programmable Read-Only Memory‬أو اﺧﺘﺼ ﺎرًا‬ ‫) ‪ ( PROM‬ﺗﻜﻮن ﻣﻀﻤﻨﺔ ﻋﻠﻰ ﻟﻮﺣﺔ اﻟﺪارة اﻟﻤﻄﺒﻮﻋﺔ اﻟﺘﻲ ﺗﺴﺘﻀﻴﻒ ﺷ ﺮﻳﺤﺔ اﻟ ـ ‪ . FPGA‬ﻳ ﺘﻢ‬ ‫ﺗﺤﻤﻴ ﻞ ‪ Load‬ﺧﻼﻳ ﺎ اﻟﺘﺨ ﺰﻳﻦ ﻓ ﻲ ﺟﻬ ﺎز اﻟ ـ ‪ FPGA‬ﺑﺸ ﻜﻞ ﺁﻟ ﻲ ﻣ ﻦ ﺷ ﺮﻳﺤﺔ اﻟ ـ ‪ PROM‬ﻋﻨ ﺪ‬ ‫ﺗﻄﺒﻴﻖ اﻟﺘﻐﺬﻳﺔ اﻟﻜﻬﺮﺑﺎﺋﻴﺔ ﻋﻠﻰ اﻟﺸﺮاﺋﺢ اﻟﻤﺮآﺒﺔ ﻋﻠﻰ ﻟﻮﺣﺔ اﻟﺪارة ‪. Circuit Board‬‬ ‫‪ -٦-١‬ﺗﻄﺒﻴﻘﺎت أﺟﻬﺰة اﻟـ ‪ CPLDs‬واﻟـ ‪: FPGAs‬‬ ‫‪Applications of CPLDs and FPGAs‬‬ ‫إن أﺟﻬ ﺰة اﻟ ـ ‪ CPLDs‬واﻟ ـ ‪ FPGAs‬ﻣﺴ ﺘﺨﺪﻣﺔ اﻟﻴ ﻮم ﻓ ﻲ ﻋ ﺪة ﺗﻄﺒﻴﻘ ﺎت ﻣﺘﻨﻮﻋ ﺔ آﺎﻟﻤﻨﺘﺠ ﺎت‬ ‫اﻻﺳﺘﻬﻼآﻴﺔ ﻣﺜ ﻞ ﻣﺸ ﻐﻼت اﻟ ـ ‪ DVD‬وﻣﺠﻤﻮﻋ ﺎت اﻟﺘﻠﻔ ﺎز ودارات اﻟﻤﺘﺤﻜﻤ ﺎت اﻟﺨﺎﺻ ﺔ ﺑﺼ ﻨﺎﻋﺔ‬ ‫اﻟﺴﻴﺎرات وﺗﺠﻬﻴﺰات اﻻﺧﺘﺒﺎر وﻣﻮﺟﻬﺎت اﻻﻧﺘﺮﻧﻴ ﺖ وﻣﻔ ﺎﺗﻴﺢ اﻟﺸ ﺒﻜﺎت ﻋﺎﻟﻴ ﺔ اﻟﺴ ﺮﻋﺔ وﺗﺠﻬﻴ ﺰات‬ ‫اﻟﺤﻮاﺳﻴﺐ آﺄﻧﻈﻤﺔ اﻟﺘﺨﺰﻳﻦ ﻋﻠﻰ اﻷﻗﺮاص ‪ ....‬اﻟﺦ ‪.‬‬ ‫ﻓ ﻲ ﺣﺎﻟ ﺔ ﺗﺼ ﻤﻴﻢ ﻣﻌﻴﻨ ﺔ ﻓ ﺈن ﺟﻬ ﺎز ‪ CPLD‬ﻳﻤﻜ ﻦ أن ﻳﺨﺘ ﺎر ﻋﻨ ﺪﻣﺎ ﺗﻜ ﻮن اﻟ ﺪارة اﻟﻤﻄﻠﻮﺑ ﺔ ﻟﻴﺴ ﺖ‬ ‫آﺒﻴﺮة ﺟﺪًا أو ﻋﻨﺪﻣﺎ ﻳﻨﺒﻐﻲ ﻋﻠﻰ اﻟﺠﻬﺎز أن ﻳﻨﺠ ﺰ وﻇﻴﻔﺘ ﻪ ﺁﻧﻴ ًﺎ ﻋﻨ ﺪ ﺗﻄﺒﻴ ﻖ اﻟﺘﻐﺬﻳ ﺔ اﻟﻜﻬﺮﺑﺎﺋﻴ ﺔ ﻋﻠ ﻰ‬ ‫ﻼ‬ ‫اﻟﺪارة ‪ .‬إن أﺟﻬﺰة اﻟـ ‪ FPGAs‬ﻟﻴﺴ ﺖ ﺧﻴ ﺎرًا ﺟﻴ ﺪًا ﻣ ﻦ أﺟ ﻞ اﻟﺤﺎﻟ ﺔ اﻷﺧﻴ ﺮة ﻷﻧﻬ ﺎ آﻤ ﺎ أﺷ ﺮﻧﺎ ﻗ ﺒ ً‬ ‫ﻣﺒﺮﻣﺠ ﺔ اﻋﺘﻤ ﺎدًا ﻋﻠ ﻰ ﻋﻨﺎﺻ ﺮ ﺗﺨ ﺰﻳﻦ ﻣﺘﻄ ﺎﻳﺮة ﺗﻔﻘ ﺪ ﻣﺤﺘﻮﻳﺎﺗﻬ ﺎ اﻟﻤﺨﺰﻧ ﺔ ﻋﻨ ﺪ اﻧﻘﻄ ﺎع اﻟﺘﻐﺬﻳ ﺔ‬ ‫اﻟﻜﻬﺮﺑﺎﺋﻴﺔ وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن ه ﺬﻩ اﻟﺨﺎﺻ ﻴﺔ ﺗﻮﻟ ﺪ ﺗ ﺄﺧﻴﺮًا زﻣﻨﻴ ًﺎ ﻗﺒ ﻞ أن ﺗﺴ ﺘﻄﻴﻊ ﺷ ﺮﻳﺤﺔ اﻟ ـ ‪ FPGA‬أن‬ ‫ﺗﻨﺠﺰ ﻣﻬﺎﻣﻬﺎ ﻋﻨﺪ ﺗﻄﺒﻴﻖ اﻟﺘﻐﺬﻳﺔ اﻟﻜﻬﺮﺑﺎﺋﻴﺔ ﻋﻠﻴﻬﺎ ‪.‬‬ ‫إن أﺟﻬ ﺰة اﻟ ـ ‪ FPGAs‬ﻣﻨﺎﺳ ﺒﺔ ﻟﺘﻨﻔﻴ ﺬ دارات ﻋﻠ ﻰ ﻣﺠ ﺎل واﺳ ﻊ ﻣ ﻦ اﻟﺤﺠ ﻮم وذﻟ ﻚ ﻣ ﻦ ﺣ ﻮاﻟﻰ‬ ‫‪ 1.000‬إﻟ ﻰ أآﺜ ﺮ ﻣ ﻦ ‪ 1.000.000‬ﺑﻮاﺑ ﺔ ﻣﻨﻄﻘﻴ ﺔ ﻣﻜﺎﻓﺌ ﺔ ‪ .‬ﺑﺎﻹﺿ ﺎﻓﺔ إﻟ ﻰ اﻟﺤﺠ ﻢ ﻓ ﺈن اﻟﻤﺼ ﻤﻢ‬ ‫‪ Designer‬ﻳﺠﺐ أن ﻳﺄﺧﺬ ﺑﻌﻴﻦ اﻻﻋﺘﺒﺎر ﻣﻌﺎﻳﻴﺮ أﺧ ﺮى آﺎﻟﺴ ﺮﻋﺔ اﻟﻤﻄﻠﻮﺑ ﺔ ﻟﺘﺸ ﻐﻴﻞ اﻟ ﺪارة وﻗﻴ ﻮد‬ ‫ﺗﺒﺪﻳ ﺪ اﻻﺳ ﺘﻄﺎﻋﺔ وآﻠﻔ ﺔ اﻟﺸ ﺮاﺋﺢ ‪ .‬ﻋﻨ ﺪﻣﺎ ﻻ ﺗﺤﻘ ﻖ أﺟﻬ ﺰة اﻟ ـ ‪ FPGAs‬واﺣ ﺪًا أو أآﺜ ﺮ ﻣ ﻦ ه ﺬﻩ‬ ‫اﻟﻤﺘﻄﻠﺒﺎت ﻓﺈن ﻋﻠﻰ اﻟﻤﺼ ﻤﻢ أن ﻳﺨﺘ ﺎر اﻟﻠﺠ ﻮء إﻟ ﻰ ﺧﻴ ﺎر اﻟ ـ ‪ ASICs‬أي اﻟ ﺪارات اﻟﻤﺘﻜﺎﻣﻠ ﺔ ذات‬ ‫اﻟﺘﻄﺒﻴﻘﺎت اﻟﺨﺎﺻﺔ ‪. Application Specific Integrated Circuits‬‬

‫‪١٨‬‬


Programmable Logic Devices