اﻟﺠﻤﮭﻮرﯾﺔ اﻟﻌﺮﺑﯿﺔ اﻟﺴﻮرﯾﺔ وزارة اﻟﺘﻌﻠﯿﻢ اﻟﻌﺎﻟﻲ ﺟﺎﻣﻌﺔ ﺣﻠﺐ – ﻛﻠﯿﺔ اﻟﮭﻨﺪﺳﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ واﻻﻟﻜﺘﺮوﻧﯿﺔ ﻗﺴﻢ ھﻨﺪﺳﺔ اﻟﺤﻮاﺳﯿﺐ – ﻣﺨﺒﺮ اﻟﺤﺎﺳﺒﺎت إﻋﺪاد اﻟﻤﮭﻨﺪس :أﺳﺎﻣﺔ ﻋﺰﯾﺰ
ﻣﺪﺧﻞ إﻟﻰ اﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿﺔ - Quartus IIاﻟﺠﺰء اﻷول Introduction to Quartus II – Part 1 اﻟﺴﻨﺔ اﻟﺜﺎﻟﺜﺔ -ﻗﺴﻢ ھﻨﺪﺳﺔ اﻟﺤﻮاﺳﯿﺐ
اﻟﻔﺼﻞ اﻟﺪراﺳﻲ اﻷول ٢٠١١ - ٢٠١٠
١
ﻣﺪﺧﻞ إﻟﻰ ﺗﺼﻤﯿﻢ اﻟﺪارات ﻣﻦ ﺧﻼل اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﺑﺎﺳﺘﺨﺪام ﻟﻐﺔ VHDL
ﺳﻮف ﻧﺘﻌﺮف ﻓﻲ ھﺬه اﻟﺠﻠﺴﺔ ﻋﻠﻰ ﻛﯿﻔﯿﺔ اﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﻛﻨﻈ ﺎم ﺗﺼ ﻤﯿﻢ ﺑﺎﺳ ﺘﺨﺪام اﻟﺤﺎﺳ ﺐ أو ﻣ ﺎ ﯾﻌﺮف ﺑﺎﺳﻢ CAD System ) Computer-Aided Design Systemاﺧﺘﺼﺎراً ( . ﺳﻮف ﻧﻘﻮم ﻓﻲ اﻟﺒﺪاﯾﺔ ﺑﻌﺮض ﺻﻮرة ﻋﺎﻣﺔ ﻋﻦ اﻟﺨﻄ ﻮات اﻟﺘ ﻲ ﺗﺸ ﻜﻞ ﻣﻨﮭﺠﯿ ﺔ اﻟﺘﺼ ﻤﯿﻢ ﻟﻠ ﺪارات ﻣ ﻦ ﺧ ﻼل ﻧﻈ ﺎم CADﯾﻌﺘﻤ ﺪ ﻋﻠ ﻰ ﺗﻨﺠﯿ ﺰ Implementationاﻟ ﺪارات ﺑﺎﺳ ﺘﺨﺪام أﺟﮭ ﺰة . FPGAﻛﻤ ﺎ ﺳ ﻨﺒﯿﻦ ﻛﯿﻔﯿ ﺔ ﺗﻄﺒﯿ ﻖ ﺧﻄ ﻮات ھ ﺬه اﻟﻤﻨﮭﺠﯿ ﺔ ﺑﺎﺳ ﺘﺨﺪام اﻟﺒﺮﻣﺠﯿ ﺔ . Quartus IIﻋﻤﻠﯿ ﺔ اﻟﺘﺼ ﻤﯿﻢ ﺳ ﺘﻌﺮض ﻣ ﻦ ﺧ ﻼل ﺷ ﺮح اﻟﺘﻌﻠﯿﻤ ﺎت اﻟﻮاﺟﺐ ﺗﻨﻔﯿﺬھﺎ ﺧﻄﻮة ﺧﻄﻮة ﻣﻦ أﺟﻞ ﺗﻨﺠﯿﺰ دارة ﺑﺴﯿﻄﺔ ﺟ ﺪاً ﺑﺎﺳ ﺘﺨﺪام ﺷ ﺮﯾﺤﺔ FPGAﻣﺼ ﻨﻌﺔ ﻣ ﻦ ﻗﺒ ﻞ ﺷ ﺮﻛﺔ . Altera ﺗﺘﻀﻤﻦ اﻟﺒﺮﻣﺠﯿﺔ Quartus IIدﻋﻤﺎً ﻛﺎﻣﻼً ﻟﻜﺎﻓﺔ اﻟﻄﺮق اﻟﺸﺎﺋﻌﺔ ﻹدﺧﺎل ﺗﻮﺻﯿﻒ اﻟﺪارة اﻟﻤﻄﻠ ﻮب ﺗﺼ ﻤﯿﻤﮭﺎ إﻟ ﻰ ﻧﻈﺎم . CADﻓﻲ ھﺬه اﻟﺠﻠﺴﺔ ﺑﺎﻟﻄﺒﻊ ﺳﻨﺴﺘﺨﺪم ﻟﻐﺔ VHDLﻛﺄداة ﻹدﺧﺎل اﻟﺘﺼﻤﯿﻢ ﺑﺤﯿﺚ ﻧﻘﻮم ﺑﺘﺤﺪﯾ ﺪ ﺧﺼ ﺎﺋﺺ اﻟ ﺪارة اﻟﻤﻄﻠﻮﺑ ﺔ ﻣ ﻦ ﺧ ﻼل ﻟﻐ ﺔ اﻟﺘﻮﺻ ﯿﻒ اﻟﻌﺘ ﺎدي . VHDLﻓ ﻲ اﻟﺤﻘﯿﻘ ﺔ ﯾﻤﻜ ﻦ اﺳ ﺘﺨﺪام ﻟﻐ ﺔ ﺗﻮﺻ ﯿﻒ ﻋﺘ ﺎدي أﺧﺮى ﺗﺪﻋﻰ Verilogأو ﺑﺒﺴﺎﻃﺔ إدﺧﺎل اﻟﺪارة ﻣﻦ ﺧﻼل رﺳﻢ ﻣﺨﻄﻂ اﻟﺪارة . Schematic Diagram اﻟﺨﻄ ﻮة اﻷﺧﯿ ﺮة ﻓ ﻲ ﻋﻤﻠﯿ ﺔ اﻟﺘﺼ ﻤﯿﻢ ﺗﺘﻤﺜ ﻞ ﻓ ﻲ ﺑﺮﻣﺠ ﺔ /ﺿ ﺒﻂ Configurationﺟﮭ ﺎز اﻟ ـ FPGAاﻟﻤﺘ ﻮاﻓﺮ ﻟﯿﺘﺤﻮل إﻟﻰ اﻟﺪارة اﻟﻤﺮاد اﻟﺤﺼﻮل ﻋﻠﯿﮭ ﺎ .ﻣ ﻦ أﺟ ﻞ ﺗﻄﺒﯿ ﻖ ﻣ ﺎ ﺳ ﯿﺮد ﻓ ﻲ ھ ﺬه اﻟﺠﻠﺴ ﺔ ﻓﺈﻧ ﮫ ﯾﻔﺘ ﺮض ﺗ ﻮاﻓﺮ اﻟﻠ ﻮح اﻟﺘﺪرﯾﺒﻲ /اﻟﺒﻮرد ( Development and Education ) DE2اﻟﻤﺼﻤﻢ ﻣﻦ ﻗﺒﻞ ﺷﺮﻛﺔ Terasicﺑﺎﻟﺘﻌ ﺎون ﻣ ﻊ ﺷﺮﻛﺔ . Alteraھﺬا اﻟﺒﻮرد ﯾﺠﺐ أن ﯾﻜﻮن ﻣﻮﺻﻮﻻً أﯾﻀ ﺎً ﻣ ﻦ ﺧ ﻼل ﻛﺎﺑ ﻞ USBإﻟ ﻰ ﺣﺎﺳ ﺐ ﯾﺘﻀ ﻤﻦ اﻟﺒﺮﻣﺠﯿ ﺔ . Quartus IIﻋﻠﻰ ﻛﻞ ﺣﺎل ،ﻓﺈن اﻟﻄﺎﻟﺐ اﻟﺬي ﻻ ﯾﻤﺘﻠﻚ ھﺬا اﻟﺒﻮرد ﯾﺴﺘﻄﯿﻊ ﺗﻄﺒﯿ ﻖ اﻟﻘﺴ ﻢ اﻷﻛﺒ ﺮ ﻣﻤ ﺎ ﺳ ﯿﺮد ﻓ ﻲ ھﺬه اﻟﺠﻠﺴﺔ ﻣﻦ ﺧﻼل ﺗﻨﺼﯿﺐ واﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﻓﻲ ﺣﺎﺳﺒﮫ اﻟﺨﺎص !!! ﺑﺎﺧﺘﺼﺎر ،ﻓﻲ ﻧﮭﺎﯾﺔ ھﺬه اﻟﺠﻠﺴﺔ ﺳﯿﺘﻌﻠﻢ اﻟﻄﺎﻟﺐ ﻛﯿﻔﯿﺔ ﺑﺮﻣﺠ ﺔ Programmingو ﺿ ﺒﻂ Configurationﺟﮭ ﺎز اﻟـ FPGAاﻟﻤﺮﻛﺐ ﻋﻠﻰ اﻟﺒﻮرد DE2ﻣﻦ ﺧﻼل اﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿﺔ Quartus IIوﻟﻐﺔ . VHDL أﺷﻜﺎل اﻟﺸﺎﺷﺎت Screen Capturesاﻟﻮاردة ﻓﻲ ھﺬه اﻟﻨﻮﻃﺔ ﺗﻢ اﻟﺤﺼﻮل ﻋﻠﯿﮭﺎ ﺑﺎﺳﺘﺨﺪام اﻟﻨﺴ ﺨﺔ 9.1 SP1ﻣ ﻦ اﻟﺒﺮﻣﺠﯿﺔ Quartus IIوﺑﺎﻟﺘﺎﻟﻲ إذا ﻛﺎن اﻟﻄﺎﻟ ﺐ ﯾﺴ ﺘﺨﺪم ﻧﺴ ﺨﺎً /إﺻ ﺪارات أﺧ ﺮى ﻓ ﺈن اﻟﺼ ﻮر ﻗ ﺪ ﺗﻜ ﻮن ﻣﺨﺘﻠﻔ ﺔ ﺑﺸﻜﻞ ﻃﻔﯿﻒ . اﻟﻨﻘﺎط اﻟﻤﺪروﺳﺔ ﻓﻲ اﻟﺠﻠﺴﺔ : -١ﻣﻨﮭﺠﯿﺔ ﻧﻤﻮذﺟﯿﺔ ﻟﻨﻈﺎم . Typical CAD Flow : CAD -٢ﺗﻤﮭﯿﺪ . Getting Started : -٣ﺑﺪء ﻣﺸﺮوع ﺟﺪﯾﺪ . Starting a New Project : -٤إدﺧﺎل اﻟﺘﺼﻤﯿﻢ ﺑﻠﻐﺔ . VHDL Design Entry : VHDL -٥ﺗﺮﺟﻤﺔ اﻟﺘﺼﻤﯿﻢ . Compiling The Design : -٦ﺗﺨﺼﯿﺺ أﻗﻄﺎب اﻟﺸﺮﯾﺤﺔ . Pin Assignment : -٧ﻣﺤﺎﻛﺎة اﻟﺪارة اﻟﻤﺼﻤﻤﺔ . Simulating The Designed Circuit : -٨ﺑﺮﻣﺠﺔ وﺿﺒﻂ ﺟﮭﺎز اﻟـ . Programming And Configuring The FPGA Device : FPGA -٩اﺧﺘﺒﺎر اﻟﺪارة اﻟﻤﺼﻤﻤﺔ . Testing The Designed Circuit :
١
-١ﻣﻨﮭﺠﯿﺔ ﻧﻤﻮذﺟﯿﺔ ﻟﻨﻈﺎم Typical CAD Flow : CAD إن ﺑ ﺮاﻣﺞ اﻟﺘﺼ ﻤﯿﻢ ﺑﺎﺳ ﺘﺨﺪام اﻟﺤﺎﺳ ﺐ Computer Aided Design Softwareﺗﺴ ﮭﻞ ﻋﻤﻠﯿ ﺔ ﺗﻨﺠﯿ ﺰ اﻟ ﺪارات اﻟﻤﻨﻄﻘﯿ ﺔ اﻟﻤﻄﻠﻮﺑ ﺔ ﺑﺎﺳ ﺘﺨﺪام أﺟﮭ ﺰة اﻟﻤﻨﻄ ﻖ اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ Programmable Logic Devicesﻛﺸ ﺮاﺋﺢ ﻣﺼﻔﻮﻓﺎت اﻟﺒﻮاﺑﺎت اﻟﻘﺎﺑﻠ ﺔ ﻟﻠﺒﺮﻣﺠ ﺔ ﻓ ﻲ اﻟﺤﻘ ﻞ أو FPGAsاﺧﺘﺼ ﺎراً .ﯾﺒ ﯿﻦ اﻟﺸ ﻜﻞ ) (١ﻣﺨﻄﻄ ﺎً ﺗ ﺪﻓﻘﯿﺎً ﻧﻤﻮذﺟﯿ ﺎً ﻟﻌﻤﻠﯿﺔ ﺗﻨﺠﯿﺰ دارة رﻗﻤﯿﺔ ﻣﺎ ﺑﻮاﺳﻄﺔ ﻧﻈﺎم CADوﺑﺎﻻﻋﺘﻤﺎد ﻋﻠﻰ ﺷﺮﯾﺤﺔ . FPGA
اﻟﺸﻜﻞ ) : (١ﻣﺨﻄﻂ ﺗﺪﻓﻘﻲ ﻟﻤﺮاﺣﻞ اﻟﺘﺼﻤﯿﻢ ﺑﺎﺳﺘﺨﺪام ﻧﻈﺎم . CAD ﻛﻤﺎ ھﻮ واﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ) (١ﻓﺈن اﻟﻤﺨﻄﻂ اﻟﺘﺪﻓﻘﻲ ﯾﺘﻜﻮن ﻣﻦ اﻟﻤﺮاﺣﻞ اﻟﺘﺎﻟﯿﺔ : إدﺧ ﺎل اﻟﺘﺼ ﻤﯿﻢ ) : ( Design Entryﻓ ﻲ ھ ﺬه اﻟﻤﺮﺣﻠ ﺔ ﯾ ﺘﻢ ﺗﺤﺪﯾ ﺪ ﺧﺼ ﺎﺋﺺ اﻟ ﺪارة ﻣ ﻦ ﺧ ﻼل ﻣﺨﻄ ﻂرﺳﻮﻣﻲ ﻟﻠﺪارة Schematic Diagramأو ﺑﺎﺳﺘﺨﺪام ﻟﻐﺔ ﺗﻮﺻﯿﻒ ﻋﺘﺎدي Hardware Description Languageﻛﻠﻐﺔ VHDLﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل . اﻟﺘﺮﻛﯿﺐ ) : ( Synthesisﯾﺘﻢ ﻓﻲ ھ ﺬه اﻟﻤﺮﺣﻠ ﺔ ﺗﺮﻛﯿ ﺐ اﻟ ﺪارة اﻟﺘ ﻲ ﺗ ﻢ إدﺧ ﺎل اﻟﺘﺼ ﻤﯿﻢ اﻟﺨ ﺎص ﺑﮭ ﺎ ﻓ ﻲاﻟﻤﺮﺣﻠﺔ اﻟﺴﺎﺑﻘﺔ اﻋﺘﻤﺎداً ﻋﻠ ﻰ اﻟﻌﻨﺎﺻ ﺮ اﻟﻤﻨﻄﻘﯿ ﺔ ( LEs ) Logic Elementsاﻟﻤﻮﺟ ﻮدة داﺧ ﻞ ﺷ ﺮﯾﺤﺔ اﻟـ . FPGA اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ) : ( Functional Simulationﯾﺘﻢ ھﻨﺎ اﺧﺘﺒ ﺎر اﻟ ﺪارة اﻟﻤﺮﻛﺒ ﺔ ﻓ ﻲ اﻟﻤﺮﺣﻠ ﺔ اﻟﺴ ﺎﺑﻘﺔﻟﻠﺘﺤﻘﻖ ﻣﻦ ﺻ ﺤﺔ أداﺋﮭ ﺎ ﻟﻮﻇﺎﺋﻔﮭ ﺎ وﻟﻜ ﻦ ھ ﺬه اﻟﻤﺤﺎﻛ ﺎة ﻻ ﺗﺄﺧ ﺬ ﺑﻌ ﯿﻦ اﻻﻋﺘﺒ ﺎر اﻟﺘ ﺄﺧﯿﺮات اﻟﺰﻣﻨﯿ ﺔ اﻟﻔﻌﻠﯿ ﺔ اﻟﻨﺎﺗﺠﺔ ﻋﻦ أزﻣﻨﺔ اﻻﺳﺘﺠﺎﺑﺔ ﻟﻠﻌﻨﺎﺻﺮ اﻟﻤﻨﻄﻘﯿﺔ اﻟﻤﻜﻮﻧﺔ ﻟﻠﺪارة . ٢
-
-
-
ﺿ ﻊ اﻟﺨ ﺎص ﺑﻨﻈ ﺎم اﻟ ـ CADﻓ ﻲ ھ ﺬه اﻟﻤﺮﺣﻠ ﺔ ﺑﺘﺤﺪﯾ ﺪ أﻣ ﺎﻛﻦ ﺗﻮﺿ ﻊ اﻟﺘﻮﺿﯿﻊ ) : ( Fittingﯾﻘﻮم اﻟﻤﻮ ّ اﻟﻌﻨﺎﺻ ﺮ اﻟﻤﻨﻄﻘﯿ ﺔ LEsاﻟﻤﺤ ﺪدة ﻓ ﻲ ﻻﺋﺤ ﺔ اﻟﺘﻮﺻ ﯿﻞ Netlistأي ﻛﯿﻔﯿ ﺔ اﺳ ﺘﺨﺪام اﻟﻌﻨﺎﺻ ﺮ اﻟﻤﻨﻄﻘﯿ ﺔ اﻟﻔﻌﻠﯿﺔ ﻓﻲ ﺷﺮﯾﺤﺔ FPGAاﻟﮭﺪف .ﻓﻲ ھﺬه اﻟﻤﺮﺣﻠﺔ أﯾﻀﺎً ﯾﺘﻢ اﺧﺘﯿﺎر أﺳﻼك اﻟﺘﻮﺟﯿ ﮫ Routing Wires ﺿﻤﻦ اﻟﺸﺮﯾﺤﺔ ﻣﻦ أﺟﻞ ﺗﺤﻘﯿﻖ اﻟﻮﺻﻼت اﻟﻤﻄﻠﻮﺑﺔ ﺑﯿﻦ اﻟﻌﻨﺎﺻ ﺮ اﻟﻤﻨﻄﻘﯿ ﺔ اﻟﻔﻌﻠﯿ ﺔ اﻟﺘ ﻲ ﺗ ﻢ اﺧﺘﯿﺎرھ ﺎ ﻣ ﻦ ﻗﺒﻞ اﻟﻤﻮﺿّﻊ . اﻟﺘﺤﻠﯿ ﻞ اﻟﺰﻣﻨ ﻲ ) : ( Timing Analysisﻓ ﻲ ھ ﺬه اﻟﻤﺮﺣﻠ ﺔ ﯾ ﺘﻢ ﺗﺤﻠﯿ ﻞ أزﻣﻨ ﺔ اﻟﺘ ﺄﺧﯿﺮ اﻟﻨﺎﺟﻤ ﺔ ﻋ ﻦ ﻋﻤﻠﯿﺎت اﻧﺘﺸ ﺎر اﻹﺷ ﺎرات Propagation Delaysﻋﺒ ﺮ اﻟﻤﺴ ﺎرات اﻟﻤﺨﺘﻠﻔ ﺔ ﻓ ﻲ اﻟ ﺪارة اﻟﻔﻌﻠﯿ ﺔ اﻟﻨﺎﺟﻤ ﺔ ﻋ ﻦ اﻟﻤﺮﺣﻠ ﺔ اﻟﺴ ﺎﺑﻘﺔ ﺑﮭ ﺪف إﻋﻄ ﺎء دﻻﻻت ﻋ ﻦ اﻷداء اﻟﻤﺘﻮﻗ ﻊ ) اﻟﻤﻨﺘﻈ ﺮ ( ﻟﻠ ﺪارة Expected . Performance of the Circuit اﻟﻤﺤﺎﻛﺎة اﻟﺰﻣﻨﯿﺔ ) : ( Timing Simulationاﻟ ﺪارة اﻟﻔﻌﻠﯿ ﺔ اﻟﻨﺎﺟﻤ ﺔ ﻋ ﻦ ﻣﺮﺣﻠ ﺔ اﻟﺘﻮﺿ ﯿﻊ Fittingﯾ ﺘﻢ اﺧﺘﺒﺎرھﺎ ھﻨﺎ ﻣﻦ أﺟﻞ اﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ ﻋﻤﻠﮭﺎ و أداﺋﮭﺎ اﻟﺰﻣﻨﻲ . اﻟﺒﺮﻣﺠﺔ واﻟﻀ ﺒﻂ ) : ( Programming And Configurationﻓ ﻲ ھ ﺬه اﻟﻤﺮﺣﻠ ﺔ اﻷﺧﯿ ﺮة ﻓ ﺈن اﻟ ﺪارة اﻟﻤﺼ ﻤﻤﺔ ﯾ ﺘﻢ ﺗﻨﺠﯿﺰھ ﺎ ﻓ ﻲ ﺷ ﺮﯾﺤﺔ FPGAﻓﻌﻠﯿ ﺔ وذﻟ ﻚ ﻣ ﻦ ﺧ ﻼل ﺑﺮﻣﺠ ﺔ ﻣﻔ ﺎﺗﯿﺢ اﻟﻀ ﺒﻂ Configuration Switchesاﻟﺘ ﻲ ﺗﻀ ﺒﻂ إﻋ ﺪادات اﻟﻌﻨﺎﺻ ﺮ اﻟﻤﻨﻄﻘﯿ ﺔ LEsوﺗﻘ ﻮم ﺑﺈﻧﺸ ﺎء وﺻ ﻼت اﻻرﺗﺒﺎط اﻟﻼزﻣﺔ . Required Wiring Connections
ﻓﯿﻤﺎ ﯾﻠﻲ ،ﺳﻨﻘﻮم ﺑﻌﺮض اﻟﻤﻤﯿﺰات اﻟﺮﺋﯿﺴﯿﺔ ﻟﻠﺒﺮﻣﺠﯿﺔ Quartus IIوذﻟﻚ ﻣﻦ ﺧ ﻼل ﺗﻮﺿ ﯿﺢ ﻛﯿﻔﯿ ﺔ اﺳ ﺘﺨﺪام ھ ﺬه اﻟﺒﺮﻣﺠﯿﺔ ﻣﻦ أﺟﻞ ﺗﺼﻤﯿﻢ وﺗﻨﺠﯿﺰ دارة ﻣﻌﯿﻨﺔ ﻣﺎ اﻧﻄﻼﻗﺎً ﻣﻦ ﻟﻐﺔ اﻟﺘﻮﺻﯿﻒ اﻟﻌﺘ ﺎدي . VHDLﺳ ﻮف ﻧﻌﺘﻤ ﺪ ﻋﻠ ﻰ اﺳ ﺘﺨﺪام واﺟﮭ ﺔ اﻟﻤﺴ ﺘﺨﺪم اﻟﺮﺳ ﻮﻣﯿﺔ ) Graphical User Interfaceأو GUIاﺧﺘﺼ ﺎراً ( ﻟﺘﻨﻔﯿ ﺬ اﻟﺘﻌﻠﯿﻤ ﺎت واﻷواﻣﺮ ﺿﻤﻦ اﻟﺒﺮﻣﺠﯿﺔ . Quartus IIﻓﻲ ﻧﮭﺎﯾﺔ اﻟﺠﻠﺴﺔ ﺳﻮف ﻧﻜﻮن ﻗﺪ ﻏﻄﯿﻨﺎ اﻟﻤﻮاﺿﯿﻊ اﻟﺘﺎﻟﯿﺔ ﺑﺎﻟﺘﻔﺼﯿﻞ : -
إﻧﺸﺎء ﻣﺸﺮوع . Creating a Project - إدﺧﺎل ﺗﺼﻤﯿﻢ ﻣﺎ ﺑﺎﺳﺘﺨﺪام ﻛﻮد . Design Entry Using VHDL Code - VHDL ﺻ ﻔﺔ ﺑﻮاﺳ ﻄﺔ ﻛ ﻮد Synthesis the Circuit Specified in VHDL – VHDL ﺗﺮﻛﯿ ﺐ دارة ﻣﻮ ّ . Code ﺗﻮﺿ ﯿﻊ دارة ﻣﺮﻛّﺒ ﺔ ﻓ ﻲ ﺷ ﺮﯾﺤﺔ FPGAﻣ ﻦ ﺷ ﺮﻛﺔ Fitting a Synthesized Circuit - Altera . Into an Altera FPGA إﺳﻨﺎد ﻣ ﺪاﺧﻞ اﻟ ﺪارة وﻣﺨﺎرﺟﮭ ﺎ إﻟ ﻰ أﻗﻄ ﺎب ﻣﺤ ﺪدة ﻟﺸ ﺮﯾﺤﺔ اﻟ ـ Assigning The Circuit - FPGA . Inputs And Outputs to Specific Pins on The FPGA ﻣﺤﺎﻛﺎة اﻟﺪارة اﻟﻤﺼﻤﻤﺔ . Simulating The Designed Circuit - ﺑﺮﻣﺠ ﺔ وﺿ ﺒﻂ ﺷ ﺮﯾﺤﺔ اﻟ ـ FPGAاﻟﻤﻮﺟ ﻮدة ﻋﻠ ﻰ اﻟﺒ ﻮرد Programming And - DE2 . Configuring The FPGA Chip on Altera's DE2 Board
-٢ﺗﻤﮭﯿﺪ Getting Started : إن أﯾﺔ دارة ﻣﻨﻄﻘﯿﺔ أو دارة ﺟﺰﺋﯿﺔ Subcircuitﯾﺮاد ﺗﺼﻤﯿﻤﮭﺎ ﺑﺎﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﺗ ﺪﻋﻰ ﻣﺸ ﺮوﻋًﺎ . Projectإن اﻟﺒﺮﻣﺠﯿﺔ ﺗﻌﻤﻞ ﻓﻲ وﻗﺖ ﻣﺎ ﻋﻠﻰ ﻣﺸﺮوع واﺣﺪ وﺗﺤﻔﻆ ﻛﺎﻓﺔ اﻟﻤﻌﻠﻮﻣﺎت اﻟﻤﺘﻌﻠﻘﺔ ﺑﮭ ﺬا اﻟﻤﺸ ﺮوع ﻓ ﻲ ﻣﺠﻠ ﺪ وﺣﯿ ﺪ ) Single Directory ( or Folderﻓ ﻲ ﻧﻈ ﺎم اﻟﻤﻠﻔ ﺎت . File Systemﻟﺒ ﺪء ﺗﺼ ﻤﯿﻢ ﺟﺪﯾ ﺪ ﻟ ﺪارة ﻣﻨﻄﻘﯿﺔ ﻣﺎ ﻓﺈن اﻟﺨﻄﻮة اﻷوﻟﻰ ھﻲ إﻧﺸﺎء ﻣﺠﻠﺪ ﺧﺎص ﺑﮭﺬا اﻟﻤﺸﺮوع ﻟﺤﻔﻆ ﻣﻠﻔﺎﺗﮫ داﺧﻠ ﮫ .ﻟﺘﺨ ﺰﯾﻦ ﻣﻠﻔ ﺎت اﻟﺘﺼ ﻤﯿﻢ ﻓ ﻲ ھ ﺬه اﻟﺠﻠﺴ ﺔ ﺳ ﻮف ﻧﻨﺸ ﺊ ﻣﺠﻠ ﺪاً ﺟﺪﯾ ﺪاً اﺳ ﻤﮫ MyFirstProjectﻋﻠ ﻰ ﺳ ﺒﯿﻞ اﻟﻤﺜ ﺎل ﺿ ﻤﻦ اﻟﺴ ﻮاﻗﺔ Dﻣ ﻦ اﻟﻘﺮص اﻟﺼﻠﺐ وﺑﺎﻟﺘﺎﻟﻲ ﺳﯿﻜﻮن ﻣﺴﺎر ﻣﺠﻠﺪ اﻟﻤﺸﺮوع ھﻮ . D:\MyFirstProject : اﻟﻤﺜ ﺎل اﻟﺘﻄﺒﯿﻘ ﻲ اﻟ ﺬي ﺳﻨﺴ ﺘﺨﺪﻣﮫ ﺧ ﻼل ﻣﺮاﺣ ﻞ اﻟﺘﺼ ﻤﯿﻢ ھ ﻮ دارة ﺑﺴ ﯿﻄﺔ ﻟﻠ ﺘﺤﻜﻢ ﺑﺈﺿ ﺎءة ﻣﺼ ﺒﺎح ﻋ ﻦ ﻃﺮﯾ ﻖ ﻣﻔﺘﺎﺣﯿﻦ اﺛﻨﯿﻦ ) Two-Way Light Controller Circuitأو ﻣﺎ ﯾﻌﺮف اﺧﺘﺼﺎراً ﺑﺎﺳﻢ . ( TWLC ﻧﻘﻮم ﺑﺘﺸﻐﯿﻞ اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﻣﻦ ﺧﻼل اﻟﻨﻘﺮ ﻋﻠ ﻰ زر Startﻓ ﻲ ﺷ ﺮﯾﻂ اﻟﻤﮭ ﺎم وﻣ ﻦ ﺛ ﻢ اﺧﺘﯿ ﺎر اﻟﻤﺴ ﺎر : All Programs - Altera - Quartus II 9.1 SP1 Web Edition - Quartus II 9.1 SP1 Web ٣
Editionﻋﻨ ﺪھﺎ ﺳ ﻮف ﺗُﻘﻠِ ﻊ اﻟﺒﺮﻣﺠﯿ ﺔ ) ﺗﺒ ﺪأ اﻟﻌﻤ ﻞ ( وﺗﻈﮭ ﺮ ﻋﻨ ﺪھﺎ اﻟﻨﺎﻓ ﺬة اﻟﺮﺋﯿﺴ ﯿﺔ ﻟﻠﺒﺮﻣﺠﯿ ﺔ Quartus اﻟﻤﻮﺿﺤﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٢
اﻟﺸﻜﻞ ) : (٢اﻟﻨﺎﻓﺬة اﻟﺮﺋﯿﺴﯿﺔ ﻟﻠﺒﺮﻣﺠﯿﺔ ) Quartus IIاﻹﺻﺪار . ( 9.1 SP1 ﺗﺤﺘﻮي اﻟﻨﺎﻓﺬة اﻟﺮﺋﯿﺴﯿﺔ ﻋﺪة ﻧﻮاﻓﺬ ﺿﻤﻨﯿﺔ ) واﻟﺘﻲ ﯾﻤﻜﻦ إﺧﻔﺎؤھﺎ أو إﻇﮭﺎرھﺎ ﻣﻦ ﺧﻼل اﻟﺬھﺎب إﻟﻰ اﻟﻘﺎﺋﻤ ﺔ View ﻓ ﻲ ﺷ ﺮﯾﻂ اﻟﻘ ﻮاﺋﻢ وﻣ ﻦ ﺛ ﻢ . ( Utility Windowsﺗﺘ ﯿﺢ ھ ﺬه اﻟﻨﻮاﻓ ﺬ اﻟﻀ ﻤﻨﯿﺔ اﻟﻮﺻ ﻮل إﻟ ﻰ ﻣﺰاﯾ ﺎ و إﻣﻜﺎﻧﯿ ﺎت اﻟﺒﺮﻣﺠﯿﺔ Quartus IIاﻋﺘﻤﺎداً ﻋﻠﻰ اﻟﺘﺤﺪﯾﺪ واﻟﻨﻘﺮ ﺑﺸﻜﻞ ﻣﻨﻔﺮد أو ﻣﺰدوج ﻋﻠﻰ اﻟﺰر اﻷﯾﺴﺮ ) أو اﻷﯾﻤﻦ ﻟﻠﻔ ﺄرة ( إن أﻏﻠﺐ اﻷواﻣﺮ واﻟﺘﻌﻠﯿﻤﺎت Commandsاﻟﻤﺘﺎﺣ ﺔ ﻓ ﻲ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﯾﻤﻜ ﻦ اﻟﻮﺻ ﻮل إﻟﯿﮭ ﺎ ﻣ ﻦ ﺧ ﻼل ﻣﺠﻤﻮﻋﺔ ﻣﻦ اﻟﻘﻮاﺋﻢ اﻟﻤﺘﻮﺿﻌﺔ ﻣﺒﺎﺷﺮةً ﺗﺤﺖ ﺷﺮﯾﻂ اﻟﻌﻨﻮان ﻟﻠﻨﺎﻓﺬة اﻟﺮﺋﯿﺴﯿﺔ .ﻋﻠﻰ ﺳ ﺒﯿﻞ اﻟﻤﺜ ﺎل ،ﻓ ﻲ اﻟﺸ ﻜﻞ )(٢ اﻟﻨﻘﺮ ﺑﺎﻟﺰر اﻷﯾﺴﺮ ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ اﻟﻤﺴﻤﺎة Fileﯾﻔﺘﺢ اﻟﻘﺎﺋﻤﺔ اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )، (٣
اﻟﺸﻜﻞ ) : (٣ﻣﺜﺎل ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ . File ٤
إن اﻟﻨﻘﺮ ﻋﻠﻰ اﻷﻣﺮ Exitﻣﻦ ھﺬه اﻟﻘﺎﺋﻤ ﺔ ﺑﻮاﺳ ﻄﺔ اﻟ ﺰر اﻷﯾﺴ ﺮ ﻟﻠﻔ ﺄرة ﯾﻜ ﺎﻓﺊ ﺗﻤﺎﻣ ﺎً اﻟﻀ ﻐﻂ ﺑﺸ ﻜﻞ ﻣﺘ ﺰاﻣﻦ ﻋﻠ ﻰ اﻟﻤﻔﺘﺎﺣﯿﻦ Altو F4ﺑﺤﯿﺚ أن أﯾﺎً ﻣﻦ اﻟﺨﯿﺎرﯾﻦ ﺳ ﯿﺆدي إﻟ ﻰ إﯾﻘ ﺎف ﺗﺸ ﻐﯿﻞ اﻟﺒﺮﻣﺠﯿ ﺔ ) Quartus IIأي اﻟﺨ ﺮوج ﻣﻦ اﻟﺒﺮﻧﺎﻣﺞ ﺑﺸﻜﻞ ﻧﮭﺎﺋﻲ ( !!! ﺑﺸ ﻜﻞ ﻋ ﺎم ،ﻋﻨ ﺪ اﺳ ﺘﺨﺪام اﻟﻔ ﺄرة ﻟﺘﺤﺪﯾ ﺪ ﺷ ﻲء ﻣ ﺎ ﻓ ﺈن اﻟ ﺰر اﻷﯾﺴ ﺮ ﻏﺎﻟﺒ ﺎً ھ ﻮ اﻟﻤﺴ ﺘﺨﺪم وﺑﺎﻟﺘ ﺎﻟﻲ ﻓﺈﻧﻨ ﺎ ﻟ ﻦ ﻧﺤ ﺪد ﺑﺎﻟﻀﺮورة أي زر ﻣﻦ اﻟﻔﺄرة ﺳﻮف ﻧﻀﻐﻂ .ﻓﻲ ﺑﻀﻌﺔ ﺣﺎﻻت وﻋﻨﺪﻣﺎ ﯾﻜﻮن ﻣﻦ اﻟﻀﺮوري اﺳﺘﺨﺪام اﻟﺰر اﻷﯾﻤﻦ ﻟﻠﻔﺄرة ﻓﺈﻧﻨﺎ ﺳﻨﻮﺿﺢ ذﻟﻚ ﺑﺸﻜﻞ ﺻﺮﯾﺢ وواﺿﺢ . ﻣﻦ أﺟﻞ ﺑﻌﺾ اﻷواﻣﺮ /اﻟﺘﻌﻠﯿﻤﺎت ﯾﻜﻮن ﻣﻦ اﻟﻀﺮوري اﻟﻮﻟﻮج إﻟﻰ ﻗﺎﺋﻤﺘﯿﻦ أو أﻛﺜﺮ ﻋﻠ ﻰ اﻟﺘﺘ ﺎﺑﻊ ) ﻗﺎﺋﻤ ﺔ رﺋﯿﺴ ﯿﺔ وﻣﻦ ﺛﻢ ﺿﻤﻨﮭﺎ ﻗﺎﺋﻤﺔ ﻓﺮﻋﯿﺔ أﺧﺮى ( .ﻓﻲ ﺣﺎﻟﺔ ﻛﮭ ﺬه ﺳ ﻮف ﻧﺴ ﺘﺨﺪم اﻻﺻ ﻄﻼح Menu1 > Menu2 > Item ﻟﺘﻮﺿ ﯿﺢ أن ﻋﻠ ﻰ اﻟﻤﺴ ﺘﺨﺪم أن ﯾﻨﻘ ﺮ أوﻻً ﺑﺎﺳ ﺘﺨﺪام اﻟ ﺰر اﻷﯾﺴ ﺮ ﻟﻠﻔ ﺄرة ﻋﻠ ﻰ اﻟﻘﺎﺋﻤ ﺔ اﻟﻤﺴ ﻤﺎة Menu1وﻣ ﻦ ﺛ ﻢ وداﺧﻞ ھﺬه اﻟﻘﺎﺋﻤﺔ ﻋﻠﯿﮫ أن ﯾﻨﻘﺮ ﻋﻠﻰ اﻟﻘﺎﺋﻤﺔ اﻟﻔﺮﻋﯿﺔ اﻟﻤﺴﻤﺎة Menu2وأﺧﯿﺮاً وﺿ ﻤﻦ اﻟﻘﺎﺋﻤ ﺔ اﻟﻔﺮﻋﯿ ﺔ Menu2 ﻋﻠﯿﮫ أن ﯾﻨﻘ ﺮ ﻋﻠ ﻰ اﻟﺒﻨ ﺪ اﻟﻤﺴ ﻤﻰ Itemوذﻟ ﻚ ﻣ ﻦ أﺟ ﻞ ﻃﻠ ﺐ ﺗﻨﻔﯿ ﺬ اﻟﺘﻌﻠﯿﻤ ﺔ اﻟﻤﺮﻏﻮﺑ ﺔ .ﻋﻠ ﻰ ﺳ ﺒﯿﻞ اﻟﻤﺜ ﺎل وﻛﻤ ﺎ ﻧﻮھﻨﺎ ﻗﺒﻞ ﻗﻠﯿﻞ ﻓﺈن اﺧﺘﯿﺎر File > Exitﺑﻮاﺳﻄﺔ اﻟﻔﺄرة ﯾﺆدي إﻟﻰ اﻟﺨﺮوج ﻣﻦ اﻟﺒﺮﻣﺠﯿﺔ . Quartus II إن ﻋ ﺪة ﺗﻌﻠﯿﻤ ﺎت ﯾﻤﻜ ﻦ ﻃﻠ ﺐ ﺗﻨﻔﯿ ﺬھﺎ ﻣ ﻦ ﺧ ﻼل اﻟﻨﻘ ﺮ ﺑﻮاﺳ ﻄﺔ اﻟ ﺰر اﻷﯾﺴ ﺮ ﻟﻠﻔ ﺄرة ﻋﻠ ﻰ أﯾﻘﻮﻧ ﺎت ﺧﺎﺻ ﺔ ﺑﮭ ﺬه اﻟﺘﻌﻠﯿﻤﺎت وﻣﺘﻮﺿﻌﺔ ﻓﻲ أﺣﺪ أﺷﺮﻃﺔ اﻷدوات .ﻟﺮؤﯾﺔ وﻣﻌﺮﻓﺔ اﻟﺘﻌﻠﯿﻤﺔ اﻟﻤﻘﺮوﻧﺔ ﺑﺄﯾﻘﻮﻧ ﺔ ﻣ ﺎ ﯾﻤﻜ ﻦ ﺗﻮﺿ ﯿﻊ ﻣﺆﺷ ﺮ اﻟﻔﺄرة Mouse Cursorﻋﻠﻰ اﻷﯾﻘﻮﻧﺔ واﻻﻧﺘﻈ ﺎر ﻟﻠﺤﻈ ﺔ ﻟﯿﻈﮭ ﺮ ﻋﻨ ﺪھﺎ ﺗﻠﻤ ﯿﺢ ﻋ ﻦ اﻷداة أو وﻇﯿﻔ ﺔ اﻷﯾﻘﻮﻧ ﺔ ) ﻣ ﺎ ﯾﻌﺮف ﻋﺎدةً ﺑﺎﺳﻢ . ( Tooltip -١-٢اﻟﻤﺴﺎﻋﺪة ﻋﻦ ﻃﺮﯾﻖ اﻹﻧﺘﺮﻧﯿﺖ ﺿﻤﻦ اﻟﺒﺮﻣﺠﯿﺔ Quartus II Online Help : Quartus II ﺗﻘﺪم اﻟﺒﺮﻣﺠﯿﺔ Quartus IIوﺛﺎﺋﻖ وﻣﺮاﺟ ﻊ ﻣﻔﺼ ﻠﺔ ﻋ ﻦ ﻃﺮﯾ ﻖ ﺷ ﺒﻜﺔ اﻹﻧﺘﺮﻧﯿ ﺖ Comprehensive Online . Documentationھﺬه اﻟﻮﺛﺎﺋﻖ ﺗﺘﻀﻤﻦ اﻹﺟﺎﺑﺔ ﻋﻠﻰ ﻋﺪد ﻛﺒﯿﺮ ﻣﻦ اﻷﺳﺌﻠﺔ اﻟﺘﻲ ﯾﻤﻜﻦ أن ﺗﺘﺒﺎدر إﻟﻰ اﻟﺬھﻦ ﻋﻨ ﺪ اﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿﺔ . Quartus IIﯾﻤﻜﻦ اﻟﻮﺻﻮل إﻟﻰ ھ ﺬه اﻟﻮﺛ ﺎﺋﻖ ﻣ ﻦ ﺧ ﻼل اﻟﻘﺎﺋﻤ ﺔ . Helpﻟﺘﻜ ﻮﯾﻦ ﻓﻜ ﺮة ﻋﺎﻣ ﺔ ﻋﻦ ﻣﺪى اﺗﺴﺎع وﻏﺰارة اﻟﻤﻌﻠﻮﻣﺎت اﻟﺘﻲ ﯾﻤﻜﻦ اﻟﺮﺟﻮع إﻟﯿﮭﺎ ﻋﻦ ﻃﺮﯾﻖ ھﺬه اﻟﻮﺛﺎﺋﻖ ﻣﻦ اﻟﻤﻔﯿﺪ ﻟﻠﻄﺎﻟﺐ اﺳﺘﻌﺮاض ھ ﺬه اﻟﻮﺛ ﺎﺋﻖ ﻋ ﻦ ﻃﺮﯾ ﻖ اﻟﻘﺎﺋﻤ ﺔ . Helpﻋﻠ ﻰ ﺳ ﺒﯿﻞ اﻟﻤﺜ ﺎل ،ﺑﺎﺧﺘﯿ ﺎر Help > How to Use Helpﯾﻤﻜ ﻦ اﻻﻃﻼع ﻋﻠﻰ ﻧﻮع اﻟﻤﺴﺎﻋﺪة واﻟﺪﻋﻢ اﻟﻤﻘﺪﻣﺎن ﻣﻦ ﺧﻼل اﻟﻘﺎﺋﻤﺔ . Help ﯾﻤﻜﻦ ﻟﻠﻤﺴﺘﺨﺪم ﺑﺎﻟﻄﺒﻊ اﻟﺒﺤﺚ ﺑﺴﺮﻋﺔ ﺿﻤﻦ ﻣﻮﺿﻮﻋﺎت اﻟﻤﺴﺎﻋﺪة Helpﺑﺎﺧﺘﯿﺎر Help > Searchاﻷﻣﺮ اﻟ ﺬي ﯾﺆدي إﻟﻰ ﻇﮭﻮر ﻧﺎﻓﺬة ﻣﺴﺘﻌﺮض اﻹﻧﺘﺮﻧﯿﺖ اﻻﻓﺘﺮاﺿﻲ Default Internet Explorerوﺑﺪاﺧﻠﮭﺎ أداة ﺑﺤﺚ ﻋ ﻦ اﻟﻜﻠﻤﺎت اﻟﻤﻔﺘﺎﺣﯿﺔ Key Wordsاﻟﺘﻲ ﯾﻤﻜﻦ إدﺧﺎل ﻛﻠﻤ ﺔ ﻣ ﺎ ﻣﻨﮭ ﺎ وﻣ ﻦ ﺛ ﻢ اﻟﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر Goأو اﻟﻀ ﻐﻂ ﻋﻠ ﻰ اﻟﻤﻔﺘﺎح Enterﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻛﺎﻓﺔ اﻟﻤﻮﺿﻮﻋﺎت ذات اﻟﺼﻠﺔ ﺑﺎﻟﻜﻠﻤﺔ اﻟﻤﻔﺘﺎﺣﯿﺔ اﻟﺘﻲ ﺗﻢ إدﺧﺎﻟﮭﺎ . ھﻨﺎك ﻃﺮﯾﻘﺔ أﺧﺮى ﻣﺰودة ﻟﻠﺤﺼﻮل ﻋﻠﻰ اﻟﻤﺴﺎﻋﺪة ﻓﻲ اﻟﺒﺮﻣﺠﯿﺔ Quartus IIوھﻲ اﻟﻤﺴﺎﻋﺪة اﻟﻤﺘﺤﺴﺴﺔ ﻟﻠﺴ ﯿﺎق Context-Sensitive Helpوذﻟ ﻚ ﻣ ﻦ أﺟ ﻞ اﻟﻌﺜ ﻮر ﺑﺴ ﺮﻋﺔ ﻋﻠ ﻰ ﻣﻌﻠﻮﻣ ﺎت ﺗﺘﻌﻠ ﻖ ﺑﻤﻮﺿ ﻮﻋﺎت ﻣﻌﯿﻨ ﺔ .ﻋﻨ ﺪ اﺳﺘﺨﺪام أﻏﻠﺐ اﻟﺘﻄﺒﯿﻘﺎت ﻓﺈن اﻟﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺘﺎح اﻟﻮﻇﯿﻔﻲ F1ﻋﻠ ﻰ ﻟﻮﺣ ﺔ ﻣﻔ ﺎﺗﯿﺢ اﻟﺤﺎﺳ ﺐ ﯾﻔ ﺘﺢ ﻧﺎﻓ ﺬة اﻟﻤﺴ ﺎﻋﺪة اﻟﺘﻲ ﺗﻌﺮض اﻟﺘﻌﻠﯿﻤﺎت اﻟﻤﺘﺎﺣﺔ ﺿﻤﻦ ھﺬا اﻟﺘﻄﺒﯿﻖ . -٣ﺑﺪء ﻣﺸﺮوع ﺟﺪﯾﺪ Starting a New Project : ﻟﻠﺒﺪء ﺑﺎﻟﻌﻤ ﻞ ﻋﻠ ﻰ ﺗﺼ ﻤﯿﻢ ﺟﺪﯾ ﺪ ﯾﺘﻮﺟ ﺐ ﻋﻠﯿﻨ ﺎ أوﻻً ﺗﺤﺪﯾ ﺪ ﻣﺸ ﺮوع ﺗﺼ ﻤﯿﻢ ﺟﺪﯾ ﺪ . New Design Projectإن اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﺗﺠﻌﻞ ﻣﮭﻤﺔ اﻟﻤﺼﻤﻢ ﺳﮭﻠﺔ ﺑﺘﻘﺪﯾﻢ اﻟﺪﻋﻢ ﻋﻠﻰ ﺷﻜﻞ ﻣﻌﺎﻟﺞ . Wizardﯾﻤﻜﻨﻨﺎ إﻧﺸﺎء ﻣﺸﺮوع ﺟﺪﯾﺪ ﻛﻤﺎ ﯾﻠﻲ : -١ﻧﺨﺘ ﺎر … File > New Project Wizardﻟﻠﺤﺼ ﻮل ﻋﻠ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﻮﺿ ﺤﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) (٤اﻟﺘ ﻲ ﺗﻮﺿ ﺢ إﻣﻜﺎﻧﯿﺎت ھﺬا اﻟﻤﻌﺎﻟﺞ .ﺑﺈﻣﻜﺎﻧﻨﺎ ﺗﺠ ﺎوز ھ ﺬه اﻟﻨﺎﻓ ﺬة ﻓ ﻲ اﻟﻤﺸ ﺎرﯾﻊ اﻟﻼﺣﻘ ﺔ اﻷﺧ ﺮى ﻣ ﻦ ﺧ ﻼل وﺿ ﻊ إﺷ ﺎرة √ ﻓ ﻲ اﻟﺼ ﻨﺪوق اﻟﺼ ﻐﯿﺮ اﻟﻔ ﺎرغ ﺑﺠﺎﻧ ﺐ اﻟﻌﺒ ﺎرة . Don't show me this introduction again :ﻧﻨﻘ ﺮ اﻵن ﻋﻠ ﻰ اﻟﺰر Nextﻟﻼﻧﺘﻘﺎل إﻟﻰ اﻟﻨﺎﻓﺬة اﻟﻤﻮﺿﺤﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٥ ٥
اﻟﺸﻜﻞ ) : (٤اﻟﻤﮭﺎم اﻟﻤﻨﺠﺰة ﺑﻮاﺳﻄﺔ ﻣﻌﺎﻟﺞ ﻣﺸﺮوع ﺟﺪﯾﺪ .
اﻟﺸﻜﻞ ) : (٥إﻧﺸﺎء ﻣﺸﺮوع ﺟﺪﯾﺪ . -٢ﻛﻤﺎ ھﻮ واﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ) (٥ﺳﻮف ﻧﻘﻮم ﺑﻀﺒﻂ ﻣﺠﻠﺪ اﻟﻌﻤﻞ ﻟﻠﻤﺸﺮوع Working Directoryوﻓﻖ اﻟﻤﺴ ﺎر اﻟﺘﺎﻟﻲ D:\introtutorial :أي ﺳ ﯿﻜﻮن اﻟﻤﺠﻠ ﺪ introtutorialﺿ ﻤﻦ اﻟﺴ ﻮاﻗﺔ Dﻣ ﻦ اﻟﻘ ﺮص اﻟﺼ ﻠﺐ ھ ﻮ ﻣﺠﻠ ﺪ اﻟﻤﺸﺮوع .ﯾﻤﻜﻨﻨﺎ ﺑﺎﻟﻄﺒﻊ اﺧﺘﯿﺎر اﺳﻢ آﺧﺮ ﻟﻤﺠﻠﺪ اﻟﻤﺸﺮوع أو ﻣﺴﺎر آﺧﺮ ﻟﻤﺠﻠﺪ اﻟﻌﻤﻞ دون أﯾﺔ ﻗﯿﻮد .إن اﻟﻤﺸﺮوع ﯾﺠﺐ أن ﯾﻤﺘﻠﻚ اﺳﻤﺎً واﻟﺬي ﯾﻜﻮن ﻋﺎدةً ﻣﻄﺎﺑﻘﺎً ﻻﺳﻢ ﻛﯿﺎن اﻟﺘﺼ ﻤﯿﻢ ذي اﻟﻤﺴ ﺘﻮى اﻷﻋﻠ ﻰ Top-Level Design Entityاﻟﺬي ﺳﻮف ﯾ ﺘﻢ إﺿ ﺎﻓﺘﮫ إﻟ ﻰ اﻟﻤﺸ ﺮوع .ﺳ ﻨﺨﺘﺎر اﻻﺳ ﻢ lightﻛﺎﺳ ﻢ ﻟﻠﻤﺸ ﺮوع وﻟﻜﯿ ﺎن اﻟﻤﺴ ﺘﻮى اﻷﻋﻠ ﻰ Top-Level Entityﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ). (٥ ﻧﻀ ﻐﻂ اﻵن ﻋﻠ ﻰ اﻟ ﺰر > . Nextﺑﻤ ﺎ أﻧﻨ ﺎ ﻟ ﻢ ﻧﺨﻠ ﻖ ﺑﻌ ﺪ اﻟﻤﺠﻠ ﺪ introtutorialﻓ ﺈن اﻟﺒﺮﻣﺠﯿ ﺔ Quartus II ﺳﺘﻈﮭﺮ اﻟﺼﻨﺪوق اﻟﻤﻨﺒﺜﻖ Pop-Up Boxاﻟﻤﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ) (٦واﻟﺬي ﯾﻄﻠﺐ ﺗﺄﻛﯿﺪ رﻏﺒﺘﻨ ﺎ ﻓ ﻲ ﺧﻠ ﻖ ھ ﺬا اﻟﻤﺠﻠ ﺪ اﻟﻤﻄﻠﻮب .ﻧﻀﻐﻂ ﻋﻠﻰ اﻟﺰر Yesاﻷﻣﺮ اﻟﺬي ﯾﻘﻮدﻧﺎ إﻟﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٧ ٦
اﻟﺸﻜﻞ ) : (٦ﺗﺴﺘﻄﯿﻊ اﻟﺒﺮﻣﺠﯿﺔ Quartus IIإﻧﺸﺎء ﻣﺠﻠﺪ ﺟﺪﯾﺪ ﻣﻦ أﺟﻞ اﻟﻤﺸﺮوع .
اﻟﺸﻜﻞ ) : (٧ﺑﺈﻣﻜﺎن اﻟﻤﻌﺎﻟﺞ أن ﯾﻘﻮم ﺑﺈﺿﺎﻓﺔ ﻣﻠﻔﺎت ﺗﺼﻤﯿﻢ ﻣﺤﺪدة ﻣﻦ ﻗﺒﻞ اﻟﻤﺴﺘﺨﺪم . -٣ﯾﺴ ﮭﻞ ﻣﻌ ﺎﻟﺞ إﻧﺸ ﺎء ﻣﺸ ﺮوع ﺗﺼ ﻤﯿﻢ ﺟﺪﯾ ﺪ ﻣﮭﻤ ﺔ ﺗﺤﺪﯾ ﺪ اﻟﻤﻠﻔ ﺎت اﻟﻤﻮﺟ ﻮدة ﺳ ﻠﻔﺎً واﻟﺘ ﻲ ﯾ ﺮاد إﺿ ﺎﻓﺘﮭﺎ إﻟ ﻰ اﻟﻤﺸﺮوع .ﻓﻲ ﺣﺎﻟﺘﻨﺎ ھﺬه و ﺑﺎﻋﺘﺒﺎر أﻧﮫ ﻻ ﺗﻮﺟﺪ ﻟ ﺪﯾﻨﺎ أﯾ ﺔ ﻣﻠﻔ ﺎت ﻣﻮﺟ ﻮدة ﺳ ﻠﻔﺎً ﻓﺈﻧﻨ ﺎ ﺳ ﻨﺘﺎﺑﻊ اﻟﻌﻤ ﻞ ﺑﺎﻟﻀ ﻐﻂ ﻋﻠ ﻰ اﻟﺰر > Nextاﻷﻣﺮ اﻟﺬي ﯾﻘﻮدﻧﺎ إﻟﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٨
اﻟﺸﻜﻞ ) : (٨اﺧﺘﯿﺎر ﻋﺎﺋﻠﺔ ﺟﮭﺎز اﻟـ FPGAواﻟﺠﮭﺎز اﻟﻤﻄﻠﻮب وھﻮ . EP2C35F672C6 ٧
-٤ﯾﺘﻮﺟﺐ ﻋﻠﯿﻨ ﺎ اﻵن ﺗﺤﺪﯾ ﺪ ﻧ ﻮع ﺟﮭ ﺎز اﻟ ـ FPGAاﻟ ﺬي ﺳ ﻮف ﺗﻨﺠ ﺰ اﻟ ﺪارة اﻟﻤﻄﻠ ﻮب ﺗﺼ ﻤﯿﻤﮭﺎ داﺧﻠ ﮫ .ﻟ ﺬﻟﻚ ﻧﺨﺘ ﺎر أوﻻً اﻟﻌﺎﺋﻠ ﺔ Cyclone™ IIﻷﻧﮭ ﺎ ﺗﻤﺜ ﻞ ﻋﺎﺋﻠ ﺔ اﻟﺠﮭ ﺎز اﻟﻤﺮﻛ ﺐ ﻋﻠ ﻰ اﻟﺒ ﻮرد ) DE2ﻣ ﻦ ﺧ ﻼل اﻟﻘﺎﺋﻤ ﺔ اﻟﻤﻨﺴﺪﻟﺔ . ( Familyﻣﻦ ﺛﻢ ﯾﻤﻜﻨﻨﺎ أن ﻧﺠﻌﻞ اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﺗﺨﺘﺎر ﺟﮭﺎزاً ﻣﺤﺪداً ﺿﻤﻦ ھﺬه اﻟﻌﺎﺋﻠ ﺔ أو أن ﻧﻘ ﻮم ﻧﺤ ﻦ ﺑﺄﻧﻔﺴ ﻨﺎ ﺑﺎﺧﺘﯿ ﺎر اﻟﺠﮭ ﺎز اﻟﻤﻄﻠ ﻮب ﺑﺄﻧﻔﺴ ﻨﺎ ﺑﺸ ﻜﻞ ﺻ ﺮﯾﺢ .ﻓ ﻲ ﺣﺎﻟﺘﻨ ﺎ ھ ﺬه ﺑ ﺎﻟﻄﺒﻊ ﯾﺠ ﺐ اﺧﺘﯿ ﺎر اﻟﺠﮭ ﺎز اﻟﻤﺮﻛ ﺐ ﻋﻠ ﻰ اﻟﺒ ﻮرد ) DE2وھ ﻮ اﻟﺠﮭ ﺎز ذي اﻻﺳ ﻢ ( EP2C35F672C6ﻟﯿﻜ ﻮن اﻟﺠﮭ ﺎز اﻟﮭ ﺪف Target . Deviceﻟ ﺬﻟﻚ ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ Available Devicesﻧﺨﺘ ﺎر اﻟﺠﮭ ﺎز EP2C35F672C6ﺑ ﺎﻟﻨﻘﺮ ﻋﻠﯿ ﮫ وﻣ ﻦ ﺛ ﻢ ﻧﻀﻐﻂ ﻋﻠﻰ اﻟﺰر > Nextاﻷﻣﺮ اﻟﺬي ﯾﻘﻮدﻧﺎ إﻟﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٩
اﻟﺸﻜﻞ ) : (٩أدوات ) EDA ( Electronic Design Automationأﺧﺮى ﯾﻤﻜﻦ ﺗﺤﺪﯾﺪھﺎ . -٥ﺑﺈﻣﻜ ﺎن اﻟﻤﺴ ﺘﺨﺪم ھﻨ ﺎ ﺗﺤﺪﯾ ﺪ أدوات EDAأﺧ ﺮى ) . ( Third-Party Toolsھ ﺬا اﻟﻤﺼ ﻄﻠﺢ ھ ﻮ ﺗﻌﺒﯿ ﺮ ﻣﺨﺘﺼ ﺮ ﺷ ﺎﺋﻊ ﻟﺒﺮﻣﺠﯿ ﺎت اﻟﺘﺼ ﻤﯿﻢ ﺑﺎﺳ ﺘﺨﺪام اﻟﺤﺎﺳ ﺐ CAD Softwareﻣ ﻦ أﺟ ﻞ اﻟ ﺪارات اﻻﻟﻜﺘﺮوﻧﯿ ﺔ Electronic Circuitsإذ ﯾﻄﻠ ﻖ ﻋﻠ ﻰ ھ ﺬه اﻟﺒﺮﻣﺠﯿ ﺎت اﺳ ﻢ . EDA Toolsواﻻﺧﺘﺼ ﺎر EDAﻧﻔﺴ ﮫ ﯾﻌﻨ ﻲ أﺗﻤﺘﺔ اﻟﺘﺼﻤﯿﻢ اﻻﻟﻜﺘﺮوﻧﻲ . Electronic Design Automationھﺬا اﻟﻤﺼﻄﻠﺢ ﻣﺴ ﺘﺨﺪم ﻓ ﻲ رﺳ ﺎﺋﻞ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIواﻟﺘﻲ ﺗﺸﯿﺮ إﻟﻰ أدوات ﺑﺮﻣﺠﯿﺔ ﻣﻄﻮرة ﻣﻦ ﻗﺒﻞ ﺷﺮﻛﺎت أﺧﺮى ) أو ﻣﺎ ﯾﺴ ﻤﻰ أدوات ﻃ ﺮف ﺛﺎﻟ ﺚ / ﺴ ﻮﱠﻗﺔ ﻣ ﻦ ﻗﺒ ﻞ ﺷ ﺮﻛﺎت أﺧ ﺮى ﻏﯿ ﺮ ﺷ ﺮﻛﺔ آﺧﺮ ( Third-Party Toolsواﻟﺘﻲ ﺗﻤﺜ ﻞ أدوات ﺑﺮﻣﺠﯿ ﺔ ﻣﻄ ﻮرة وﻣُ َ . Alteraﺑﻤ ﺎ أﻧﻨ ﺎ ﺳ ﻨﻌﺘﻤﺪ ﻓﻘ ﻂ ﻋﻠ ﻰ أدوات اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﻓﺈﻧﻨ ﺎ ﻟ ﻦ ﻧﻘ ﻮم ﺑﺎﺧﺘﯿ ﺎر أي أدوات ﺧﺎرﺟﯿ ﺔ أﺧﺮى .اﻵن ﯾﻜﻔﻲ اﻟﻀﻐﻂ ﺑﺒﺴﺎﻃﺔ ﻋﻠﻰ اﻟﺰر > . Next -٦اﻟﺸﻜﻞ ) (١٠ﯾﺒﯿﻦ اﻟﻨﺎﻓﺬة اﻟﺘﻲ ﺗﻌﺮض ﺧﻼﺻﺔ اﻹﻋﺪادات اﻟﺘ ﻲ ﻗﻤﻨ ﺎ ﺑﮭ ﺎ ﻓ ﻲ اﻟﺨﻄ ﻮات اﻟﺴ ﺎﺑﻘﺔ .ﻧﻀ ﻐﻂ ﺣﺎﻟﯿ ًﺎ ﻋﻠ ﻰ اﻟ ﺰر Finishﻣﻤ ﺎ ﯾﻌﯿ ﺪﻧﺎ إﻟ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﺮﺋﯿﺴ ﯿﺔ ﻟﻠﺒﺮﻣﺠﯿ ﺔ Quartus IIﻣ ﻊ ﻣﻼﺣﻈ ﺔ أن اﻟﻤﺸ ﺮوع اﻟﺠﺪﯾ ﺪ اﻟﺤ ﺎﻟﻲ اﻟ ﺬي ﺗ ﻢ إﻧﺸ ﺎؤه واﻟ ﺬي ﯾﺤﻤ ﻞ اﻻﺳ ﻢ lightھ ﻮ اﻟﻤﺸ ﺮوع اﻟ ﺬي ﺗﻌﻤ ﻞ ﻋﻠﯿ ﮫ ﺣﺎﻟﯿ ﺎً اﻟﺒﺮﻣﺠﯿ ﺔ Quartus II وﯾﻤﻜﻦ اﻟﺘﺄﻛﺪ ﻣﻦ ذﻟﻚ ﺑﻤﻼﺣﻈﺔ ﻣﺴ ﺎر اﻟﻤﺸ ﺮوع ) lightوھ ﻮ اﻟﻤﺴ ﺎر ( D:\introtutorial\lightﺿ ﻤﻦ ﺷ ﺮﯾﻂ اﻟﻌﻨﻮان ﻓﻲ اﻟﻨﺎﻓﺬة اﻟﻤﻮﺿﺤﺔ ﻓﻲ اﻟﺸﻜﻞ ). (١١
٨
اﻟﺸﻜﻞ ) : (١٠ﺧﻼﺻﺔ ﻋﻦ إﻋﺪادات اﻟﻤﺸﺮوع .
اﻟﺸﻜﻞ ) : (١١اﻟﻨﺎﻓﺬة اﻟﺮﺋﯿﺴﯿﺔ ﻟﻠﺒﺮﻣﺠﯿﺔ Quartus IIﻣﻊ اﻟﻤﺸﺮوع اﻟﺠﺪﯾﺪ lightاﻟﺬي ﺗﻢ إﻧﺸﺎؤه . ٩
-٤إدﺧﺎل اﻟﺘﺼﻤﯿﻢ ﺑﺎﺳﺘﺨﺪام ﻛﻮد Design Entry Using VHDL Code : VHDL ﻛﻤﺜﺎل ﺗﺼ ﻤﯿﻤﻲ ،ﺳ ﻮف ﻧﺴ ﺘﺨﺪم دارة اﻟﻤ ﺘﺤﻜﻢ ﺑﺈﺿ ﺎءة ﻣﺼ ﺒﺎح ﻋ ﻦ ﻃﺮﯾ ﻖ ﻣﻔﺘ ﺎﺣﯿﻦ اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ). (١٢ ﯾﻤﻜﻨﻨﺎ اﺳﺘﺨﺪام ھﺬه اﻟﺪارة ﻟﻠﺘﺤﻜﻢ ﺑﺈﺿﺎءة ﻣﺼﺒﺎح وﺣﯿﺪ اﻧﻄﻼﻗﺎً ﻣ ﻦ أي ﻣ ﻦ اﻟﻤﻔﺘ ﺎﺣﯿﻦ x1و x2ﺣﯿ ﺚ أن اﻟﻤﻔﺘ ﺎح اﻟﻤﻐﻠﻖ ﯾﻮاﻓﻖ اﻟﻘﯿﻤﺔ اﻟﻤﻨﻄﻘﯿ ﺔ ' . '1ﺟ ﺪول اﻟﺤﻘﯿﻘ ﺔ ﻟﮭ ﺬه اﻟ ﺪارة ﻣﺒ ﯿﻦ أﯾﻀ ﺎً ﻓ ﻲ اﻟﺸ ﻜﻞ ) . (١٢ﻧﻼﺣ ﻆ ھﻨ ﺎ أن ھ ﺬه اﻟﺤﺎﻟ ﺔ ﺗﻄ ﺎﺑﻖ ﺗﻤﺎﻣ ﺎً ﺗ ﺎﺑﻊ اﻟﺠﻤ ﻊ اﻟﻤﻘﺼ ﻮر Exclusive-OR Functionﻟﻠﻤ ﺪﺧﻠﯿﻦ x1و x2وﻟﻜﻨﻨ ﺎ ﺳ ﻨﻘﻮم ﺑﺘﻌﺮﯾﻔﮫ ﺑﺎﺳﺘﺨﺪام اﻟﺒﻮاﺑﺎت اﻟﻤﻨﻄﻘﯿﺔ اﻟﻤﻮﺿﺤﺔ ﻓﻲ اﻟﺸﻜﻞ ). (١٢
اﻟﺸﻜﻞ ) : (١٢دارة اﻟﺘﺤﻜﻢ ﺑﺈﺿﺎءة ﻣﺼﺒﺎح ﻋﻦ ﻃﺮﯾﻖ ﻣﻔﺘﺎﺣﯿﻦ . إن اﻟﺪارة اﻟﻤﻄﻠﻮﺑﺔ ﻗﺪ ﺗﻢ ﺗﻮﺻﯿﻔﮭﺎ ﺑﻮاﺳﻄﺔ ﻛﻮد VHDLاﻟﻤﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ) . (١٣ﻧﻼﺣ ﻆ ھﻨ ﺎ أن اﻟﻜﯿ ﺎن Entity ﻓﻲ ﻛﻮد VHDLﻗﺪ أﻋﻄﻲ اﺳﻢ lightﻟﯿﻄﺎﺑﻖ اﻻﺳﻢ اﻟﻤﻌﻄﻰ ﻓﻲ اﻟﺸﻜﻞ ) (٥واﻟﺬي ﻛﺎن ﻗﺪ ﺗﻢ اﺧﺘﯿ ﺎره ﻋﻨ ﺪ إﻧﺸ ﺎء اﻟﻤﺸﺮوع .ﯾﻤﻜﻦ ﺗﻨﻀﯿﺪ ) ﻛﺘﺎﺑﺔ ( ھﺬا اﻟﻜﻮد ﺿﻤﻦ ﻣﻠﻒ Fileﺑﺎﺳﺘﺨﺪام أي ﻣﺤ ﺮر ﻧﺼ ﻮص Text Editorﻗ ﺎدر ﻋﻠﻰ ﺗﺨﺰﯾﻦ ﻣﻠﻔﺎت ، ASCIIأو ﺑﺎﺳﺘﺨﺪام ﻣﺤﺮر اﻟﻨﺼﻮص اﻟﻤﻀﻤﻦ ﻓﻲ اﻟﺒﺮﻣﺠﯿﺔ . Quartus II ﻧﺬﻛّﺮ ھﻨﺎ ﺑﻀﺮورة ﺗﺴﻤﯿﺔ اﻟﻤﻠﻒ ﺑﻨﻔﺲ اﺳﻢ ﻛﯿ ﺎن اﻟﻤﺴ ﺘﻮى اﻷﻋﻠ ﻰ Top-Level Entityﻓ ﻲ ﻛ ﻮد . VHDLإن اﻣﺘﺪاد اﻟﻤﻠﻒ اﻟ ﺬي ﯾﺘﻀ ﻤﻦ ﻛ ﻮد VHDLھ ﻮ ) ( .vhdاﻟ ﺬي ﯾ ﺪل ﻋﻠ ﻰ أن اﻟﻤﻠ ﻒ ﯾﺤﺘ ﻮي ﺷ ﯿﻔﺮةً ﺑﻠﻐ ﺔ VHDL وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈﻧﻨﺎ ﺳﻨﺴﺘﺨﺪم ھﻨﺎ اﻻﺳﻢ light.vhdﻟﺘﺴﻤﯿﺔ ﻣﻠﻔﻨﺎ اﻟﻤﻄﻠﻮب . ------------------------------------------------------------------------------; LIBRARY ieee ; USE ieee.std_logic_1164.all ------------------------------------------------------------------------------ENTITY light IS ; PORT ( x1, x2 : IN STD_LOGIC ; ) f : OUT STD_LOGIC ; END light ------------------------------------------------------------------------------ARCHITECTURE LogicFunction OF light IS BEGIN ;) f <= ( x1 AND NOT x2 ) OR ( NOT x1 AND x2 ; END LogicFunction ------------------------------------------------------------------------------اﻟﺸﻜﻞ ) : (١٣ﻛﻮد VHDLﻟﻠﺪارة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (١٢ -١-٣اﺳﺘﺨﺪام ﻣﺤﺮر اﻟﻨﺼﻮص ﻓﻲ اﻟﺒﺮﻣﺠﯿﺔ Using The Quartus II Text Editor : Quartus II ﻓﻲ ھﺬه اﻟﻔﻘﺮة ﺳﻨﻌﺮض ﻛﯿﻔﯿﺔ اﺳﺘﺨﺪام ﻣﺤﺮر اﻟﻨﺼ ﻮص ﻓ ﻲ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﻹﻧﺸ ﺎء اﻟﻤﻠ ﻒ . light.vhd ﻣ ﻦ ﻗﺎﺋﻤ ﺔ Fileﻧﺨﺘ ﺎر اﻷﻣ ﺮ … Newﻟﻠﺤﺼ ﻮل ﻋﻠ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) (١٤وﻣ ﻦ ﺛ ﻢ ﻧﺨﺘ ﺎر اﻟﺨﯿ ﺎر VHDL Fileوﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر . OKﻋﻨﺪھﺎ ﺳﻮف ﺗُﻔﺘَﺢ ﻧﺎﻓﺬة ﻣﺤﺮر اﻟﻨﺼﻮص . ١٠
اﻟﺸﻜﻞ ) : (١٤اﻟﻨﺎﻓﺬة اﻟﺘﻲ ﺗﺴﻤﺢ ﺑﺎﺧﺘﯿﺎر ﻧﻮع اﻟﻤﻠﻒ اﻟﺠﺪﯾﺪ اﻟﻤﺮاد إﻧﺸﺎؤه . ﺗﺘﻤﺜﻞ اﻟﺨﻄﻮة اﻷوﻟﻰ ﻓﻲ ﺗﺤﺪﯾﺪ اﺳﻢ اﻟﻤﻠﻒ اﻟﺬي ﺳﻮف ﯾﺘﻢ إﻧﺸﺎؤه .ﻟﮭﺬا ﻧﺨﺘﺎر اﻟﻘﺎﺋﻤ ﺔ Fileوﻣ ﻦ ﺛ ﻢ ﻧﺨﺘ ﺎر اﻷﻣ ﺮ … Save Asﻟﻔﺘﺢ اﻟﺼﻨﺪوق اﻟﻤﻨﺒﺜﻖ Pop-Up Boxاﻟﻤﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ). (١٥
اﻟﺸﻜﻞ ) : (١٥اﻟﺼﻨﺪوق اﻟﻤﻨﺒﺜﻖ اﻟﺬي ﯾﺴﻤﺢ ﺑﺈﻋﻄﺎء اﺳﻢ اﻟﻤﻠﻒ اﻟﺠﺪﯾﺪ . ﻓ ﻲ ھ ﺬا اﻟﺼ ﻨﺪوق وﺿ ﻤﻦ اﻟﻘﺎﺋﻤ ﺔ اﻟﻤﻨﺴ ﺪﻟﺔ Save as typeﯾﺠ ﺐ اﻟﺘﺄﻛ ﺪ ﻣ ﻦ اﺧﺘﯿ ﺎر VHDL Fileوﺿ ﻤﻦ ﺻﻨﺪوق اﻟﻨﺺ File nameﯾﺠﺐ اﻟﺘﺄﻛﺪ ﻣﻦ ﻛﺘﺎﺑﺔ اﻻﺳﻢ . lightأﺧﯿ ﺮاً ﯾﺠ ﺐ اﻻﻧﺘﺒ ﺎه إﻟ ﻰ ﺿ ﺮورة وﺿ ﻊ ﻋﻼﻣ ﺔ √ ﻓﻲ اﻟﻤﺮﺑﻊ اﻟﺼﻐﯿﺮ اﻟﻤﺠﺎور ﻟﻌﺒﺎرة . Add file ti current projectﻧﻨﻘﺮ اﻵن ﻋﻠﻰ اﻟﺰر Saveاﻷﻣ ﺮ اﻟ ﺬي ﺳﯿﺆدي إﻟﻰ إﻧﺸ ﺎء اﻟﻤﻠ ﻒ light.vhdداﺧ ﻞ اﻟﻤﺠﻠ ﺪ introtutorialﻓ ﻲ اﻟﺴ ﻮاﻗﺔ Dﻣ ﻦ اﻟﻘ ﺮص اﻟﺼ ﻠﺐ وﻇﮭ ﻮر ﻧﺎﻓﺬة ﻣﺤﺮر اﻟﻨﺼﻮص اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (١٦
اﻟﺸﻜﻞ ) : (١٦ﻧﺎﻓﺬة ﻣﺤﺮر اﻟﻨﺼﻮص ﻓﻲ اﻟﺒﺮﻣﺠﯿﺔ . Quartus II ١١
ﻛﺒﱢﺮ Maximizeﻧﺎﻓﺬة ﻣﺤﺮر اﻟﻨﺼﻮص ﺛﻢ ﻗﻢ ﺑﺈدﺧ ﺎل ﻛ ﻮد VHDLاﻟﻤﺒ ﯿﻦ ﻓ ﻲ اﻟﺸ ﻜﻞ ) (١٣ﺿ ﻤﻦ ھ ﺬه اﻟﻨﺎﻓ ﺬة ﺳﻮاءً ﺑﺘﻨﻀﯿﺪ اﻟﻜﻮد أو ﻣﻦ ﺧﻼل ﻧﺴﺨﮫ وﻟﺼ ﻘﮫ . Copy and Pasteﻗ ﻢ ﺑﻌ ﺪ اﻻﻧﺘﮭ ﺎء ﻣ ﻦ إدﺧ ﺎل اﻟﻜ ﻮد ﺑﺘﺨﺰﯾﻨ ﮫ ﻣﻦ ﺧﻼل اﻟﻘﺎﺋﻤﺔ File > Saveأو ﺑﺎﻟﻀﻐﻂ ﻋﻠﻰ اﻻﺧﺘﺼﺎر اﻟﻤﻔﺘﺎﺣﻲ . Ctrl-s إن أﻏﻠﺐ اﻷواﻣﺮ اﻟﻤﺘﺎﺣﺔ ﻓﻲ ﻣﺤﺮر اﻟﻨﺼﻮص ﻻ ﺗﺤﺘﺎج إﻟﻰ ﺷﺮح ﻟﺒﺴﺎﻃﺘﮭﺎ .ﯾﺘﻢ إدﺧﺎل اﻟ ﻨﺺ ﻋﻨ ﺪ ﻧﻘﻄ ﺔ اﻟﺤﺸ ﺮ Insertion Pointاﻟﺘ ﻲ ﺗﻜ ﻮن ﻣﺤ ﺪّدةً ﺑﺨ ﻂ ﺷ ﺎﻗﻮﻟﻲ رﻓﯿ ﻊ .ﯾﻤﻜ ﻦ ﺗﺤﺮﯾ ﻚ ﻧﻘﻄ ﺔ اﻟﺤﺸ ﺮ ) ﺗﻐﯿﯿ ﺮ ﻣﻮﺿ ﻌﮭﺎ ( إﻣ ﺎ ﺑﺎﺳﺘﺨﺪام ﻣﻔﺎﺗﯿﺢ اﻷﺳﮭﻢ ﻋﻠﻰ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ أو ﺑﺎﺳﺘﺨﺪام اﻟﻔﺄرة . ھﻨﺎك ﻣﯿﺰﺗﺎن ﻟﻤﺤﺮر اﻟﻨﺼﻮص ﻣﻼﺋﻤﺘﺎن ﺑﺸﻜﻞ ﺧﺎص ﻟﺘﻨﻀﯿﺪ ﻛﻮد : VHDL اﻷوﻟﻰ :أن اﻟﻤﺤﺮر ﯾﻤﻜﻨﮫ ﻋﺮض اﻷﻧﻮاع اﻟﻤﺨﺘﻠﻔﺔ ﻟﺘﻌﻠﯿﻤﺎت VHDLﺑﺄﻟﻮان ﻣﺨﺘﻠﻔ ﺔ وھ ﺬه اﻟﻤﯿ ﺰة ھ ﻲاﻟﺨﯿﺎر اﻻﻓﺘﺮاﺿﻲ ) اﻟﺘﻠﻘﺎﺋﻲ ( . Default Choice اﻟﺜﺎﻧﯿﺔ :أن اﻟﻤﺤﺮر ﯾﻤﻜﻨﮫ ﺑﺸﻜﻞ آﻟﻲ أن ﯾﺴﻤﺢ ﻋﻨﺪ اﻻﻧﺘﻘﺎل إﻟﻰ ﺳﻄﺮ ﺟﺪﯾﺪ ﺑﺎﻟﺤﻔﺎظ ﻋﻠﻰ اﻟﻤﺴﺎﻓﺔ اﻟﺒﺎدﺋ ﺔاﻟﻤﻌﺘﻤﺪة ﻓﻲ اﻟﺴﻄﺮ اﻟﺴﺎﺑﻖ ﺑﺤﯿﺚ أن اﻟﺴﻄﺮ اﻟﺠﺪﯾﺪ ﯾﻄﺎﺑﻖ ﻣﻦ ﺣﯿﺚ ﻣﻮﺿﻊ ﺑﺪاﯾﺘﮫ اﻟﺴﻄﺮ اﻟﺴﺎﺑﻖ ﻟﮫ . ﺧﯿ ﺎرات ﻛﮭ ﺬه ﯾﻤﻜ ﻦ اﻟ ﺘﺤﻜﻢ ﺑﮭ ﺎ ﻋ ﻦ ﻃﺮﯾ ﻖ اﻹﻋ ﺪادات Settingsاﻟﻤﺘﻌﻠﻘ ﺔ ﺑﻤﺤ ﺮر اﻟﻨﺼ ﻮص Text Editor واﻟﻤﺘﺎﺣﺔ ﻣﻦ ﺧﻼل اﻟﻤﺴﺎر . Tools > Options > Text Editor : -١-١-٣اﺳﺘﺨﺪام ﻗﻮاﻟﺐ Using VHDL Templates : VHDL إن اﻟﺼﯿﻎ اﻟﻘﻮاﻋﺪﯾﺔ Syntaxﻟﻜﻮد VHDLﺗﻜﻮن أﺣﯿﺎﻧﺎً ﺻﻌﺒﺔ اﻟﺘﺬﻛﺮ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻤﺼ ﻤﻢ .ﻟﻠﻤﺴ ﺎﻋﺪة ﻓ ﻲ ﺣ ﻞ ھ ﺬه اﻟﻤﺸ ﻜﻠﺔ ﻓ ﺈن ﻣﺤ ﺮر اﻟﻨﺼ ﻮص ﯾ ﺰوّد ﻣﺠﻤﻮﻋ ﺔً ﻣ ﻦ ﻗﻮاﻟ ﺐ VHDLاﻟﺠ ﺎھﺰة .ھ ﺬه اﻟﻘﻮاﻟ ﺐ Templatesﺗﻘ ﺪّم أﻣﺜﻠﺔً ﻋﻠﻰ أﻧﻮاع ﻣﺨﺘﻠﻔ ﺔ ﻟﺘﻌﻠﯿﻤ ﺎت VHDLﻛﺎﻟﺘﺼ ﺮﯾﺢ ﻋ ﻦ ﻛﯿ ﺎن ﻣ ﺎ Entity Declarationأو ﺗﻌﻠﯿﻤ ﺔ CASE أو ﺗﻌﻠﯿﻤ ﺎت اﻹﺳ ﻨﺎد . Assignment Statementsﻟ ﺬﻟﻚ ﻣ ﻦ اﻟﻤﻔﯿ ﺪ اﺳ ﺘﻌﺮاض ھ ﺬه اﻟﻘﻮاﻟ ﺐ ﻣ ﻦ ﺧ ﻼل اﻟﻤﺴ ﺎر اﻟﺘﺎﻟﻲ Edit > Insert Template > VHDL :ﻟﺘﺼﺒﺢ ھﺬه اﻟﻤﻮارد ﻣﺄﻟﻮﻓﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻟﻠﻤﺴﺘﺨﺪم . -٢-٣إﺿﺎﻓﺔ ﻣﻠﻔﺎت ﺗﺼﻤﯿﻢ إﻟﻰ ﻣﺸﺮوع ﻣﺎ Adding Design Files to a Project : ﻛﻤﺎ ﺑﯿّﻨ ﺎ ﻋﻨ ﺪ ﻣﻨﺎﻗﺸ ﺔ اﻟﺸ ﻜﻞ ) (٧ﻓﺈﻧ ﮫ ﺑﺎﻹﻣﻜ ﺎن إﻋ ﻼم اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﺑﺮﻏﺒﺘﻨ ﺎ ﻓ ﻲ إﺿ ﺎﻓﺔ ﻣﻠﻔ ﺎت ﺗﺼ ﻤﯿﻢ ﻣﻌﯿﻨﺔ Design Filesﻟﺘﺼﺒﺢ ﺟﺰءاً ﻣﻦ اﻟﻤﺸﺮوع اﻟﺤ ﺎﻟﻲ .ﻟﺮؤﯾ ﺔ ﻻﺋﺤ ﺔ اﻟﻤﻠﻔ ﺎت اﻟﻤُﻀ ﻤّﻨﺔ ﻣُﺴ ﺒﻘﺎً ﻓ ﻲ اﻟﻤﺸ ﺮوع lightﯾﻤﻜ ﻦ اﺧﺘﯿ ﺎر Assignments > Settings… :اﻷﻣ ﺮ اﻟ ﺬي ﯾ ﺆدي إﻟ ﻰ ﻇﮭ ﻮر اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) . (١٧اﻵن وﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﻲ اﻟﺠﺎﻧﺐ اﻷﯾﺴﺮ ﻣﻦ اﻟﺸﻜﻞ ) (١٧ﻓﺈﻧﻨﺎ وﻣﻦ ﺧﻼل اﻟﻨﻘﺮ ﻋﻠ ﻰ اﻟﺒﻨ ﺪ Filesﺳ ﻨﺮى ﻛﺎﻓﺔ ﻣﻠﻔﺎت اﻟﺘﺼﻤﯿﻢ ﻓﻲ اﻟﻤﺸﺮوع اﻟﺤﺎﻟﻲ .ھﻨﺎك ﻃﺮﯾﻘﺔ ﺑﺪﯾﻠﺔ ﻟﻠﺤﺼﻮل ﻋﻠﻰ ﻧﻔﺲ اﻟﻨﺘﯿﺠﺔ وﺗﺘﻤﺜﻞ ﻓﻲ اﺧﺘﯿﺎر : …. Project > Add/Remove Files in Project إذا ﻛﻨﺖ ﻗ ﺪ اﺳ ﺘﺨﺪﻣﺖ ﻣﺤ ﺮر ﻧﺼ ﻮص اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﻹﻧﺸ ﺎء اﻟﻤﻠ ﻒ light.vhdوﻓﻌّﻠ ﺖ اﻟﺨﯿ ﺎر Add file to current projectﺑﻮﺿﻊ إﺷﺎرة √ ﻓﻲ اﻟﻤﺮﺑﻊ اﻟﺼ ﻐﯿﺮ اﻟﻤﺠ ﺎور ﻟ ﮫ ﻛﻤ ﺎ ﻣ ﺮ ﻣﻌﻨ ﺎ ﻓ ﻲ اﻟﺸ ﻜﻞ ) (١٥ﻓ ﺈن ھ ﺬا اﻟﻤﻠ ﻒ ﻗ ﺪ أﺻ ﺒﺢ ﺑﺸ ﻜﻞ ﻣﺴ ﺒﻖ ﺟ ﺰءاً ﻣ ﻦ اﻟﻤﺸ ﺮوع وﺳ ﻮف ﯾﻈﮭ ﺮ ﻓ ﻲ ﻻﺋﺤ ﺔ اﻟﻤﻠﻔ ﺎت اﻟﺘﺼ ﻤﯿﻤﯿﺔ ﻟﻠﻤﺸ ﺮوع واﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (١٧ إذا ﻟ ﻢ ﯾﻜ ﻦ اﻟﻤﻠ ﻒ light.vhdﻗ ﺪ أﺿ ﯿﻒ ﺑﺸ ﻜﻞ ﻣﺴ ﺒﻖ إﻟ ﻰ اﻟﻤﺸ ﺮوع ﻓﺈﻧ ﮫ ﯾﺘﻮﺟ ﺐ إﺿ ﺎﻓﺘﮫ ﻟﯿﺼ ﺒﺢ ﺟ ﺰءاً ﻣ ﻦ اﻟﻤﺸﺮوع .وﺑﺎﻟﺘﺎﻟﻲ إذا ﻛﻨﺖ ﻋﻠﻰ ﺳﺒﯿﻞ اﻟﻤﺜﺎل ﻟﻢ ﺗﺴﺘﺨﺪم ﻣﺤﺮر ﻧﺼﻮص اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﻓﯿﺘﻮﺟ ﺐ ﻋﻨ ﺪھﺎ وﺿ ﻊ ﻧﺴ ﺨﺔٍ ﻣ ﻦ اﻟﻤﻠ ﻒ light.vhdاﻟ ﺬي أﻧﺸ ﺄﺗﮫ ﺑﺎﺳ ﺘﺨﺪام ﻣﺤ ﺮر ﻧﺼ ﻮص آﺧ ﺮ داﺧ ﻞ اﻟﻤﺠﻠ ﺪ introtutorial اﻟﺬي ﯾﻤﺜﻞ ﻣﺠﻠﺪ اﻟﻤﺸﺮوع اﻟﺤﺎﻟﻲ .ﻹﺿ ﺎﻓﺔ ھ ﺬا اﻟﻤﻠ ﻒ إﻟ ﻰ اﻟﻤﺸ ﺮوع ﻧﻨﻘ ﺮ ﻋﻠ ﻰ زر اﻻﺳ ﺘﻌﺮاض اﻟﻤﺠ ﺎور ﻟﻠﺤﻘ ﻞ File name:ﻓ ﻲ اﻟﺸ ﻜﻞ ) (١٧ﻟﻠﺤﺼ ﻮل ﻋﻠ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﻨﺒﺜﻘ ﺔ Pop-Up Windowاﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) . (١٨ﻧﺤ ﺪّد اﻟﻤﻠ ﻒ light.vhdوﻣ ﻦ ﺛ ﻢ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر . Openاﻟﻤﻠ ﻒ اﻟﻤﺨﺘ ﺎر اﻵن ﻣﺒ ﯿﻦ ﻓ ﻲ اﻟﺤﻘ ﻞ File name:ﺿﻤﻦ اﻟﺸﻜﻞ ) (١٧وﺑﺎﻟﺘﺎﻟﻲ ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر Addوﻣﻦ ﺛﻢ ﻋﻠﻰ اﻟﺰر Okﯾﺼ ﺒﺢ ھ ﺬا اﻟﻤﻠ ﻒ ﺟ ﺰءاً ﻣ ﻦ اﻟﻤﺸﺮوع . ﻣ ﻦ اﻟﺠ ﺪﯾﺮ ﺑﺎﻟ ﺬﻛﺮ ھﻨ ﺎ أﻧ ﮫ ﻓ ﻲ ﻋ ﺪّة ﺣ ﺎﻻت ﺗﻜ ﻮن اﻟﺒﺮﻣﺠﯿّ ﺔ Quartus IIﻗ ﺎدرةً ﺑﺸ ﻜﻞ آﻟ ﻲ ﻋﻠ ﻰ إﯾﺠ ﺎد اﻟﻤﻠﻔ ﺎت اﻟﻀﺮورﯾﺔ ﻟﻼﺳﺘﺨﺪام ﻣﻦ أﺟﻞ ﻛﻞ ﻛﯿﺎن Entityﺗﻢ اﻻﻋﺘﻤﺎد ﻋﻠﯿ ﮫ ﻓ ﻲ ﻛ ﻮد VHDLاﻟﺮﺋﯿﺴ ﻲ ) ( Main Code ١٢
ﺣﺘﻰ وﻟﻮ ﻛﺎن اﻟﻤﻠﻒ اﻟﺬي ﯾﺘﻀﻤﻦ ھﺬا اﻟﻜﯿ ﺎن ﻟ ﻢ ﺗ ﺘﻢ إﺿ ﺎﻓﺘﮫ ﺑﺸ ﻜﻞ ﺻ ﺮﯾﺢ إﻟ ﻰ اﻟﻤﺸ ﺮوع ) وﻟﻜ ﻦ ﻃﺒﻌ ﺎً ﺷ ﺮﯾﻄﺔ وﺟﻮد ھﺬا اﻟﻤﻠﻒ ﻓﻲ ﻣﺠﻠﺪ اﻟﻤﺸﺮوع ( .ﻋﻠﻰ ﻛﻞ ﺣ ﺎل ،ﻣ ﻦ أﺟ ﻞ اﻟﻤﺸ ﺎرﯾﻊ اﻟﻤﻌﻘ ﺪة Complex Projectsاﻟﺘ ﻲ ﺗﺴ ﺘﺨﺪم ﻋ ﺪة ﻣﻠﻔ ﺎت ﻓ ﺈن إﺿ ﺎﻓﺔ اﻟﻤﻠﻔ ﺎت اﻟﻀ ﺮورﯾﺔ ﺑﺸ ﻜﻞ ﺻ ﺮﯾﺢ إﻟ ﻰ اﻟﻤﺸ ﺮوع ﻛﻤ ﺎ ﺑﯿّﻨ ﺎ أﻋ ﻼه ﯾﻌﺘﺒ ﺮ ﻣﻨﮭﺠ ﺎً ﺗﺼﻤﯿﻤﯿﺎً ﻋﻤﻠﯿﺎً ﺟﯿﺪاً .
اﻟﺸﻜﻞ ) : (١٧ﻧﺎﻓﺬة اﻹﻋﺪادات . Settings Window
اﻟﺸﻜﻞ ) : (١٨اﺧﺘﯿﺎر اﻟﻤﻠﻒ اﻟﺬي ﺳﯿﻀﺎف إﻟﻰ اﻟﻤﺸﺮوع . -٤ﺗﺮﺟﻤﺔ اﻟﺪارة اﻟﻤﺼﻤﻤﺔ Compiling The Designed Circuit : إن ﻛﻮد VHDLﻓﻲ اﻟﻤﻠﻒ light.vhdﺗﺘﻢ ﻣﻌﺎﻟﺠﺘﮫ ﻣﻦ ﻗﺒﻞ ﻋ ﺪة أدوات ﻓ ﻲ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIواﻟﺘ ﻲ ﺗﺤﻠ ﻞ اﻟﻜ ﻮد Analyze The Codeوﺗﺮﻛ ﺐ اﻟ ﺪارة Synthesize The Circuitوﺗﻮﻟ ﺪ ﺗﻨﺠﯿ ﺰاً Implementation ﻣﻮاﻓﻘ ﺎً ﻟﮭ ﺎ ﻣ ﻦ أﺟ ﻞ اﻟﺸ ﺮﯾﺤﺔ اﻟﮭ ﺪف . The Target Chipھ ﺬه اﻷدوات اﻟﺒﺮﻣﺠﯿ ﺔ Software Toolsﺿ ﻤﻦ ﺑﯿﺌﺔ اﻟﺘﻄﻮﯾﺮ Quartus IIﻣُﻘﺎدة ﺑﺎﻟﺒﺮﻧﺎﻣﺞ اﻟﺘﻄﺒﯿﻘﻲ اﻟﻤﺪﻋﻮ :اﻟﻤﺘﺮﺟﻢ . The Compiler ﯾﺘﻢ ﺗﺸﻐﯿﻞ اﻟﻤﺘﺮﺟﻢ ﻣ ﻦ ﺧ ﻼل اﻟﻘﺎﺋﻤ ﺔ Processingواﺧﺘﯿ ﺎر اﻷﻣ ﺮ ) Start Compilationأو ﺑﺒﺴ ﺎﻃﺔ اﻟﻀ ﻐﻂ ﻋﻠﻰ اﻻﺧﺘﺼﺎر اﻟﻤﻔﺘﺎﺣﻲ ( Ctrl+Lأو ﻣﻦ ﺧﻼل اﻟﻨﻘﺮ ﻋﻠﻰ اﻷﯾﻘﻮﻧﺔ ﻓﻲ ﺷﺮﯾﻂ اﻷدوات واﻟﺘﻲ ﺗﺸ ﺒﮫ ﺻ ﻮرة ﻣﻌﻤﻞ .ﺗﻤﺮ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﺑﻌﺪة ﻣﺮاﺣﻞ ) ﺗﺒﺪأ ﺑﻌﻤﻠﯿﺔ اﻟﺘﺤﻠﯿ ﻞ واﻟﺘﺮﻛﯿ ﺐ Analysis & Synthesisﺗﻠﯿﮭ ﺎ ﻋﻤﻠﯿ ﺔ اﻟﺘﻮﺿﯿﻊ اﻟﺘﻲ ﯾﻘﻮم ﺑﮭﺎ اﻟﻤﻮﺿﻊ Fitterوﻣﻦ ﺛﻢ ﻋﻤﻠﯿﺔ اﻟﺘﺠﻤﯿﻊ اﻟﺘﻲ ﯾﻘﻮم ﺑﮭﺎ اﻟﻤﺠﻤﻊ Assemblerوأﺧﯿﺮاً ﻋﻤﻠﯿ ﺔ اﻟﺘﺤﻠﯿ ﻞ اﻟﺰﻣﻨ ﻲ . ( Timing Analysisإن ﺗﻘ ﺪم ﻋﻤﻠﯿ ﺔ اﻟﺘﺮﺟﻤ ﺔ ﯾﻈﮭ ﺮ ﺿ ﻤﻦ اﻟﻨﺎﻓ ﺬة اﻟﺼ ﻐﯿﺮة ذات اﻟﻌﻨ ﻮان Statusواﻟﺘﻲ ﯾﻤﻜﻦ إﻇﮭﺎرھﺎ أو إﺧﻔﺎؤھﺎ ﻣﻦ ﺧﻼل اﻷﻣﺮ Statusﻓ ﻲ اﻟﻘﺎﺋﻤ ﺔ اﻟﻔﺮﻋﯿ ﺔ Utility Windowsﻣ ﻦ ١٣
اﻟﻘﺎﺋﻤ ﺔ اﻟﺮﺋﯿﺴ ﯿﺔ ) Viewأو ﺑﺒﺴ ﺎﻃﺔ ﻣ ﻦ ﺧ ﻼل اﻟﻀ ﻐﻂ ﻋﻠ ﻰ اﻟﺘﺮاﻛ ﺐ اﻟﻤﻔﺘ ﺎﺣﻲ . ( Alt+4ﻋﻨ ﺪ اﻧﺘﮭ ﺎء ﻋﻤﻠﯿ ﺔ اﻟﺘﺮﺟﻤﺔ ﺑﻨﺠﺎح دون وﺟﻮد أﺧﻄﺎء ﺗﻈﮭﺮ ﻧﺎﻓﺬة ﺻﻐﯿﺮة ﻣﻊ رﺳﺎﻟﺔ اﻧﺘﮭﺎء اﻟﺘﺮﺟﻤﺔ ﺑﻨﺠﺎح ﻛﻤﺎ ھﻮ واﺿﺢ ﻓ ﻲ اﻟﺸ ﻜﻞ ). (١٩
اﻟﺸﻜﻞ ) : (١٩رﺳﺎﻟﺔ اﻧﺘﮭﺎء ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﺑﻨﺠﺎح . ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ) OKأو ﻣﻮاﻓﻖ ( ﻧﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ) (٢٠وﻓﯿﮭ ﺎ ﺗﻈﮭ ﺮ اﻟﻨﺎﻓ ﺬة Statusآﻧﻔ ﺔ اﻟﺬﻛﺮ ﻣﻊ ﻣﺆﺷﺮات اﻟﻨﺴﺒﺔ اﻟﻤﺌﻮﯾﺔ اﻟﺘﻲ ﺗﺪل ﻋﻠﻰ اﻧﺘﮭﺎء اﻟﻤﺘﺮﺟﻢ ﻣﻦ ﻋﻤﻠﮫ .
اﻟﺸﻜﻞ ) : (٢٠اﻟﻨﺎﻓﺬة اﻟﺮﺋﯿﺴﯿﺔ ﻟﻠﺒﺮﻣﺠﯿﺔ Quartus IIﺑﻌﺪ اﻻﻧﺘﮭﺎء ﻣﻦ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ . ﻓﻲ ﺣﺎﻟﺔ وﺟﻮد أﺧﻄﺎء ﯾﻤﻜﻨﻨﺎ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﻠﻮﯾﺤ ﺔ Errorﺿ ﻤﻦ اﻟﻨﺎﻓ ﺬة ذات اﻟﻌﻨ ﻮان Messagesﻛﻤ ﺎ ھ ﻮ واﺿ ﺢ ﻓﻲ اﻟﺸﻜﻞ ) (٢١ﻟﺘﻔﺤﺺ رﺳﺎﺋﻞ اﻟﺨﻄﺄ وﺗﺼﺤﯿﺢ اﻷﺧﻄﺎء وﻣﻦ ﺛﻢ إﻋﺎدة ﻋﻤﻠﯿ ﺔ اﻟﺘﺮﺟﻤ ﺔ ﺣﺘ ﻰ اﻟ ﺘﺨﻠﺺ ﻣ ﻦ ﻛﺎﻓ ﺔ اﻷﺧﻄﺎء اﻟﻤﻮﺟﻮدة ﺿﻤﻦ اﻟﻜﻮد .
اﻟﺸﻜﻞ ) : (٢١رﺳﺎﺋﻞ اﻟﺨﻄﺄ ﺿﻤﻦ اﻟﻠﻮﯾﺤﺔ Errorداﺧﻞ اﻟﻨﺎﻓﺬة Messagesﻓﻲ اﻟﺒﺮﻣﺠﯿﺔ . Quartus II ١٤
ﯾﻤﻜ ﻦ ﻋ ﺮض ﺗﻘﺮﯾ ﺮ اﻟﺘﺮﺟﻤ ﺔ ﺑﻌ ﺪ اﻻﻧﺘﮭ ﺎء ﻣ ﻦ ﻋﻤﻠﯿ ﺔ اﻟﺘﺮﺟﻤ ﺔ ﺑﻨﺠ ﺎح ﻣ ﻦ ﺧ ﻼل اﻟﻘﺎﺋﻤ ﺔ Processingواﺧﺘﯿ ﺎر اﻷﻣﺮ ) Compilation Reportأو اﻟﻀﻐﻂ ﺑﺒﺴﺎﻃﺔ ﻋﻠﻰ اﻻﺧﺘﺼﺎر اﻟﻤﻔﺘﺎﺣﻲ ( Ctrl+Rاﻷﻣﺮ اﻟﺬي ﯾﺆدي إﻟ ﻰ ﻋ ﺮض ﺧﻼﺻ ﺔ ﺗﻘﺮﯾ ﺮ ﻋﻤﻠﯿ ﺔ اﻟﺘﺮﺟﻤ ﺔ ﻓ ﻲ اﻟﺠ ﺰء اﻷﯾﻤ ﻦ ﻣ ﻦ ﻧﺎﻓ ﺬة اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﻛﻤ ﺎ ھ ﻮ واﺿ ﺢ ﻓ ﻲ اﻟﺸﻜﻞ ). (٢٢
اﻟﺸﻜﻞ ) (٢٢ﺧﻼﺻﺔ ﺗﻘﺮﯾﺮ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ . Compilation Report ﺿﻤﻦ ھﺬه اﻟﻨﺎﻓﺬة ﯾﻤﻜﻨﻨﺎ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺒﻨﺪ Flow Summaryﻟﻨ ﺮى ﻣﻌﻠﻮﻣ ﺎت ﺗﺘﻌﻠ ﻖ ﺑﺎﻟﻤﺸ ﺮوع اﻟﺤ ﺎﻟﻲ واﻟﺸ ﺮﯾﺤﺔ اﻟﻤﺨﺘ ﺎرة ﺑﺎﻹﺿ ﺎﻓﺔ إﻟ ﻰ ﻣﻌﻠﻮﻣ ﺎت ﻋ ﻦ ﻋ ﺪد اﻟﻌﻨﺎﺻ ﺮ اﻟﻤﻨﻄﻘﯿ ﺔ Logic Elementsاﻟﻤﺴ ﺘﺨﺪﻣﺔ ﻟﺘﻨﺠﯿ ﺰ دارة اﻟﻤﺸﺮوع وﻋ ﺪد أﻗﻄ ﺎب اﻟ ﺪﺧﻞ واﻟﺨ ﺮج ﻟﻠ ﺪارة ﻛﻤ ﺎ ﻧﻼﺣ ﻆ أن ﻋ ﺪد اﻟﻘﻼﺑ ﺎت اﻟﻤﺴ ﺘﺨﺪﻣﺔ ھﻨ ﺎ ﯾﺴ ﺎوي اﻟﺼ ﻔﺮ ﻷن اﻟﺪارة ﺗﺮﻛﯿﺒﯿﺔ ﺻﺮﻓﺔ ﺑﺎﻹﺿﺎﻓﺔ إﻟﻰ ﻋﺪم اﺳﺘﺨﺪام أﯾﺔ ﺧﻠﯿﺔ ذاﻛﺮﯾﺔ ﻣﻦ اﻟﺨﻼﯾﺎ اﻟﻤﺘﻮاﻓﺮة ﺿﻤﻦ ﺷﺮﯾﺤﺔ اﻟ ـ FPGA اﻟﻤﺨﺘﺎرة ) واﻟﺒﺎﻟﻎ ﻋﺪدھﺎ ﺣﻮاﻟﻰ 480أﻟﻒ ﺧﻠﯿﺔ أو ﺧﺎﻧﺔ ( . -١-٤اﻷﺧﻄﺎء Errors : ﺗﻘ ﻮم اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﺑﻌ ﺮض اﻟﺮﺳ ﺎﺋﻞ اﻟﺘ ﻲ ﯾﻮﻟ ﺪھﺎ اﻟﻤﺘ ﺮﺟﻢ أﺛﻨ ﺎء ﻋﻤﻠﯿ ﺔ اﻟﺘﺮﺟﻤ ﺔ ﻓ ﻲ ﻧﺎﻓ ﺬة اﻟﺮﺳ ﺎﺋﻞ . Messages Windowإذا ﻛﺎن ﻣﻠ ﻒ اﻟﺘﺼ ﻤﯿﻢ ﺑﻠﻐ ﺔ VHDLﺻ ﺤﯿﺤﺎً ﻓ ﺈن إﺣ ﺪى ھ ﺬه اﻟﺮﺳ ﺎﺋﻞ ﺗﺸ ﯿﺮ إﻟ ﻰ أن ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﻗﺪ ﺗﻤﺖ ﺑﻨﺠﺎح وأﻧﮫ ﻻ ﺗﻮﺟﺪ أﯾ ﺔ أﺧﻄ ﺎء .إذا ﻟ ﻢ ﯾﻌ ﺮض اﻟﻤﺘ ﺮﺟﻢ رﺳ ﺎﻟﺔ اﻟﺨﻠ ﻮ ﻣ ﻦ اﻷﺧﻄ ﺎء ﻓﮭ ﺬا ﯾﻌﻨﻲ أﻧﮫ ﯾﻮﺟﺪ ﺧﻄﺄ واﺣﺪ ﻋﻠﻰ اﻷﻗﻞ ﺿﻤﻦ ﻛﻮد . VHDLﻓﻲ ھﺬه اﻟﺤﺎﻟﺔ ،ﺳﻮف ﯾﺘﻢ ﻋﺮض رﺳﺎﻟﺔ ﻣﻼﺋﻤ ﺔ ﻟﻜ ﻞ ﺧﻄﺄ ﻣﻮﺟﻮد ﻓﻲ اﻟﻜﻮد ﺿﻤﻦ ﻧﺎﻓﺬة اﻟﺮﺳﺎﺋﻞ وﺗﺤﺪﯾﺪاً ﻓ ﻲ اﻟﻠﻮﯾﺤ ﺔ اﻟﺨﺎﺻ ﺔ ﺑﺎﻷﺧﻄ ﺎء Error Tabﻛﻤ ﺎ ھ ﻮ واﺿ ﺢ ﻓ ﻲ اﻟﺸ ﻜﻞ ) . (٢١ﻋﻨ ﺪ اﻟﻨﻘ ﺮ ﺑﺸ ﻜﻞ ﻣ ﺰدوج ﻋﻠ ﻰ رﺳ ﺎﻟﺔ ﺧﻄ ﺄ ﻣ ﺎ ﺗﻘ ﻮم اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﻣﺒﺎﺷ ﺮة ﺑﺘﻠ ﻮﯾﻦ اﻟﺴﻄﺮ اﻟﺬي ﺣﺪث ﻋﻨﺪه اﻟﺨﻄ ﺄ أﺛﻨ ﺎء ﻛﺘﺎﺑ ﺔ اﻟﻜ ﻮد ﺿ ﻤﻦ ﻧﺎﻓ ﺬة اﻟﻤﺤ ﺮر اﻟﻨﺼ ﻲ Text Editorاﻷﻣ ﺮ اﻟ ﺬي ﯾﺴ ﮭﻞ ﻋﻤﻠﯿﺔ ﺗﺼﺤﯿﺢ اﻟﺨﻄﺄ .ﺑﺸﻜﻞ ﻣﺸﺎﺑﮫ ،ﻓﺈن اﻟﻤﺘﺮﺟﻢ ﯾﻌﺮض ﺑﻀﻌﺔ رﺳﺎﺋﻞ ﺗﺤ ﺬﯾﺮ Warning Messagesﺿ ﻤﻦ اﻟﻠﻮﯾﺤﺘﯿﻦ Warningو . Critical Warningﻋﻤﻮﻣ ﺎً ﻻ ﺗﺸ ﻜﻞ رﺳ ﺎﺋﻞ اﻟﺘﺤ ﺬﯾﺮ ﺿ ﻤﻦ اﻟﻠﻮﯾﺤ ﺔ Warningأﯾ ﺔ ﻣﺸﻜﻠﺔ وﻟﻜﻦ ﯾﺠﺐ دوﻣﺎً ﺗﻔﺤﺺ رﺳﺎﺋﻞ اﻟﺘﺤﺬﯾﺮ ﺿﻤﻦ اﻟﻠﻮﯾﺤﺔ Critical Warningﻛﻤ ﺎ ﺳ ﻨﺮى ﺑﻌ ﺪ ﻗﻠﯿ ﻞ .ﻋﻠ ﻰ ﻛﻞ ﺣﺎل ،ﯾﻤﻜﻦ دوﻣﺎً اﺳﺘﻜﺸﺎف ﺗﻔﺎﺻﯿﻞ ﺣﻮل رﺳﺎﻟﺔ ﺗﺤﺬﯾﺮ ﻣﺎ ﻣﻦ ﺧﻼل ﺗﺤﺪﯾﺪ اﻟﺮﺳﺎﻟﺔ اﻟﻤﻄﻠﻮﺑﺔ وﻣﻦ ﺛﻢ اﻟﻀ ﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺘﺎح اﻟﻮﻇﯿﻔﻲ F1ﻋﻠﻰ ﻟﻮﺣﺔ اﻟﻤﻔﺎﺗﯿﺢ . ﻟﺮؤﯾ ﺔ ﺗ ﺄﺛﯿﺮ ﺧﻄ ﺄ ﻣ ﺎ ﺳ ﻨﻘﻮم ﺑﺤ ﺬف اﻟﻔﺎﺻ ﻠﺔ اﻟﻤﻨﻘﻮﻃ ﺔ اﻟﻤﻮﺟ ﻮدة ﻓ ﻲ ﻧﮭﺎﯾ ﺔ اﻟﺴ ﻄﺮ اﻟ ﺬي ﯾﻘ ﻮم ﺑﺘﺤﺪﯾ ﺪ اﻟﺘ ﺎﺑﻊ ) f اﻟﺴﻄﺮ رﻗﻢ 12ﻣﻦ اﻟﻜﻮد اﻟﺴﺎﺑﻖ أﻋﻼه ( وذﻟﻚ ﯾﻤﻜﻦ أن ﯾﺤﺪث ﻋ ﻦ ﻃﺮﯾ ﻖ اﻟﺼ ﺪﻓﺔ ﻛﺨﻄ ﺄ ﻏﯿ ﺮ ﻣﻘﺼ ﻮد أﺣﯿﺎﻧ ﺎً . ﻧﻌﯿﺪ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﺑﻌﺪ ﺗﺨﺰﯾﻦ ﻣﻠﻒ اﻟﻜﻮد اﻟﻤﻐﻠﻮط ﻓﻨﺤﺼﻞ ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ) (٢٣واﻟﺘﻲ ﺗﻔﯿ ﺪ ﺑ ﺄن ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﻟﻢ ﺗﻨﺠﺢ وأن ھﻨﺎك ﺛﻼﺛﺔ أﺧﻄﺎء .ﻧﻨﻘﺮ ﻋﻠﻰ اﻟ ﺰر ) OKأو ﻣﻮاﻓ ﻖ ( ﻹﻏ ﻼق ھ ﺬه اﻟﻨﺎﻓ ﺬة وﻣ ﻦ ﺛ ﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﻠﻮﯾﺤﺔ Errorﺿﻤﻦ اﻟﻨﺎﻓﺬة Messagesﻟﻨﺮى رﺳﺎﺋﻞ اﻟﺨﻄﺄ اﻟﺜﻼﺛﺔ ﻛﻤﺎ ھﻮ واﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ). (٢٤ ١٥
اﻟﺸﻜﻞ ) : (٢٣رﺳﺎﻟﺔ ﻓﺸﻞ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ووﺟﻮد أﺧﻄﺎء ﺿﻤﻦ اﻟﻜﻮد .
اﻟﺸﻜﻞ ) : (٢٤رﺳﺎﺋﻞ اﻟﺨﻄﺄ ﺿﻤﻦ اﻟﻠﻮﯾﺤﺔ Errorﻓﻲ ﻧﺎﻓﺬة اﻟﺮﺳﺎﺋﻞ ﻟﻠﺒﺮﻣﺠﯿﺔ . Quartus II ﻧﺒﺪأ ﺑﺎﻟﻨﻘﺮ ﺑﺸﻜﻞ ﻣﺰدوج ﻋﻠﻰ رﺳﺎﻟﺔ اﻟﺨﻄﺄ اﻷوﻟﻰ ﻓﯿﻘﻮم اﻟﻤﺤﺮر اﻟﻨﺼ ﻲ ﺑﺘﺤﺪﯾ ﺪ اﻟﺴ ﻄﺮ اﻟ ﺬي ﺣ ﺪث ﻓﯿ ﮫ اﻟﺨﻄ ﺄ . ﻓﻲ اﻟﺤﻘﯿﻘﺔ إن اﻟﺨﻄﺄ ﻓﻲ ﺣﺎﻟﺘﻨﺎ ھﺬه ﻗﺪ وﻗﻊ ﻓﻲ اﻟﺴﻄﺮ رﻗﻢ ) 12ﺣﺬف اﻟﻔﺎﺻﻠﺔ اﻟﻤﻨﻘﻮﻃﺔ ﻓﻲ ﻧﮭﺎﯾﺔ اﻟﺴﻄﺮ ( وﺗﻔﯿ ﺪ رﺳ ﺎﻟﺔ اﻟﺨﻄ ﺄ ﺑ ﺄن اﻟﻤﺘ ﺮﺟﻢ ﯾﺘﻮﻗ ﻊ وﺟ ﻮد اﻟﻔﺎﺻ ﻠﺔ اﻟﻤﻨﻘﻮﻃ ﺔ ﻗﺒ ﻞ اﻟﻜﻠﻤ ﺔ اﻟﻤﺤﺠ ﻮزة ENDوﺑﺎﻟﺘ ﺎﻟﻲ ﯾﻤﻜﻨﻨ ﺎ إﻋ ﺎدة اﻟﻔﺎﺻﻠﺔ اﻟﻤﻨﻘﻮﻃﺔ إﻟﻰ ﻣﻜﺎﻧﮭﺎ وﺗﺨﺰﯾﻦ ھﺬا اﻟﺘﻐﯿﯿﺮ وﻣﻦ ﺛﻢ إﻋﺎدة ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﻣﺮة أﺧﺮى . -٥إﺳﻨﺎد اﻷﻗﻄﺎب Pin Assignment : أﺛﻨ ﺎء ﻋﻤﻠﯿ ﺔ اﻟﺘﺮﺟﻤ ﺔ اﻟﺴ ﺎﺑﻘﺔ أﻋ ﻼه ،ﻛ ﺎن اﻟﻤﺘ ﺮﺟﻢ ﻓ ﻲ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﺣ ﺮاً ﻓ ﻲ اﺧﺘﯿ ﺎر أﯾ ﺔ أﻗﻄ ﺎب ﻣ ﻦ أﻗﻄﺎب اﻟﺸﺮﯾﺤﺔ اﻟﻤﺤ ﺪدة ) اﻟﺸ ﺮﯾﺤﺔ EP2C35F672C6ﻣ ﻦ اﻟﻌﺎﺋﻠ ﺔ ( Cyclone IIﻟﺘﻜ ﻮن ﻣ ﺪاﺧﻞ أو ﻣﺨ ﺎرج ﻟﻠﺪارة .وﻟﻜﻦ ﻓﻲ ﺣﺎﻟﺘﻨ ﺎ ھ ﺬه ،وﺑﺎﻋﺘﺒ ﺎر أن اﻟﺘﻮﺻ ﯿﻼت ﺑ ﯿﻦ أﻗﻄ ﺎب اﻟﺸ ﺮﯾﺤﺔ وﺑ ﺎﻗﻲ ﻣﻜﻮﻧ ﺎت اﻟﺒ ﻮرد DE2ھ ﻲ ﺗﻮﺻﯿﻼت ﺛﺎﺑﺘﺔ وﻻ ﯾﻤﻜﻦ ﺗﻐﯿﯿﺮھﺎ ﻣﻦ ﺟﮭﺔ وأﻧﻨﺎ ﺳﻨﺴﺘﺨﺪم اﻟﻤﻔﺘﺎﺣﯿﻦ SW0و ) SW1وھﻤ ﺎ ﻣﻔﺘﺎﺣ ﺎن ﻣ ﻦ اﻟﻨ ﻮع ON/OFFوﻣﻮﺻﻮﻻن إﻟﻰ اﻟﻘﻄﺒﯿﻦ N25و N26ﻣﻦ أﻗﻄ ﺎب ﺷ ﺮﯾﺤﺔ اﻟ ـ ( FPGAوﺛﻨ ﺎﺋﻲ اﻹﺻ ﺪار اﻟﻀ ﻮﺋﻲ ) LEDG0وھﻮ اﻟﻠﯿﺪ اﻟﻤﻮﺻﻮل إﻟﻰ اﻟﻘﻄﺐ AE22ﻣﻦ اﻟﺸﺮﯾﺤﺔ ( ،ﻓﺈﻧﻨ ﺎ ﻣﻠﺰﻣ ﻮن ﺑ ﺈﻋﻼم اﻟﻤﺘ ﺮﺟﻢ ﺑﮭ ﺬه اﻟﻘﯿ ﻮد اﻟﺜﻼﺛﺔ ﻗﺒﻞ إﻃﻼق ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﻣﻦ ﺧﻼل اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ إﺳﻨﺎد ) ﺗﺨﺼﯿﺺ ( اﻷﻗﻄﺎب ﻛﻤﺎ ھﻮ ﻣﻮﺿﺢ ﻓﯿﻤﺎ ﯾﻠﻲ : ﻣﻦ ﺧﻼل اﻟﻘﺎﺋﻤﺔ Assignmentsﻧﻘﻮم ﺑﺎﻟﻨﻘﺮ ﻋﻠﻰ اﻷﻣﺮ Pinsﻓﺘﻈﮭﺮ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٢٥ ﻧﻼﺣﻆ ﻓﻲ اﻟﻘﺴﻢ اﻟﺴﻔﻠﻲ ﻣﻦ ھﺬه اﻟﻨﺎﻓﺬة وﺟﻮد ﺟﺪول ﯾﺘﻀﻤﻦ ﻛﺎﻓﺔ ﻣ ﺪاﺧﻞ وﻣﺨ ﺎرج اﻟ ﺪارة ) ﻓ ﻲ ﺣﺎﻟﺘﻨ ﺎ ھ ﺬه x1و x2و ( fﻓ ﻲ اﻟﻌﻤ ﻮد اﻷول ﻣﻨ ﮫ واﻟ ﺬي ﯾﺤﻤ ﻞ اﻟﻌﻨ ﻮان . Node Nameﯾﻠ ﻲ ذﻟ ﻚ اﻟﻌﻤ ﻮد ﻋﻤ ﻮد آﺧ ﺮ ﻋﻨﻮاﻧ ﮫ Directionﻟﻠﺪﻻﻟﺔ ﻋﻠﻰ ﻧﻤﻂ اﻟﻤﻨﻔﺬ ) دﺧﻞ أو ﺧﺮج ( وأﺧﯿ ﺮاً ﻓ ﺈن اﻟﻌﻤ ﻮد اﻟﺜﺎﻟ ﺚ ذي اﻟﻌﻨ ﻮان Locationﯾﺴ ﻤﺢ ﻟﻨﺎ ﺑﺈﺳﻨﺎد اﻟﻘﻄﺐ اﻟﻤﻨﺎﺳﺐ ﻣﻦ أﻗﻄﺎب اﻟﺸﺮﯾﺤﺔ إﻟﻰ ﻛ ﻞ ﻣﻨﻔ ﺬ ﻣ ﻦ ﻣﻨﺎﻓ ﺬ اﻟ ﺪارة اﻟﻤ ﺮاد ﺗﻨﺠﯿﺰھ ﺎ .ﻧﺒ ﺪأ ﺑ ﺎﻟﻨﻘﺮ ﺑﺸ ﻜﻞ ﻣﺰدوج ﺿﻤﻦ اﻟﻌﻤﻮد Locationوﺗﺤﺪﯾﺪاً ﻓﻲ اﻟﺴﻄﺮ اﻟﻤﻮاﻓﻖ ﻟﻠﻤﺨﺮج fوﻣﻦ ﺛﻢ ﻧﻜﺘﺐ اﺳﻢ اﻟﻘﻄﺐ اﻟﻤﻨﺎﺳ ﺐ وھ ﻮ AE22ﻛﻤﺎ ﻧﻮھﻨﺎ ﻗﺒﻞ ﻗﻠﯿﻞ وﻧﻀﻐﻂ ﻋﻠﻰ اﻟﻤﻔﺘﺎح . Enterﻧﻨﺘﻘ ﻞ اﻵن إﻟ ﻰ اﻟﺴ ﻄﺮ اﻟﻤﻮاﻓ ﻖ ﻟﻠﻤ ﺪﺧﻞ x1وﺑﻄﺮﯾﻘ ﺔ ﻣﺸﺎﺑﮭﺔ ﻧﻘﻮم ﺑﺈﺳﻨﺎد اﻟﻘﻄﺐ N25إﻟﻰ اﻟﻤﺪﺧﻞ x1وأﺧﯿﺮاً ﻧﻘﻮم ﺑﺈﺳﻨﺎد اﻟﻘﻄﺐ N26إﻟﻰ اﻟﻤﺪﺧﻞ x2ﻓﻨﺤﺼ ﻞ ﻋﻠ ﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ) . (٢٦ﻧﻘﻮم اﻵن ﺑﺈﻏﻼق ھﺬه اﻟﻨﺎﻓﺬة وﻣﻦ ﺛﻢ ﻧﻌﯿﺪ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ ﻣﺮة أﺧﯿﺮة . ١٦
اﻟﺸﻜﻞ ) : (٢٥اﻟﻨﺎﻓﺬة اﻟﺘﻲ ﺗﺴﻤﺢ ﺑﺘﺨﺼﯿﺺ اﻷﻗﻄﺎب ﺑﺎﻟﺸﻜﻞ اﻟﻤﻼﺋﻢ ﻟﺤﺎﻟﺔ اﻟﺒﻮرد . DE2
اﻟﺸﻜﻞ ) : (٢٦ﻧﺎﻓﺬة إﺳﻨﺎد اﻷﻗﻄﺎب ﺑﻌﺪ اﻟﻘﯿﺎم ﺑﻌﻤﻠﯿﺔ ﺗﺨﺼﯿﺺ اﻷﻗﻄﺎب ﻟﻜﻞ ﻣﻦ ﻣﻨﺎﻓﺬ اﻟﺪارة . ﺑﻌﺪ ﻇﮭﻮر ﻧﺎﻓﺬة اﻧﺘﮭﺎء ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤ ﺔ ﺑﻨﺠ ﺎح ﻧﻘ ﻮم ﺑﺈﻏﻼﻗﮭ ﺎ ﻓﻨ ﺮى ﻧﺎﻓ ﺬة أداة اﻟﻤﺘ ﺮﺟﻢ Compiler Toolاﻟﻤﺒﯿﻨ ﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٢٧
اﻟﺸﻜﻞ ) : (٢٧ﻧﺎﻓﺬة أداة اﻟﻤﺘﺮﺟﻢ وﺗﻈﮭﺮ ﻓﯿﮭﺎ أﯾﻘﻮﻧﺎت ﻣﻠﻔﺎت ﺗﻘﺎرﯾﺮ ﻣﺮاﺣﻞ ﻋﻤﻠﯿﺔ اﻟﺘﺮﺟﻤﺔ .
١٧
ﻛﻤﺎ ھﻮ واﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ) ، (٢٧ﻓﺈن ھﺬه اﻟﻨﺎﻓ ﺬة ﺗﺘﻀ ﻤﻦ أﯾﻘﻮﻧ ﺎت ﺗﻤﺜ ﻞ ﻣﻠﻔ ﺎت ﺗﻘ ﺎرﯾﺮ ﻣﺮاﺣ ﻞ ﻋﻤﻠﯿ ﺔ اﻟﺘﺮﺟﻤ ﺔ . ﻓﯿ ﺘﻢ ﻋ ﺮض ﻣﻠ ﻒ ﻧﺼ ﻲ ﯾﻤﺜ ﻞ ﺗﻘﺮﯾ ﺮ ﻋﻤﻠﯿ ﺔ اﻟﺘﻮﺿ ﯿﻊ ﻧﻨﻘﺮ ﺑﺸﻜﻞ ﻣﺰدوج ﻋﻠﻰ أﯾﻘﻮﻧﺔ ﻣﻠﻒ اﻟﻤﻮﺿ ﻊ Fitter واﻟﺬي ﯾﻤﻜﻦ ﻣﻦ ﺧﻼﻟﮫ اﻟﺘﺄﻛﺪ ﻣﻦ أن ﻋﻤﻠﯿﺔ ﺗﺨﺼﯿﺺ اﻷﻗﻄﺎب ﻗﺪ ﺗﻤﺖ ﻛﻤﺎ ﺳﺒﻖ أن ﻧﻮھﻨﺎ أﻋﻼه . -٦ﻣﺤﺎﻛﺎة اﻟﺪارة اﻟﻤﺼﻤﻤﺔ Simulating The Designed Circuit : ﻗﺒ ﻞ ﺗﻨﺠﯿ ﺰ اﻟ ﺪارة اﻟﻤﺼ ﻤﻤﺔ ﺑﻮاﺳ ﻄﺔ ﺷ ﺮﯾﺤﺔ اﻟ ـ FPGAﻋﻠ ﻰ اﻟﺒ ﻮرد DE2ﻣ ﻦ اﻟﺤﻜﻤ ﺔ اﻟﻘﯿ ﺎم ﺑﻌﻤﻠﯿ ﺔ اﻟﻤﺤﺎﻛ ﺎة ﻟﻠﺘﺤﻘ ﻖ ﻣ ﻦ ﺻ ﺤﺔ أداﺋﮭ ﺎ .ﺗﺘﻀ ﻤﻦ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIأداة ﻣﺤﺎﻛ ﺎة ) Simulation Toolھ ﺬا اﻟﻜ ﻼم ﻻ ﯾﻨﻄﺒﻖ ﻋﻠﻰ اﻹﺻﺪار 10.0وﻣﺎ ﺑﻌﺪه !!! ( واﻟﺘﻲ ﯾﻤﻜﻦ اﺳﺘﺨﺪاﻣﮭﺎ ﻟﻤﺤﺎﻛﺎة ﺳ ﻠﻮك ) أداء ( اﻟ ﺪارة اﻟﻤﺼ ﻤﻤﺔ .ﻗﺒ ﻞ أن ﻧ ﺘﻤﻜﻦ ﻣ ﻦ ﻣﺤﺎﻛ ﺎة أداء اﻟ ﺪارة ﻣ ﻦ اﻟﻀ ﺮوري إﻧﺸ ﺎء اﻷﺷ ﻜﺎل اﻟﻤﻮﺟﯿ ﺔ اﻟﻤﺮﻏﻮﺑ ﺔ Desired Waveforms واﻟﺘﻲ ﺗﺴ ﻤﻰ ھﻨ ﺎ أﺷ ﻌﺔ اﻻﺧﺘﺒ ﺎر Test Vectorsﻟﺘﻤﺜﯿ ﻞ إﺷ ﺎرات اﻟ ﺪﺧﻞ .ﻛﻤ ﺎ ﯾﺘﻮﺟ ﺐ ﻋﻠ ﻰ اﻟﻤﺼ ﻤﻢ ﺗﺤﺪﯾ ﺪ أﯾ ﺔ إﺷﺎرات ﺧﺮج أو أﯾﺔ إﺷﺎرات داﺧﻠﯿﺔ ﯾﻮد ﻣﺮاﻗﺒﺘﮭﺎ أﺛﻨﺎء ﻋﻤﻠﯿ ﺔ اﻟﻤﺤﺎﻛ ﺎة .إن اﻟﻤﺤ ﺎﻛﻲ ﯾﻄﺒ ﻖ أﺷ ﻌﺔ اﻻﺧﺘﺒ ﺎر ﻋﻠ ﻰ ﻧﻤﻮذج ﻟﻠﺪارة اﻟﻤﻨﺠﺰة وﯾﻘﻮم ﺑﺘﺤﺪﯾﺪ ﻗﯿﻢ اﻻﺳﺘﺠﺎﺑﺎت اﻟﻤﺘﻮﻗﻌﺔ ﺑﺎﻟﻨﺴﺒﺔ ﻹﺷﺎرات اﻟﺨﺮج واﻹﺷﺎرات اﻟﺪاﺧﻠﯿﺔ . ﺳ ﻮف ﻧﻘ ﻮم ﺑﺎﺳ ﺘﺨﺪام ﻣﺤ ﺮر ﺷ ﻜﻞ اﻟﻤﻮﺟ ﺔ Waveform Editorﺿ ﻤﻦ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﻟﺮﺳ ﻢ أﺷ ﻌﺔ اﻻﺧﺘﺒﺎر وذﻟﻚ ﻛﻤﺎ ﯾﻠﻲ : -١ﯾﻤﻜﻦ ﻓﺘﺢ ﻧﺎﻓﺬة ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ ﻣﻦ ﺧﻼل اﻟﻘﺎﺋﻤ ﺔ اﻟﺮﺋﯿﺴ ﯿﺔ Fileﺣﯿ ﺚ ﻧﺨﺘ ﺎر اﻷﻣ ﺮ Newﻓﻨﺤﺼ ﻞ ﻋﻠ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) . (٢٨ﺿ ﻤﻦ ھ ﺬه اﻟﻨﺎﻓ ﺬة ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟﻨ ﻮع Vector Waveform Fileﺿ ﻤﻦ اﻟﻤﺠﻤﻮﻋﺔ Verification/Debugging Filesﺛﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر . OKﻓﺘﻈﮭﺮ ﻟﻨﺎ اﻟﻨﺎﻓ ﺬة اﻟﺼ ﻐﯿﺮة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) (٢٩واﻟﺘ ﻲ ﺗﻌﻠﻤﻨ ﺎ ﺑ ﺄن اﻹﺻ ﺪارات اﻟﺘﺎﻟﯿ ﺔ ﻣ ﻦ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﻟ ﻦ ﺗﺤﺘ ﻮي ﻋﻠ ﻰ اﻟﻤﺤ ﺎﻛﻲ Simulatorوأن ﺷ ﺮﻛﺔ Alteraﺗﻮﺻ ﻲ ﺑﺎﺳ ﺘﺨﺪام اﻟﺒﺮﻣﺠﯿ ﺔ ModelSimﻣ ﻦ أﺟ ﻞ اﻟﻘﯿ ﺎم ﺑﻌﻤﻠﯿ ﺔ ﻣﺤﺎﻛ ﺎة اﻟﺘﺼﺎﻣﯿﻢ .ﻧﻘﻮم اﻵن ﺑﻮﺿﻊ إﺷﺎرة اﺧﺘﯿﺎر ﻗﺮب اﻟﻌﺒﺎرة Don't show this againﺛﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر . Ok
اﻟﺸﻜﻞ ) : (٢٨ﻧﺎﻓﺬة اﺧﺘﯿﺎر ﻧﻮع اﻟﻤﻠﻒ اﻟﺠﺪﯾﺪ اﻟﻤﺮاد إﻧﺸﺎؤه .
اﻟﺸﻜﻞ ) : (٢٩اﻹﺻﺪارات اﻟﺘﺎﻟﯿﺔ ﻟﻠﺒﺮﻣﺠﯿﺔ Quartus IIﻟﻦ ﺗﺘﻀﻤﻦ أداة اﻟﻤﺤﺎﻛﺎة !!! ١٨
-٢ﯾﺒﯿﻦ اﻟﺸﻜﻞ ) (٣٠ﻧﺎﻓﺬة ﻣﺤﺮر ﺷ ﻜﻞ اﻟﻤﻮﺟ ﺔ .ﻧﻘ ﻮم اﻵن ﺑﺘﺨ ﺰﯾﻦ اﻟﻤﻠ ﻒ ﺑﺎﺳ ﻢ light.vwfاﻷﻣ ﺮ اﻟ ﺬي ﯾ ﺆدي إﻟﻰ ﻇﮭﻮر اﺳﻢ اﻟﻤﻠﻒ ﻓﻲ ﺷﺮﯾﻂ اﻟﻌﻨ ﻮان .ﺑﺎﻟﻤﻨﺎﺳ ﺒﺔ ،ﯾﻤﻜﻨﻨ ﺎ ھﻨ ﺎ ﻓﺼ ﻞ ﻧﺎﻓ ﺬة ﻣﺤ ﺮر ﺷ ﻜﻞ اﻟﻤﻮﺟ ﺔ ﻟﺘﺼ ﺒﺢ ﻧﺎﻓ ﺬة ﻣﺴ ﺘﻘﻠﺔ ﻣ ﻦ ﺧ ﻼل اﻟﻨﻘ ﺮ ﻋﻠ ﻰ اﻷﯾﻘﻮﻧ ﺔ Detach Windowوذﻟ ﻚ ﺑﮭ ﺪف ﻛﺴ ﺐ اﻟﻤﺴ ﺎﺣﺔ ﻟﻠﻌ ﺮض .اﻟﺸ ﻜﻞ ) (٣١ﯾﺒﯿﻦ ﻧﺎﻓﺬة ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ ﺑﻌﺪ ﻓﺼﻠﮭﺎ ﻋﻦ اﻟﻨﺎﻓﺬة اﻟﺮﺋﯿﺴﯿﺔ ﻟﻠﺒﺮﻣﺠﯿﺔ . Quartus II
اﻟﺸﻜﻞ ) : (٣٠ﻧﺎﻓﺬة ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ ﺿﻤﻦ اﻟﺒﺮﻣﺠﯿﺔ . Quartus II
اﻟﺸﻜﻞ ) : (٣١ﻧﺎﻓﺬة ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ ﺑﻌﺪ ﺗﺨﺰﯾﻦ اﻟﻤﻠﻒ light.vwfوﻓﺼﻠﮭﺎ ﻋﻦ اﻟﻨﺎﻓﺬة اﻟﺮﺋﯿﺴﯿﺔ . -٣ﻧﻘﻮم اﻵن ﺑﺘﺤﺪﯾﺪ اﻟﺰﻣﻦ اﻟﻤﺮﻏﻮب ﻟﻌﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة ) وﻟﯿﻜﻦ ﻣﺜﻼً ﻣﻦ اﻟﻠﺤﻈ ﺔ اﻟﺰﻣﻨﯿ ﺔ t = 0 nsوﺣﺘ ﻰ اﻟﻠﺤﻈ ﺔ اﻟﺰﻣﻨﯿﺔ ( t = 200 nsوذﻟﻚ ﻣﻦ ﺧﻼل اﻟﻘﺎﺋﻤﺔ Editواﺧﺘﯿﺎر اﻷﻣﺮ … End Timeﻓﻨﺤﺼ ﻞ ﻋﻠ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓﻲ اﻟﺸﻜﻞ ) . (٣٢ﺿ ﻤﻦ ھ ﺬه اﻟﻨﺎﻓ ﺬة ﻧﻀ ﺒﻂ اﻟﻘﯿﻤ ﺔ 200واﻟﻮاﺣ ﺪة nsﺛ ﻢ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر . OKﯾﻤﻜ ﻦ اﻵن ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ Viewاﺧﺘﯿ ﺎر اﻷﻣ ﺮ ) Fit in Windowأو اﻟﻀ ﻐﻂ ﻋﻠ ﻰ اﻻﺧﺘﺼ ﺎر اﻟﻤﻔﺘ ﺎﺣﻲ ( Ctrl+Wﻹﻇﮭ ﺎر ﻛﺎﻣﻞ ﻣﺤﻮر اﻟﺰﻣﻦ ﺿﻤﻦ ﻧﺎﻓﺬة ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ . -٤اﻵن ،ﺳ ﻨﻘﻮم ﺑﺘﻀ ﻤﯿﻦ ) إﺣﻀ ﺎر ( ﻋﻘ ﺪ اﻟ ﺪارة ) أو ﻣﻨﺎﻓ ﺬ اﻟ ﺪارة ( ﻣ ﻦ ﻣ ﺪاﺧﻞ وﻣﺨ ﺎرج .ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ Edit ﻧﺨﺘ ﺎر اﻷﻣ ﺮ اﻟﻤﺘﻔ ﺮع Insertوﻣﻨ ﮫ ﻧﺨﺘ ﺎر اﻷﻣ ﺮ … Insert Node or Busﻓﻨﺤﺼ ﻞ ﻋﻠ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸﻜﻞ ). (٣٣ ١٩
اﻟﺸﻜﻞ ) : (٣٢ﻧﺎﻓﺬة ﺗﺤﺪﯾﺪ ﻗﯿﻤﺔ ﻧﮭﺎﯾﺔ ﻣﺤﻮر اﻟﺰﻣﻦ . End Time
اﻟﺸﻜﻞ ) : (٣٣ﻧﺎﻓﺬة إدراج ﻋﻘﺪة Nodeأو ﻣﻤﺮ . Bus -٥ﺿﻤﻦ اﻟﻨﺎﻓﺬة اﻟﺤﺎﻟﯿﺔ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر … Node Finderﻓﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺎﻓﺬة اﻟﻤﻮﺿﺤﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٣٤
اﻟﺸﻜﻞ ) : (٣٤ﻧﺎﻓﺬة . Node Finder -٦ﺿﻤﻦ اﻟﻨﺎﻓﺬة اﻟﺤﺎﻟﯿ ﺔ ﯾﻤﻜ ﻦ اﺧﺘﯿ ﺎر ﻧ ﻮع اﻟﻌﻘ ﺪ اﻟﺘ ﻲ ﻧﺮﯾ ﺪ إدراﺟﮭ ﺎ وﻓ ﻲ ﺣﺎﻟﺘﻨ ﺎ ھ ﺬه ﺳ ﻨﺨﺘﺎر اﻟﺨﯿ ﺎر Pins: all ﺿﻤﻦ اﻟﺤﻘﻞ ذي اﻟﻌﻨﻮان Filterﺛﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟ ﺰر Listﻓﺘﻈﮭ ﺮ ﻛﺎﻓ ﺔ ﻣﻨﺎﻓ ﺬ اﻟ ﺪارة ﻓ ﻲ اﻟﺠ ﺰء اﻷﯾﺴ ﺮ ﻣ ﻦ اﻟﻨﺎﻓ ﺬة ﻓﺘﻈﮭﺮ ﻛﺎﻓﺔ اﻟﻤﻨﺎﻓﺬ ﻓﻲ اﻟﺠ ﺰء اﻷﯾﻤ ﻦ ﺗﺤﺖ اﻟﻤﻨﻄﻘﺔ ذات اﻟﻌﻨﻮان . Nodes Found:ﻧﻨﻘﺮ ﻋﻨﺪھﺎ ﻋﻠﻰ اﻟﺰر ﻣﻦ اﻟﻨﺎﻓﺬة ﺗﺤﺖ اﻟﻤﻨﻄﻘﺔ ذات اﻟﻌﻨﻮان Selected Nodes:ﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ اﻟﺸ ﻜﻞ ) . (٣٥ﻧﻨﻘ ﺮ اﻵن ﻋﻠ ﻰ اﻟ ﺰر OKﻓﻨﻌﻮد إﻟﻰ اﻟﻨﺎﻓﺬة ذات اﻟﻌﻨﻮان Insert Node or Busاﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ) (٣٦واﻟﺘﻲ ﻧﺨﺘﺎر ﻓﯿﮭﺎ ﻧﻈ ﺎم اﻟﻌ ﺪ اﻟﺜﻨﺎﺋﻲ Binaryﺿﻤﻦ اﻟﺤﻘﻞ Radixﺛﻢ ﻧﻨﻘﺮ ﻋﻠ ﻰ اﻟ ﺰر OKﻓﻨﻌ ﻮد ﺑ ﺬﻟﻚ إﻟ ﻰ ﻧﺎﻓ ﺬة ﻣﺤ ﺮر ﺷ ﻜﻞ اﻟﻤﻮﺟ ﺔ واﻟﺘ ﻲ ﻧﺸﺎھﺪ ﻓﯿﮭﺎ اﻵن ﻛﺎﻓﺔ إﺷﺎرات اﻟﺪﺧﻞ واﻟﺨﺮج ﻟﻠﺪارة ﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ). (٣٧ ٢٠
اﻟﺸﻜﻞ ) : (٣٥ﻧﺎﻓﺬة Node Finderﺑﻌﺪ ﺗﺤﺪﯾﺪ ﻣﻨﺎﻓﺬ اﻟﺪارة اﻟﺘﻲ ﻧﺮﯾﺪ ﻣﺮاﻗﺒﺘﮭﺎ أﺛﻨﺎء ﻋﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة .
اﻟﺸﻜﻞ ) : (٣٦ﻧﺎﻓﺬة إدراج ﻋﻘﺪة أو ﻣﻤﺮ ﻣﻊ ﺗﺤﺪﯾﺪ ااﻟﻨﻈﺎم اﻟﺜﻨﺎﺋﻲ Binaryﺿﻤﻦ اﻟﺤﻘﻞ . Radix
اﻟﺸﻜﻞ ) : (٣٧ﻧﺎﻓﺬة ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ ﺑﻌﺪ إﺣﻀﺎر إﺷﺎرات اﻟﺪﺧﻞ واﻟﺨﺮج . -٧ﺳﻨﻀﺒﻂ اﻵن ﻗﯿﻤﺔ ﺧﻄﻮة اﻟﺰﻣﻦ Grid Sizeﺑﺤﯿ ﺚ ﺗﺴ ﺎوي . 50 nsإن ھ ﺬا ﯾﻤﻜ ﻦ أن ﯾ ﺘﻢ ﻣ ﻦ ﺧ ﻼل اﻟﻘﺎﺋﻤ ﺔ Editﺣﯿﺚ ﻧﺨﺘﺎر اﻷﻣﺮ … Grid Sizeﻓﺘﻈﮭﺮ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) (٣٨واﻟﺘ ﻲ ﺗﺴ ﻤﺢ ﺑﺘﻐﯿﯿ ﺮ ﻗﯿﻤ ﺔ ﺧﻄ ﻮة اﻟﺰﻣﻦ إﻟﻰ اﻟﻘﯿﻤﺔ . 50 nsﺑﻌﺪ اﻻﻧﺘﮭﺎء ﻣﻦ ﺿﺒﻂ اﻟﻘﯿﻤﺔ اﻟﺠﺪﯾﺪة ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر . OK
اﻟﺸﻜﻞ ) : (٣٨ﻧﺎﻓﺬة ﺿﺒﻂ ﻗﯿﻤﺔ ﺧﻄﻮة اﻟﺰﻣﻦ Grid Sizeﻓﻲ ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ . ٢١
-٨ﻛﻤﺎ رأﯾﻨﺎ ﺳﺎﺑﻘﺎً أﺛﻨ ﺎء اﺳ ﺘﺨﺪام اﻟﺒﺮﻣﺠﯿ ﺔ MAX PLUS IIﻓﺈﻧ ﮫ ﻣ ﻦ اﻟﻤﻔﻀ ﻞ ﺗﺮﺗﯿ ﺐ ﺗﺴﻠﺴ ﻞ ﻇﮭ ﻮر إﺷ ﺎرات ﻣﻨﺎﻓﺬ اﻟﺪارة ﺑﺤﯿﺚ ﻧﻀﻊ ﻓﻲ اﻟﺒﺪاﯾﺔ اﻟﻤﺪاﺧﻞ وﻣﻦ ﺛﻢ اﻟﻤﺨﺎرج .ﻓﻲ ﺣﺎﻟﺘﻨﺎ ھﺬه ﺳﻨﺰﻟﻖ إﺷ ﺎرة اﻟﺨ ﺮج fإﻟ ﻰ اﻷﺳ ﻔﻞ وذﻟﻚ ﻣﻦ ﺧﻼل اﻟﻨﻘﺮ ﻋﻠﻰ ﻣِﻤﺴﻚ Handleاﻹﺷ ﺎرة fوﻣ ﻦ ﺛ ﻢ ﺗﺤﺮﯾﻜ ﮫ إﻟ ﻰ اﻷﺳ ﻔﻞ ﻟﯿﺘﻮﺿ ﻊ ﺗﺤ ﺖ إﺷ ﺎرة اﻟ ﺪﺧﻞ x2ﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ). (٣٩
اﻟﺸﻜﻞ ) : (٣٩ﻧﺎﻓﺬة ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ ﺑﻌﺪ ﺿﺒﻂ ﻗﯿﻤﺔ ﺧﻄﻮة اﻟﺰﻣﻦ و إﻋﺎدة ﺗﺮﺗﯿﺐ أﻣﺎﻛﻦ ﻣﻨﺎﻓﺬ اﻟﺪارة . -٩ﯾﺘﻮﺟﺐ اﻵن اﻟﺒ ﺪء ﺑﺈﻋﻄ ﺎء ﻗ ﯿﻢ ﻟﻜ ﻞ ﻣ ﻦ إﺷ ﺎرﺗﻲ اﻟ ﺪﺧﻞ x1و . x2إن ھ ﺬه اﻟﻘ ﯿﻢ ﯾﻤﻜ ﻦ أن ﺗُﺤ ﺪّد ﺑﺸ ﻜﻞ ﻛﯿﻔ ﻲ وﻟﻜ ﻦ ﺑﺎﻋﺘﺒ ﺎر أن اﻟ ﺪارة اﻟﻤﺼ ﻤﻤﺔ ﺗﺮﻛﯿﺒﯿ ﺔ ﺗﻤﺎﻣ ﺎً ﻓﻤ ﻦ اﻟﻤُﻔﻀ ﻞ ﺗﻐﻄﯿ ﺔ ﻛﺎﻓ ﺔ اﻟﺤ ﺎﻻت اﻟﻤﻤﻜﻨ ﺔ ﻟﺠ ﺪول اﻟﺤﻘﯿﻘ ﺔ اﻟﻤﻌﺮوض ﻓﻲ اﻟﺸﻜﻞ ) . (١٢أي ﺳﻮف ﻧﻌﻄﻲ إﺷﺎرة اﻟ ﺪﺧﻞ x1اﻟﻘﯿﻤ ﺔ ' '0ﺧ ﻼل اﻟﻤﺠ ﺎل اﻟﺰﻣﻨ ﻲ اﻟﻤﺤﺼ ﻮر ﺑ ﯿﻦ اﻟﻠﺤﻈﺘﯿﻦ t = 0 nsو t = 100 nsواﻟﻘﯿﻤﺔ ' '1ﺧﻼل اﻟﻤﺠﺎل اﻟﺰﻣﻨﻲ اﻟﻤﺤﺼ ﻮر ﺑ ﯿﻦ اﻟﻠﺤﻈﺘ ﯿﻦ t = 100 ns و t = 200 nsﻛﻤﺎ أﻧﻨﺎ ﺳﻨﻌﻄﻲ إﺷﺎرة اﻟﺪﺧﻞ x2اﻟﻘﯿﻤﺔ ' '0ﺧﻼل ﻛ ﻞ ﻣ ﻦ اﻟﻤﺠ ﺎﻟﯿﻦ اﻟ ﺰﻣﻨﯿﯿﻦ ] [ 0 ns – 50 ns و ] [ 100 ns – 150 nsﻓﻲ ﺣﯿﻦ أن اﻟﻘﯿﻤﺔ ' '1ﺳﺘﻌﻄﻰ إﻟﻰ إﺷﺎرة اﻟﺪﺧﻞ x2ﺧﻼل ﻛ ﻞ ﻣ ﻦ اﻟﻤﺠ ﺎﻟﯿﻦ اﻟ ﺰﻣﻨﯿﯿﻦ ] [ 50 ns – 100 nsو ] [ 150 ns – 200 nsﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ). (٤٠
اﻟﺸﻜﻞ ) : (٤٠إﻋﻄﺎء اﻟﻘﯿﻢ ﻟﻺﺷﺎرﺗﯿﻦ x1و x2ﺑﺸﻜﻞ ﻣﻮاﻓﻖ ﻟﺠﺪول اﻟﺤﻘﯿﻘﺔ ﻟﻠﺪارة . -١٠ﻧﻘﻮم ﺑﺘﺨﺰﯾﻦ ھﺬه اﻟﺘﻐﯿﯿﺮات ﻓﻲ اﻟﻤﻠﻒ light.vwfاﺳﺘﻌﺪاداً ﻟﺒﺪء ﻋﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة .إن اﻟﺪارة اﻟﻤﺼ ﻤﻤﺔ ﯾﻤﻜ ﻦ أن ﺗُﺤﺎﻛﻰ ﺑﻄﺮﯾﻘﺘﯿﻦ ﻣﺨﺘﻠﻔﺘﯿﻦ .اﻟﻄﺮﯾﻘﺔ اﻷﺑﺴ ﻂ ﺗﻌﺘﻤ ﺪ ﻋﻠ ﻰ اﻓﺘ ﺮاض أن اﻟﻌﻨﺎﺻ ﺮ اﻟﻤﻨﻄﻘﯿ ﺔ Logic Elements وأﺳ ﻼك اﻟﺘﻮﺻ ﯿﻞ Interconnection Wiresھ ﻲ ﻣﺜﺎﻟﯿ ﺔ وﻻ ﺗﺴ ﺒﺐ أي ﺗ ﺄﺧﯿﺮ أﺛﻨ ﺎء اﻧﺘﺸ ﺎر اﻹﺷ ﺎرات ﺧ ﻼل ٢٢
اﻟ ﺪارة .ھ ﺬه اﻟﻄﺮﯾﻘ ﺔ ﻣ ﻦ اﻟﻤﺤﺎﻛ ﺎة ﺗ ﺪﻋﻰ اﻟﻤﺤﺎﻛ ﺎة اﻟﻮﻇﺎﺋﻔﯿ ﺔ . Functional Simulationاﻟﻄﺮﯾﻘ ﺔ اﻷﺧ ﺮى واﻟﺘﻲ ﺗﻜﻮن ﻋﻤﻮﻣﺎً أﻛﺜﺮ ﺗﻌﻘﯿﺪاً ﺗﺄﺧﺬ ﺑﺎﻟﺤﺴﺒﺎن ﻛﺎﻓﺔ اﻟﺘﺄﺧﯿﺮات اﻟﻨﺎﺟﻤﺔ ﻋﻦ اﻧﺘﺸﺎر اﻹﺷﺎرات ﺧ ﻼل اﻟ ﺪارة وﺗ ﺪﻋﻰ اﻟﻤﺤﺎﻛﺎة اﻟﺰﻣﻨﯿﺔ . Timing Simulationﻋﻤﻮﻣﺎً ،ﺗُﺴﺘﺨﺪم اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﻟﻠﺘﺤﻘﻖ ﻣ ﻦ ﺻ ﺤﺔ وﻇ ﺎﺋﻒ اﻟ ﺪارة ﻛﻤﺎ ﺗﻢ ﺗﺼﻤﯿﻤﮭﺎ .إن ذﻟﻚ ﺑﺎﻟﻄﺒﻊ ﯾﺘﻄﻠﺐ زﻣﻨﺎً أﻗﻞ ﻷن اﻟﻤﺤﺎﻛﺎة ﯾﻤﻜﻦ أن ﺗُﻨﺠﺰ ﺑﺒﺴﺎﻃﺔ ﺑﺎﺳ ﺘﺨﺪام اﻟﺘﻌ ﺎﺑﯿﺮ اﻟﻤﻨﻄﻘﯿ ﺔ اﻟﺘﻲ ﺗﺤﺪد وﻇﺎﺋﻒ اﻟﺪارة . -١-٦اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ Functional Simulation : ﻹﺟﺮاء اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﻧﺨﺘﺎر ﻣﻦ اﻟﻘﺎﺋﻤﺔ Assignmentsاﻷﻣﺮ … Settingsﻓﻨﺤﺼﻞ ﻋﻠ ﻰ ﻧﺎﻓ ﺬة اﻹﻋ ﺪادات Settingsاﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٤١
اﻟﺸﻜﻞ ) : (٤١ﻧﺎﻓﺬة اﻹﻋﺪادات . Settings ﻧﻨﻘ ﺮ ﻋﻠ ﻰ إﻋ ﺪادات اﻟﻤﺤ ﺎﻛﻲ Simulator Settingsﻓ ﻲ اﻟﺠ ﺰء اﻷﯾﺴ ﺮ ﻣ ﻦ ھ ﺬه اﻟﻨﺎﻓ ﺬة ﻓﻨﺤﺼ ﻞ ﻋﻠ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٤٢
اﻟﺸﻜﻞ ) : (٤٢ﻧﺎﻓﺬة إﻋﺪادات اﻟﻤﺤﺎﻛﻲ . Simulator Settings Window ﺿﻤﻦ ھﺬه اﻟﻨﺎﻓﺬة ﻧﻘﻮم ﺑﺎﺧﺘﯿﺎر ﻧﻤﻂ اﻟﻤﺤﺎﻛﺎة Simulation Modeﺑﺤﯿﺚ ﯾﻜﻮن ﻣﻦ اﻟﻨ ﻮع Functionalﺛ ﻢ ﻧﻨﻘ ﺮ ﻋﻠﻰ اﻟﺰر OKﻹﻏﻼق ھﺬه اﻟﻨﺎﻓﺬة .إن اﻟﻤﺤﺎﻛﻲ ﻓﻲ اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﺳ ﯿﺄﺧﺬ ﻗ ﯿﻢ إﺷ ﺎرت اﻟ ﺪﺧﻞ ﺑﺎﻟﺤﺴ ﺒﺎن وﯾﻮﻟﺪ ﻗﯿﻢ إﺷﺎرات اﻟﺨﺮج اﻟﻤﻮاﻓﻘﺔ ﺿﻤﻦ اﻟﻤﻠﻒ . light.vwfﻗﺒﻞ إﻃﻼق اﻟﻤﺤﺎﻛ ﺎة اﻟﻮﻇﺎﺋﻔﯿ ﺔ ﯾﺘﻮﺟ ﺐ ﻋﻠﯿﻨ ﺎ إﻧﺸ ﺎء ﻻﺋﺤ ﺔ اﻟﺘﻮﺻ ﯿﻞ اﻟﻤﻄﻠﻮﺑ ﺔ Required Netlistواﻟﺘ ﻲ ﯾﻤﻜ ﻦ ﺗﻮﻟﯿ ﺪھﺎ ﻣ ﻦ ﺧ ﻼل اﻟﻘﺎﺋﻤ ﺔ Processingواﺧﺘﯿ ﺎر اﻷﻣ ﺮ . Generate Functional Simulation Netlistﺑﻌ ﺪ ﻋ ﺪة ﺛ ﻮان ﻣ ﻦ اﻟﻨﻘ ﺮ ﻋﻠ ﻰ اﻷﻣ ﺮ اﻷﺧﯿ ﺮ ﻧﺤﺼ ﻞ ٢٣
ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ) (٤٣واﻟﺘﻲ ﺗ ﺪل ﻋﻠ ﻰ أن اﻟﻼﺋﺤ ﺔ اﻟﻤﻄﻠﻮﺑ ﺔ ﻗ ﺪ أﺻ ﺒﺤﺖ ﺟ ﺎھﺰة اﻵن .ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟﺰر ﻣﻮاﻓﻖ ) أو . ( OK
اﻟﺸﻜﻞ ) : (٤٣رﺳﺎﻟﺔ اﻧﺘﮭﺎء ﻋﻤﻠﯿﺔ ﺗﻮﻟﯿﺪ ﻻﺋﺤﺔ اﻟﺘﻮﺻﯿﻞ ﻣﻦ أﺟﻞ اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﺑﻨﺠﺎح . ﯾﻤﻜﻨﻨﺎ اﻵن إﻃﻼق ﻋﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﺿﻤﻦ اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﻣﻦ ﺧﻼل اﻟﻘﺎﺋﻤ ﺔ Processingﺑ ﺎﻟﻨﻘﺮ ﻋﻠ ﻰ اﻷﻣ ﺮ ) Start Simulationاﻻﺧﺘﺼ ﺎر اﻟﻤﻔﺘ ﺎﺣﻲ . ( Ctrl+Iﺑﻌ ﺪ ﻓﺘ ﺮة ﻗﺼ ﯿﺮة وﻓ ﻲ ﺣﺎﻟ ﺔ اﻧﺘﮭ ﺎء ﻋﻤﻠﯿ ﺔ اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﺑﻨﺠﺎح ﻧﺤﺼﻞ ﻋﻠﻰ اﻟﺮﺳﺎﻟﺔ اﻟﻘﺼﯿﺮة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٤٤
اﻟﺸﻜﻞ ) : (٤٤رﺳﺎﻟﺔ اﻧﺘﮭﺎء ﻋﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﺑﻨﺠﺎح . ﻧﻨﻘﺮ اﻵن ﻋﻠﻰ اﻟﺰر ﻣﻮاﻓﻖ ) أو ( OKﺛﻢ ﻧﻐﻠﻖ ﻧﺎﻓﺬة اﻟﻤﺤﺎﻛﻲ ﻓﺘﻈﮭﺮ ﻟﻨﺎ اﻟﺮﺳﺎﻟﺔ اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٤٥
اﻟﺸﻜﻞ ) : (٤٥ﻋﻨﺪ اﻻﻧﺘﮭﺎء ﻣﻦ ﻋﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة وإﻏﻼق ﻧﺎﻓﺬة اﻟﻤﺤﺎﻛﻲ ﯾﻜﻮن اﻟﻤﻠﻒ light.vwfﻗﺪ ﺗﻐﯿﺮ !!! ﻛﻤﺎ ھﻮ واﺿﺢ ﻓﻲ ھﺬه اﻟﺮﺳﺎﻟﺔ ﻓﺈن ﻋﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﺗﻐﯿﺮ ﻣﻦ ﻗﯿﻢ إﺷﺎرات اﻟﺨ ﺮج ﻓ ﻲ اﻟﻤﻠ ﻒ light.vwf وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﺗﺴ ﺘﺄذن ﺑﺈﻋ ﺎدة ﺗﺤﻤﯿ ﻞ اﻟﻤﻠ ﻒ ) ﻋﺮﺿ ﮫ ﺑﻌ ﺪ اﻟﺘﻐﯿﯿ ﺮات ( ﻟ ﺬﻟﻚ ﻧﻨﻘ ﺮ ﺑﺒﺴ ﺎﻃﺔ ﻓﻮق اﻟﺰر ﻧﻌﻢ ) أو ( Yesﻓﻨﺤﺼﻞ ﻋﻠﻰ ﻧﺘﺎﺋﺞ اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﺿﻤﻦ ﻧﺎﻓﺬة ﻣﺤ ﺮر ﺷ ﻜﻞ اﻟﻤﻮﺟ ﺔ ﻛﻤ ﺎ ھ ﻮ ﻣﺒ ﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ). (٤٦
اﻟﺸﻜﻞ ) : (٤٦ﻧﺘﺎﺋﺞ اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﻟﻠﺪارة اﻟﻤﺼﻤﻤﺔ . ٢٤
ﻛﻤﺎ ھﻮ واﺿﺢ ﻓﻲ اﻟﺸﻜﻞ ) (٤٦ﻓﺈن ﻧﺘﺎﺋﺞ اﻟﻤﺤﺎﻛﺎة اﻟﻮﻇﺎﺋﻔﯿﺔ ﻣﻄﺎﺑﻘﺔ ﺗﻤﺎﻣﺎً ﻟﻤﺎ ھﻮ ﻣﻨﺘﻈﺮ إذ أن اﻟﺘﺎﺑﻊ fاﻟﺬي ﯾﻤﺜ ﻞ إﺷﺎرة اﻟﺨﺮج ﻣﻄﺎﺑﻖ ﺗﻤﺎﻣﺎً ﻟﻤﺎ ورد ﻓﻲ ﺟﺪول اﻟﺤﻘﯿﻘﺔ اﻟﻤﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ ). (١٢ -٢-٦اﻟﻤﺤﺎﻛﺎة اﻟﺰﻣﻨﯿﺔ Timing Simulation : ﺑﻌﺪ اﻟﺘﺄﻛﺪ ﻣﻦ ﺻﺤﺔ وﻇﺎﺋﻒ اﻟﺪارة اﻟﻤﺼ ﻤﻤﺔ اﻋﺘﻤ ﺎداً ﻋﻠ ﻰ ﻧﺘ ﺎﺋﺞ اﻟﻤﺤﺎﻛ ﺎة اﻟﻮﻇﺎﺋﻔﯿ ﺔ ﯾﻤﻜﻨﻨ ﺎ اﻵن اﻟﻘﯿ ﺎم ﺑﺎﻟﻤﺤﺎﻛ ﺎة اﻟﺰﻣﻨﯿﺔ وذﻟﻚ ﻟﻜﻲ ﻧﺮى ﻛﯿﻔﯿﺔ أداء اﻟﺪارة ﻋﻨﺪﻣﺎ ﯾﺘﻢ ﺗﻨﺠﯿﺰھﺎ ﻓﻌﻠﯿﺎً ﺑﺎﺳﺘﺨﺪام ﺷﺮﯾﺤﺔ اﻟـ FPGAاﻟﻤﺨﺘﺎرة .ﻹﺟ ﺮاء اﻟﻤﺤﺎﻛ ﺎة اﻟﺰﻣﻨﯿ ﺔ ﻧﺨﺘ ﺎر ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ Assignmentsاﻷﻣ ﺮ Settings..ﻓﻨﺤﺼ ﻞ ﻋﻠ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) . (٤١ﻧﻨﻘ ﺮ ﻋﻠ ﻰ إﻋ ﺪادات اﻟﻤﺤ ﺎﻛﻲ Simulator Settingsﻓ ﻲ اﻟﺠ ﺰء اﻷﯾﺴ ﺮ ﻣ ﻦ ھ ﺬه اﻟﻨﺎﻓ ﺬة ﻓﻨﺤﺼ ﻞ ﻋﻠ ﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ) . (٤٢ﺿﻤﻦ ھﺬه اﻟﻨﺎﻓﺬة ﻧﻘﻮم ﺑﺎﺧﺘﯿﺎر ﻧﻤﻂ اﻟﻤﺤﺎﻛ ﺎة Simulation Modeﺑﺤﯿ ﺚ ﯾﻜ ﻮن ﻣ ﻦ اﻟﻨ ﻮع Timingﺛ ﻢ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر OKﻹﻏ ﻼق ھ ﺬه اﻟﻨﺎﻓ ﺬة .ﯾﻤﻜﻨﻨ ﺎ اﻵن إﻃ ﻼق ﻋﻤﻠﯿ ﺔ اﻟﻤﺤﺎﻛ ﺎة اﻟﺰﻣﻨﯿ ﺔ ﺿ ﻤﻦ اﻟﺒﺮﻣﺠﯿ ﺔ Quartus IIﻣ ﻦ ﺧ ﻼل اﻟﻘﺎﺋﻤ ﺔ Processingﺑ ﺎﻟﻨﻘﺮ ﻋﻠ ﻰ اﻷﻣ ﺮ ) Start Simulation اﻻﺧﺘﺼﺎر اﻟﻤﻔﺘﺎﺣﻲ . ( Ctrl+Iﺑﻌﺪ ﻓﺘ ﺮة ﻗﺼ ﯿﺮة وﻓ ﻲ ﺣﺎﻟ ﺔ اﻧﺘﮭ ﺎء ﻋﻤﻠﯿ ﺔ اﻟﻤﺤﺎﻛ ﺎة اﻟﺰﻣﻨﯿ ﺔ ﺑﻨﺠ ﺎح ﻧﺤﺼ ﻞ ﻋﻠ ﻰ اﻟﺮﺳﺎﻟﺔ اﻟﻘﺼﯿﺮة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ ). (٤٧
اﻟﺸﻜﻞ ) : (٤٧رﺳﺎﻟﺔ اﻧﺘﮭﺎء ﻋﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة اﻟﺰﻣﻨﯿﺔ ﺑﻨﺠﺎح . ﻧﻨﻘﺮ اﻵن ﻋﻠﻰ اﻟﺰر ﻣﻮاﻓﻖ ) أو ( OKﺛﻢ ﻧﻐﻠﻖ ﻧﺎﻓﺬة اﻟﻤﺤﺎﻛﻲ ﻓﺘﻈﮭ ﺮ ﻟﻨ ﺎ اﻟﺮﺳ ﺎﻟﺔ اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ ) . (٤٥ﻛﻤ ﺎ ھﻮ واﺿﺢ ﻓﻲ ھﺬه اﻟﺮﺳﺎﻟﺔ ﻓﺈن ﻋﻤﻠﯿﺔ اﻟﻤﺤﺎﻛﺎة اﻟﺰﻣﻨﯿﺔ ﺗﻐﯿﺮ أﯾﻀﺎً ﻣﻦ ﻗﯿﻢ إﺷ ﺎرات اﻟﺨ ﺮج ﻓ ﻲ اﻟﻤﻠ ﻒ light.vwf وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﺒﺮﻣﺠﯿﺔ Quartus IIﺗﺴ ﺘﺄذن ﺑﺈﻋ ﺎدة ﺗﺤﻤﯿ ﻞ اﻟﻤﻠ ﻒ ) ﻋﺮﺿ ﮫ ﺑﻌ ﺪ اﻟﺘﻐﯿﯿ ﺮات ( ﻟ ﺬﻟﻚ ﻧﻨﻘ ﺮ ﺑﺒﺴ ﺎﻃﺔ ﻓﻮق اﻟﺰر ﻧﻌﻢ ) أو ( Yesﻓﻨﺤﺼﻞ ﻋﻠﻰ ﻧﺘﺎﺋﺞ اﻟﻤﺤﺎﻛﺎة اﻟﺰﻣﻨﯿﺔ ﺿﻤﻦ ﻧﺎﻓﺬة ﻣﺤﺮر ﺷﻜﻞ اﻟﻤﻮﺟﺔ ﻛﻤﺎ ھﻮ ﻣﺒ ﯿﻦ ﻓ ﻲ اﻟﺸﻜﻞ ). (٤٨
اﻟﺸﻜﻞ ) : (٤٨ﻧﺘﺎﺋﺞ اﻟﻤﺤﺎﻛﺎة اﻟﺰﻣﻨﯿﺔ ﻟﻠﺪارة اﻟﻤﺼﻤﻤﺔ . ﻧﻼﺣﻆ اﻵن ﻓﻲ اﻟﺸﻜﻞ ) (٤٨أن اﻟﺨﺮج fﻻ ﯾﺘﻐﯿ ﺮ آﻧﯿ ﺎً ﻋﻨ ﺪ ﺗﻐﯿ ﺮ ﻗ ﯿﻢ إﺷ ﺎرات اﻟ ﺪﺧﻞ x1و x2وإﻧﻤ ﺎ ﺑﻌ ﺪ ﺗ ﺄﺧﯿﺮ زﻣﻨﻲ ﻗﺪره ﺣﻮاﻟﻰ . 6 nsإن ھﺬا اﻟﺘﺄﺧﯿﺮ ﻧﺎﺟﻢ ﻋﻦ ﺗﺄﺧﯿﺮ اﻻﻧﺘﺸﺎر ﻓﻲ اﻟﻌﻨﺼﺮ اﻟﻤﻨﻄﻘﻲ Logic Elementوﻓ ﻲ أﺳﻼك اﻟﺘﻮﺻﯿﻞ داﺧﻞ ﺷﺮﯾﺤﺔ اﻟـ . FPGA ﻓ ﻲ اﻟﺠﻠﺴ ﺔ اﻟﻘﺎدﻣ ﺔ ﺳ ﻨﺘﻌﺮف إﻟ ﻰ اﻟﺒ ﻮرد DE2وﻧﻘ ﻮم ﺑﺒﺮﻣﺠ ﺔ ﺷ ﺮﯾﺤﺔ اﻟ ـ FPGAاﻟﻤﻮﺟ ﻮدة ﻋﻠ ﻰ ھ ﺬا اﻟﺒ ﻮرد ﻟﺘﺘﺤﻮل إﻟﻰ اﻟﺪارة اﻟﻤﺼﻤﻤﺔ وﻣﻦ ﺛﻢ ﻧﻘﻮم ﺑﺎﺧﺘﺒﺎر أداء اﻟﺪارة ﺿﻤﻦ اﻟﺒﻮرد DE2ﺑﺸﻜﻞ ﻓﻌﻠﻲ . ٢٥