Issuu on Google+

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

‫ﻣﺪﺧﻞ إﻟﻰ اﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿﺔ ‪ - Quartus II‬اﻟﺠﺰء اﻟﺜﺎﻧﻲ‬ ‫‪Introduction to Quartus II – Part 2‬‬ ‫اﻟﺴﻨﺔ اﻟﺜﺎﻟﺜﺔ ‪ -‬ﻗﺴﻢ ھﻨﺪﺳﺔ اﻟﺤﻮاﺳﯿﺐ‬

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

‫‪١‬‬


‫اﻟﺠﻠﺴﺔ اﻟﺴﺎدﺳﺔ ﻣﻦ ﻋﻤﻠﻲ ﻣﺎدة ﺗﺼﻤﯿﻢ اﻟﻨﻈﻢ اﻟﻤﻨﻄﻘﯿﺔ واﻟﺪارات اﻟﺮﻗﻤﯿﺔ‬ ‫اﻟﺴﻨﺔ اﻟﺜﺎﻟﺜﺔ ‪ -‬ﻗﺴﻢ ھﻨﺪﺳﺔ اﻟﺤﻮاﺳﯿﺐ‬ ‫اﻟﻨﻘﺎط اﻟﺘﻲ ﺳﺘﻌﺎﻟﺞ ﻓﻲ ھﺬه اﻟﺠﻠﺴﺔ ھﻲ ‪:‬‬ ‫‪ -١‬اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﻠﻮح اﻟﺘﺪرﯾﺒﻲ ) اﻟﺒﻮرد ( ‪ DE2‬وﻣﻤﯿﺰاﺗﮫ ‪.‬‬ ‫‪ -٢‬اﻟﺘﺤﻀﯿﺮ ﻻﺳﺘﺨﺪام اﻟﺒﻮرد ‪. DE2‬‬ ‫‪ -٣‬ﺑﺮﻣﺠﺔ ) ﺿﺒﻂ ( ﺷﺮﯾﺤﺔ اﻟـ ‪ FPGA‬اﻟﻤﺮﻛﺒﺔ ﻋﻠﻰ اﻟﺒﻮرد ‪ DE2‬ﻟﺘﻨﺠﯿﺰ دارة رﻗﻤﯿﺔ ﻣﺼﻤﻤﺔ ﺑﻮاﺳ ﻄﺔ‬ ‫اﻟﺒﺮﻣﺠﯿﺔ ‪. Quartus II‬‬ ‫‪ -٤‬اﺧﺘﺒﺎر أداء اﻟﺪارة اﻟﻤﻨﺠﺰة ﻋﻠﻰ اﻟﺒﻮرد ﺑﮭﺪف اﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ أداﺋﮭﺎ ‪.‬‬ ‫‪ -١‬اﻟﺘﻌﺮف ﻋﻠﻰ اﻟﻠﻮح اﻟﺘﺪرﯾﺒﻲ ) اﻟﺒﻮرد ( ‪ DE2‬وﻣﻤﯿﺰاﺗﮫ ‪:‬‬ ‫ﺗ ﻢ ﺗﻄ ﻮﯾﺮ اﻟﺒ ﻮرد ‪ DE2 ) DE2‬ھ ﻮ اﻟﻨﺴ ﺨﺔ اﻟﺜﺎﻧﯿ ﺔ ﻣ ﻦ اﻟﺒ ﻮرد ‪ DE1‬ﻛﻤ ﺎ أن ‪ DE‬اﺧﺘﺼ ﺎر ﻟﻠﻜﻠﻤﺘ ﯿﻦ‬ ‫‪ ( Development & Education‬ﻣﻦ ﻗﺒﻞ ﺷﺮﻛﺔ ‪ ALTERA‬ﺑﺎﻟﺘﻌﺎون ﻣﻊ ﺷ ﺮﻛﺔ ‪ TERASIC‬ﺑﮭ ﺪف ﺗﺰوﯾ ﺪ‬ ‫ﻣﻨﺼ ﺔ ﺗﺪرﯾﺒﯿ ﺔ ﻣﻼﺋﻤ ﺔ ﻟ ﺘﻌﻠﻢ ﺗﺼ ﻤﯿﻢ اﻟ ﻨﻈﻢ اﻟﻤﻨﻄﻘﯿ ﺔ واﻟ ﺪارات اﻟﺮﻗﻤﯿ ﺔ ‪Logical Systems And Digital‬‬ ‫‪ Circuits Design‬وﺗﻨﻈ ﯿﻢ اﻟﺤﺎﺳ ﺐ ‪ Computer Organization‬ﺑﺎﺳ ﺘﺨﺪام ﺷ ﺮاﺋﺢ اﻟ ـ ‪ ، FPGA‬وذﻟ ﻚ ﻣ ﻦ‬ ‫ﺧﻼل اﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬ﻛ ﺄداة ﺗﺼ ﻤﯿﻢ ﺑﺎﺳ ﺘﺨﺪام اﻟﺤﺎﺳ ﺐ ‪) Computer-Aided Design Tool‬‬ ‫أو ﻣﺎ ﯾُﻌﺮف اﺧﺘﺼﺎراً ﺑﺎﺳﻢ ‪ . ( CAD Tool‬إن اﻟﻤﺠﻤﻮﻋﺔ اﻟﻐﻨﯿﺔ ﻣﻦ اﻟﻤﻤﯿﺰات اﻟﺘﻲ ﯾﺘﻤﺘﻊ ﺑﮭﺎ ھﺬا اﻟﺒ ﻮرد ﺗﺠﻌﻠ ﮫ‬ ‫ﻣﻼﺋﻤ ﺎً ﻟﻼﺳ ﺘﺨﺪام ﻓ ﻲ ﻣﺨ ﺎﺑﺮ اﻟﺠﺎﻣﻌ ﺎت وﻣﺮاﻛ ﺰ اﻟﺘ ﺪرﯾﺐ اﻟﺘﻘﻨﯿ ﺔ ﺑﮭ ﺪف ﺗﻄ ﻮﯾﺮ ﻣﺸ ﺎرﯾﻊ أﻧﻈﻤ ﺔ رﻗﻤﯿ ﺔ ﻣﺘﻌ ﺪدة‬ ‫وﻣﺘﻨﻮﻋﺔ ‪.‬‬ ‫ﺗﺤﺘ ﻮي اﻟﺤﺰﻣ ﺔ ‪ DE2‬ﻛﺎﻓ ﺔ اﻟﻌﻨﺎﺻ ﺮ اﻟﻀ ﺮورﯾﺔ ﻻﺳ ﺘﺨﺪام اﻟﺒ ﻮرد ‪ DE2‬ﻣ ﻊ ﺟﮭ ﺎز ﺣﺎﺳ ﺐ ﻣ ﺰود ﺑﺎﻟﺒﺮﻣﺠﯿ ﺔ‬ ‫‪ . Quartus II‬ﯾﺒﯿﻦ اﻟﺸﻜﻞ )‪ (١‬ﺻﻮرة ﻟﻤﺤﺘﻮﯾﺎت اﻟﺤﺰﻣﺔ ‪. DE2‬‬

‫اﻟﺸﻜﻞ )‪ : (١‬ﻣﺤﺘﻮﯾﺎت اﻟﺤﺰﻣﺔ ‪. DE2‬‬ ‫إن اﻟﺤﺰﻣﺔ ‪ DE2‬ﺗﺘﻀﻤﻦ ﻣﺎ ﯾﻠﻲ ‪:‬‬ ‫ اﻟﺒﻮرد ‪. DE2‬‬‫ ﻛﺎﺑﻞ ‪ USB‬ﻣﻦ أﺟﻞ ﺑﺮﻣﺠﺔ ) ﺿﺒﻂ ( ﺟﮭﺎز اﻟـ ‪ FPGA‬اﻟﻤﺮﻛﺐ ﻋﻠﻰ اﻟﺒﻮرد ‪.‬‬‫‪1‬‬


‫ ﻗﺮص ﻟﯿﺰري ‪ CD-ROM‬ﯾﺤﺘﻮي اﻟﻮﺛﺎﺋﻖ واﻟﻤﺮاﺟ ﻊ اﻟﻤﺮﺗﺒﻄ ﺔ ﺑﻤﻜﻮﻧ ﺎت اﻟﺒ ﻮرد و ﻃ ﺮق اﺳ ﺘﺜﻤﺎره‬‫ﻛﺪﻟﯿﻞ اﻟﻤﺴﺘﺨﺪم ‪ User Manual‬وﺗﺼﺎﻣﯿﻢ ﻣﺮﺟﻌﯿﺔ ﻣﺘﻌﺪدة ‪ Reference Designs‬واﻟﻮﺛ ﺎﺋﻖ اﻟﻔﻨﯿ ﺔ‬ ‫ﻟﻠﺸ ﺮاﺋﺢ اﻟﻤﻜﻮﻧ ﺔ ﻟﻠﺒ ﻮرد ‪ Devices Datasheets‬ﺑﺎﻹﺿ ﺎﻓﺔ إﻟ ﻰ ﻣﺠﻤﻮﻋ ﺔ ﻣ ﻦ اﻟﺘﺠ ﺎرب واﻟﺘﻤ ﺎرﯾﻦ‬ ‫اﻟﻤﺨﺒﺮﯾﺔ ‪. Laboratory Tutorials And Exercises‬‬ ‫ ﻗ ﺮص ﻟﯿ ﺰري ‪ DVD-ROM‬ﯾﺤﺘ ﻮي اﻹﺻ ﺪار ‪ 7.2‬ﻣ ﻦ اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬ﺑﺎﻹﺿ ﺎﻓﺔ إﻟ ﻰ‬‫ﺑﺮﻣﺠﯿ ﺎت أﺧ ﺮى ﻣ ﺰودة ﻣ ﻦ ﻗﺒ ﻞ ﺷ ﺮﻛﺔ ‪ Altera‬ﻛﺎﻟﺒﺮﻣﺠﯿ ﺔ ‪ Model-Sim‬واﻟﺒﺮﻣﺠﯿ ﺔ ‪NIOS II‬‬ ‫‪ Embedded Design Suite‬واﻟﻌﺪﯾﺪ ﻣﻦ ﻣﻘﺎﻃﻊ اﻟﻔﯿﺪﯾﻮ واﻟﻮﺛﺎﺋﻖ اﻟﺘﻌﻠﯿﻤﯿﺔ اﻟﻤﺮﺗﺒﻄﺔ ﺑﺎﺳ ﺘﺨﺪام ھ ﺬه‬ ‫اﻟﺒﺮﻣﺠﯿﺎت ‪.‬‬ ‫ ﻣﺤﻮل ﺗﻐﺬﯾﺔ ﻛﮭﺮﺑﺎﺋﯿﺔ ﻟﺘﺰوﯾﺪ اﻟﺒﻮرد ﺑﺎﻟﻄﺎﻗﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ ) ﺟﮭﺪ ﺗﻐﺬﯾﺔ ﻣﺴﺘﻤﺮ ﻗﯿﻤﺘﮫ ‪. ( 9V DC‬‬‫ﯾﺒﯿﻦ اﻟﺸﻜﻞ )‪ (٢‬ﺻﻮرة ﻋﻠﻮﯾﺔ ﻟﻠﺒﻮرد ‪ DE2‬واﻟﺘﻲ ﺗﻮﺿﺢ ﻣﻮاﻗﻊ اﻟﻌﻨﺎﺻﺮ اﻟﻤﻜﻮﻧﺔ ﻟﻠﺒﻮرد ‪.‬‬

‫اﻟﺸﻜﻞ )‪ : (٢‬اﻟﺒﻮرد اﻟﺘﺪرﯾﺒﻲ ‪. DE2‬‬ ‫ﯾﻤﺘﻠﻚ اﻟﺒﻮرد ﻋﺪة ﻣﻤﯿﺰات ﺗﺴﻤﺢ ﻟﻠﻤﺴﺘﺨﺪم ﺗﻨﺠﯿ ﺰ ﻣﺠ ﺎل واﺳ ﻊ ﻣ ﻦ اﻟ ﺪارات واﻷﻧﻈﻤ ﺔ اﻟﺮﻗﻤﯿ ﺔ ﺑ ﺪءاُ ﻣ ﻦ اﻟ ﺪارات‬ ‫اﻟﺒﺴ ﯿﻄﺔ وﺻ ﻮﻻً إﻟ ﻰ أﻧﻈﻤ ﺔ اﻟﻮﺳ ﺎﺋﻂ اﻟﻤﺘﻌ ﺪدة اﻟﻤﺘﻨﻮﻋ ﺔ ‪ . Various Multimedia Projects‬ﻓﯿﻤ ﺎ ﯾﻠ ﻲ ﻗﺎﺋﻤ ﺔ‬ ‫ﺗﻀﻢ ﻛﺎﻓﺔ اﻟﻌﻨﺎﺻﺮ واﻟﻤﻜﻮﻧﺎت اﻟﻤﻀﻤﻨﺔ ﻓﻲ ھﺬا اﻟﺒﻮرد ‪:‬‬ ‫‪1 - Altera Cyclone® II 2C35 FPGA device .‬‬ ‫‪2 - Altera Serial Configuration device - EPCS16 .‬‬ ‫‪3 - USB Blaster (on board) for programming and user API control; both JTAG‬‬ ‫‪and Active Serial (AS) programming modes are supported .‬‬ ‫‪4 - 512-Kbyte SRAM .‬‬ ‫‪5 - 8-Mbyte SDRAM .‬‬ ‫‪6 - 4-Mbyte Flash memory (1 Mbyte on some boards) .‬‬ ‫‪7 - SD Card socket .‬‬ ‫‪8 - 4 pushbutton switches .‬‬ ‫‪9 - 18 toggle switches .‬‬ ‫‪10 - 18 red user LEDs .‬‬ ‫‪11- 9 green user LEDs .‬‬ ‫‪12 - 50-MHz oscillator and 27-MHz oscillator for clock sources .‬‬ ‫‪2‬‬


‫‪13 - 24-bit CD-quality audio CODEC with line-in, line-out, and microphone-in‬‬ ‫‪jacks .‬‬ ‫‪14 - VGA DAC (10-bit high-speed triple DACs) with VGA-out connector .‬‬ ‫‪15 - TV Decoder (NTSC/PAL) and TV-in connector .‬‬ ‫‪16 - 10/100 Ethernet Controller with a connector .‬‬ ‫‪17 - USB Host/Slave Controller with USB type A and type B connectors .‬‬ ‫‪18 - RS-232 transceiver and 9-pin connector .‬‬ ‫‪19 - PS/2 mouse/keyboard connector .‬‬ ‫‪20 - IrDA transceiver .‬‬ ‫‪21 - Two 40-pin Expansion Headers with diode protection .‬‬ ‫ﻣ ﻦ أﺟ ﻞ اﺳ ﺘﺨﺪام اﻟﺒ ﻮرد ‪ DE2‬ﯾﺘﻮﺟ ﺐ ﻋﻠ ﻰ اﻟﻤﺴ ﺘﺨﺪم أن ﯾﻜ ﻮن ﻣﺘﺂﻟﻔ ﺎً ‪ Familiar‬ﻣ ﻊ اﻟﺒﺮﻣﺠﯿ ﺔ ‪Quartus II‬‬ ‫وﺑﺎﻟﺘ ﺎﻟﻲ ﯾﻤﻜ ﻦ ﻟﻠﻄﺎﻟ ﺐ ﻣﺮاﺟﻌ ﺔ ﻣﻠ ﻒ اﻟﺠﻠﺴ ﺔ اﻟﺨﺎﻣﺴ ﺔ واﻟ ﺬي ﯾﺤﺘ ﻮي ﻛﯿﻔﯿ ﺔ إﻧﺸ ﺎء وﺗﻨﻔﯿ ﺬ ﻣﺸ ﺮوع ﺗﺼ ﻤﯿﻤﻲ‬ ‫ﺑﺎﺳﺘﺨﺪام ﻟﻐﺔ ‪ VHDL‬ﻣﻦ ﺧﻼل اﻟﺒﺮﻣﺠﯿﺔ ‪. Quartus II‬‬ ‫ﯾﺒ ﯿﻦ اﻟﺸ ﻜﻞ )‪ (٣‬اﻟﻤﺨﻄ ﻂ اﻟﺼ ﻨﺪوﻗﻲ ‪ Block Diagram‬ﻟﻠﺒ ﻮرد ‪ . DE2‬ﻣ ﻦ أﺟ ﻞ ﺗﻘ ﺪﯾﻢ أﻗﺼ ﻰ ﻣﺮوﻧ ﺔ ﻣﻤﻜﻨ ﺔ‬ ‫ﻟﻠﻤﺴﺘﺨﺪم ﻓﺈن ﻛﺎﻓﺔ اﻻرﺗﺒﺎﻃﺎت ﻗﺪ ﺗﻤﺖ ﻣﻦ ﺧﻼل ﺷﺮﯾﺤﺔ اﻟـ ‪ FPGA‬اﻟﻤﺮﻛﺒﺔ ﻋﻠﻰ اﻟﺒﻮرد ‪ .‬ﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﻤﺴ ﺘﺨﺪم‬ ‫ﯾﺴﺘﻄﯿﻊ أن ﯾﻀﺒﻂ ) ﯾﺒﺮﻣﺞ ( ھﺬه اﻟﺸﺮﯾﺤﺔ ﻟﺘﺼﻤﯿﻢ أي ﻧﻈﺎم ﻣﻨﻄﻘﻲ أو دارة رﻗﻤﯿﺔ ‪.‬‬

‫اﻟﺸﻜﻞ )‪ : (٣‬اﻟﻤﺨﻄﻂ اﻟﺼﻨﺪوﻗﻲ ﻟﻠﺒﻮرد ‪. DE2‬‬ ‫‪ -٢‬اﻟﺘﺤﻀﯿﺮ ﻻﺳﺘﺨﺪام اﻟﺒﻮرد ‪:‬‬ ‫ﻗﺒ ﻞ اﻟﺒ ﺪء ﺑﺎﺳ ﺘﺨﺪام اﻟﺒ ﻮرد ‪ DE2‬ﻣ ﻦ ﺧ ﻼل وﺻ ﻠﮫ ﻣ ﻊ ﺣﺎﺳ ﺐ ﻣ ﺰود ﺑﺎﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬ﻻ ﺑ ﺪ ﻣ ﻦ اﻟﻘﯿ ﺎم‬ ‫ﺑﺈﺟﺮاءات ﺗﺤﻀﯿﺮﯾﺔ ﻣﺒﯿﻨﺔ ﻓﯿﻤﺎ ﯾﻠﻲ ‪:‬‬ ‫‪ -١‬ﻗﻢ ﺑﺘﻮﺻﯿﻞ ﻣﺤﻮل اﻟﺘﻐﺬﯾﺔ ) ‪ ( 9V DC‬ﻟﺘﺄﻣﯿﻦ اﻟﺘﻐﺬﯾﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ ﻟﻠﺒﻮرد ‪.‬‬ ‫‪3‬‬


‫‪ -٢‬ﻗ ﻢ ﺑﺘﻮﺻ ﯿﻞ ﻛﺎﺑ ﻞ اﻟ ـ ‪ USB‬ﻟﻠ ﺮﺑﻂ ﺑ ﯿﻦ ﻣﻨﻔ ﺬ اﻟ ـ ‪ USB‬ﻓ ﻲ أﻗﺼ ﻰ اﻟﯿﺴ ﺎر ) اﻟﻤﻨﻔ ﺬ اﻷﻗ ﺮب إﻟ ﻰ ﻣﻔﺘ ﺎح وﺻ ﻞ‬ ‫اﻟﺘﻐﺬﯾ ﺔ اﻟﻜﮭﺮﺑﺎﺋﯿ ﺔ ‪ ( Power Switch‬ﻋﻠ ﻰ اﻟﺒ ﻮرد ‪ DE2‬وﺑ ﯿﻦ ﻣﻨﻔ ﺬ ‪ USB‬ﻟﻠﺤﺎﺳ ﺐ اﻟﻤ ﺰود ﺑﺎﻟﺒﺮﻣﺠﯿ ﺔ‬ ‫‪. Quartus II‬‬ ‫‪ -٣‬ﻗ ﻢ ﺑﺘﻮﺻ ﯿﻞ اﻟﺘﻐﺬﯾ ﺔ اﻟﻜﮭﺮﺑﺎﺋﯿ ﺔ ﻣ ﻦ ﺧ ﻼل اﻟﻀ ﻐﻂ ﻋﻠ ﻰ ﻣﻔﺘ ﺎح وﺻ ﻞ اﻟﻄﺎﻗ ﺔ اﻟﻜﮭﺮﺑﺎﺋﯿ ﺔ ‪Power On/Off‬‬ ‫‪. Switch‬‬ ‫‪ -٤‬ﺳﯿﺒﺪأ اﻟﺤﺎﺳﺐ ﻋﻨﺪھﺎ ﺑﺎﻟﺘﺤﺴﺲ ﻟﻠﻌﺘﺎد اﻟﺠﺪﯾﺪ اﻟﺬي ﺗﻢ ﺗﻮﺻﯿﻠﮫ إﻟﻰ أﺣﺪ اﻟﻤﻨﺎﻓﺬ ‪ USB‬اﻟﺘﺎﺑﻌﺔ ﻟﮫ وﻟﻜﻨﮫ ﻟ ﻦ ﯾﻜ ﻮن‬ ‫ﺼ ﺐ ﺑﻌ ﺪ ‪.‬‬ ‫ﻗﺎدراً ﻋﻠﻰ اﻟﺘﻌﺎﻣﻞ ﻣﻌﮫ ﻓﻲ اﻟﻤﺮة اﻷوﻟﻰ ﻷن اﻟﻤﻠﻔﺎت اﻟﻀ ﺮورﯾﺔ ﻟﺘﻌﺮﯾ ﻒ ﻃﺮﯾﻘ ﺔ اﻟﺘﺨﺎﻃ ﺐ ﻣﻌ ﮫ ﻟ ﻢ ﺗُﻨ ّ‬ ‫إن اﻟﺒ ﻮرد ‪ DE2‬ﯾُﺒ ﺮﻣَﺞ ﺑﺎﺳ ﺘﺨﺪام ﺗﻘﻨﯿ ﺔ ﺗُﻌ ﺮف ﺑﺎﺳ ﻢ ‪ Altera's USB-Blaster‬وﺑﺎﻟﺘ ﺎﻟﻲ إذا ﻛﺎﻧ ﺖ " اﻟﻘﺎﺋ ﺪة "‬ ‫‪ USB-Blaster Driver‬ﻟ ﻢ ﺗُﻨﺼّ ﺐ ﺑﻌ ﺪ ﻓ ﺈن ﻣﻌ ﺎﻟﺞ اﻟﻌﺜ ﻮر ﻋﻠ ﻰ أﺟﮭ ﺰة ﺟﺪﯾ ﺪة ‪New hardware Wizard‬‬ ‫واﻟﻤﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ )‪ (٤‬ﺳﻮف ﯾﻈﮭﺮ ‪.‬‬

‫اﻟﺸﻜﻞ )‪ : (٤‬ﻣﻌﺎﻟﺞ اﻟﻌﺜﻮر ﻋﻠﻰ أﺟﮭﺰة ﺟﺪﯾﺪة اﻟﺬي ﯾﻈﮭﺮ ﻋﻨﺪ وﺻﻞ اﻟﺒﻮرد ‪ DE2‬إﻟﻰ اﻟﺤﺎﺳﺐ ﻷول ﻣﺮة ‪.‬‬ ‫‪ -٥‬ﻧﺨﺘﺎر ﻓﻲ ھﺬه اﻟﻨﺎﻓﺬة اﻟﺨﯿﺎر ) ﻻ ‪ ،‬ﻟﯿﺲ اﻵن ( ﺛﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ) اﻟﺘﺎﻟﻲ < ( ﻓﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ‬ ‫اﻟﺸﻜﻞ )‪. (٥‬‬

‫اﻟﺸﻜﻞ )‪ : (٥‬ﯾﺠﺐ ﺗﺤﺪﯾﺪ اﻟﻤﻮﻗﻊ اﻟﺬي ﺗﻮﺟﺪ ﻓﯿﮫ اﻟﻤﻠﻔﺎت اﻟﻀﺮورﯾﺔ ﻟﺘﻌﺮﯾﻒ اﻟﺒﻮرد ‪. DE2‬‬ ‫‪ -٦‬ﺿﻤﻦ اﻟﻨﺎﻓﺬة اﻟﺤﺎﻟﯿﺔ ﻧﺨﺘﺎر اﻟﺨﯿﺎر ) اﻟﺘﺜﺒﯿﺖ ﻣﻦ ﻗﺎﺋﻤﺔ أو ﻣﻮﻗﻊ ﻣﺤﺪد ( ﺛﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ) اﻟﺘﺎﻟﻲ < ( ﻓﻨﺤﺼﻞ‬ ‫ﻋﻠﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (٦‬‬

‫‪4‬‬


‫اﻟﺸﻜﻞ )‪ : (٦‬ﻧﺎﻓﺬة ﺗﺤﺪﯾﺪ ﻣﺴﺎر ﻣﻠﻔﺎت اﻟﺘﻌﺮﯾﻒ ﻟﻠﺒﻮرد ‪. DE2‬‬ ‫‪ -٧‬ﻧﻘﻮم اﻵن ﺑﻀﺒﻂ اﻹﻋﺪادات ﻓﻲ اﻟﻨﺎﻓﺬة اﻟﺤﺎﻟﯿﺔ ﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ )‪ (٧‬وذﻟﻚ ﻷن اﻟﻤﺴﺎر اﻟﻤﻄﻠﻮب ھﻮ ‪:‬‬ ‫‪C:\altera\91sp1\quartus\drivers\usb-blaster‬‬ ‫ﺛﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ) اﻟﺘﺎﻟﻲ < ( ﻓﺘﻈﮭﺮ ﻧﺎﻓﺬة اﻟﺮﺳﺎﻟﺔ اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (٨‬‬

‫اﻟﺸﻜﻞ )‪ : (٧‬اﻟﻤﺴﺎر اﻟﻤﻄﻠﻮب ھﻮ اﻟﺘﺎﻟﻲ ‪. ( C:\altera\91sp1\quartus\drivers\usb-blaster ) :‬‬

‫اﻟﺸﻜﻞ )‪ : (٨‬ﻻ أھﻤﯿﺔ ﺗُﺬﻛﺮ ﻟﮭﺬه اﻟﺮﺳﺎﻟﺔ ﻟﺬﻟﻚ اﻧﻘﺮ ﻋﻠﻰ زر ) اﻟﻤﺘﺎﺑﻌﺔ ﻓﻲ أي ﺣﺎل ( !!!‬ ‫‪5‬‬


‫‪ -٨‬ﻛﻤﺎ ھﻮ واﺿﺢ ﻓﻲ اﻟﺸ ﻜﻞ )‪ ، (٨‬ﻓ ﺈن ھ ﺬه اﻟﺮﺳ ﺎﻟﺔ ﺗُﻔﯿ ﺪ ﺑ ﺄن اﻟﺒﺮﻧ ﺎﻣﺞ اﻟ ﺬي ﻧﻘ ﻮم ﺑﺘﺜﺒﯿﺘ ﮫ ﻟﮭ ﺬا اﻟﺠﮭ ﺎز ﻟ ﻢ ﯾﺠﺘ ﺰ‬ ‫اﺧﺘﺒ ﺎر ‪ Windows Logo‬ﻟﻠﺘﺤﻘ ﻖ ﻣ ﻦ ﺗﻮاﻓﻘ ﮫ ﻣ ﻊ ﻧﻈ ﺎم اﻟﺘﺸ ﻐﯿﻞ ‪ . Windows XP‬ﻋﻠ ﻰ ﻛ ﻞ ﺣ ﺎل ‪ ،‬ﻻ أھﻤﯿ ﺔ‬ ‫ﺗُﺬﻛﺮ ﻟﮭﺬا اﻻﺧﺘﺒﺎر ھﻨﺎ وﺑﺎﻟﺘ ﺎﻟﻲ ﯾﻤﻜ ﻦ اﻟﻨﻘ ﺮ ﻋﻠ ﻰ زر ) اﻟﻤﺘﺎﺑﻌ ﺔ ﻓ ﻲ أي ﺣ ﺎل ( ‪ .‬ﺗﺒ ﺪأ ﻋﻨ ﺪھﺎ ﻋﻤﻠﯿ ﺔ اﻟﺘﻌﺮﯾ ﻒ ﻣ ﻦ‬ ‫ﺧﻼل ﻧﺴﺦ اﻟﻤﻠﻔﺎت اﻟﻀﺮورﯾﺔ ﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ )‪. (٩‬‬

‫اﻟﺸﻜﻞ )‪ : (٩‬ﻋﻤﻠﯿﺔ ﻧﺴﺦ اﻟﻤﻠﻔﺎت أﺛﻨﺎء ﻋﻤﻠﯿﺔ اﻟﺘﻌﺮﯾﻒ ) ﺗﻨﺼﯿﺐ " اﻟﻘﺎﺋﺪة " ( ‪.‬‬ ‫‪ -٩‬ﻋﻨ ﺪ اﻻﻧﺘﮭ ﺎء ﻣ ﻦ ﻋﻤﻠﯿ ﺔ اﻟﺘﻌﺮﯾ ﻒ ﺑﻨﺠ ﺎح ﺗﻈﮭ ﺮ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ )‪ (١٠‬واﻟﺘ ﻲ ﺗﻌﻠﻤﻨ ﺎ ﺑﺎﻧﺘﮭ ﺎء ﺗﺜﺒﯿ ﺖ‬ ‫اﻟﺒﺮﻧﺎﻣﺞ ‪ Altera USB-Blaster‬ﺑﻨﺠﺎح ‪ .‬ﻧﻨﻘﺮ ﻋﻨﺪھﺎ ﻋﻠﻰ اﻟ ﺰر ) إﻧﮭ ﺎء ( أو ) ‪ ( Finish‬ﻓﯿﻜ ﻮن اﻟﺒ ﻮرد ﻋﻨ ﺪھﺎ‬ ‫ﻗﺪ اﺻﺒﺢ ﺟﺎھﺰاً ﻟﻼﺳﺘﺨﺪام ‪.‬‬

‫اﻟﺸﻜﻞ )‪ : (١٠‬اﻧﺘﮭﺎء ﺗﺜﺒﯿﺖ اﻟﺒﺮﻧﺎﻣﺞ ‪. Altera USB-Blaster‬‬ ‫ﻣﻦ أﺟﻞ ﻋﺮض ﻛﯿﻔﯿ ﺔ ﺑﺮﻣﺠ ﺔ ﺷ ﺮﯾﺤﺔ اﻟ ـ ‪ FPGA‬ﺳ ﻨﻘﻮم ﺑﺈﻛﻤ ﺎل اﻟﻌﻤ ﻞ ﻣ ﻊ اﻟﻤﺸ ﺮوع ‪ light‬اﻟ ﺬي ﻛﻨ ﺎ ﻗ ﺪ ﻧﻔ ﺬﻧﺎه‬ ‫ﺑﺎﺳﺘﺨﺪام اﻟﺒﺮﻣﺠﯿﺔ ‪ Quartus II‬ﻓﻲ اﻟﺠﻠﺴﺔ اﻟﺴﺎﺑﻘﺔ ‪.‬‬ ‫‪ -٣‬ﺑﺮﻣﺠﺔ ) ﺿﺒﻂ ( ﺷﺮﯾﺤﺔ اﻟـ ‪ FPGA‬اﻟﻤﺮﻛﺒﺔ ﻋﻠﻰ اﻟﺒﻮرد ‪: DE2‬‬ ‫ﯾﺘﻮﺟﺐ ﻋﻠﯿﻨﺎ اﻵن ﺑﺮﻣﺠﺔ ) ﺿﺒﻂ ( ﺷﺮﯾﺤﺔ اﻟـ ‪ FPGA‬ﻟﺘﻨﺠﯿﺰ دارة اﻟﺘﺤﻜﻢ ﺑﺈﺿ ﺎءة ﺛﻨ ﺎﺋﻲ إﺻ ﺪار ﺿ ﻮﺋﻲ ‪LED‬‬ ‫ﻋﻦ ﻃﺮﯾﻖ ﻣﻔﺘ ﺎﺣﯿﻦ ﻣ ﻦ ﻧ ﻮع ‪ On/Off‬واﻟﺘ ﻲ ﻗﻤﻨ ﺎ ﺑﺘﺼ ﻤﯿﻤﮭﺎ ﻓ ﻲ اﻟﺠﻠﺴ ﺔ اﻟﺴ ﺎﺑﻘﺔ ‪ .‬ﻟ ﺬﻟﻚ ﻧﻘ ﻮم ﺑﺘﺸ ﻐﯿﻞ اﻟﺒﺮﻣﺠﯿ ﺔ‬ ‫‪ Quartus II‬وﻣ ﻦ ﺛ ﻢ ﻧﻔ ﺘﺢ اﻟﻤﺸ ﺮوع ‪ light‬وذﻟ ﻚ ﻣ ﻦ ﺧ ﻼل اﻟﻨﻘ ﺮ ﻋﻠ ﻰ اﻟﻘﺎﺋﻤ ﺔ ‪ File‬واﺧﺘﯿ ﺎر اﻷﻣ ﺮ ‪Open‬‬ ‫…‪ ) Project‬اﻻﺧﺘﺼﺎر اﻟﻤﻔﺘﺎﺣﻲ ھﻮ ‪ ( Ctrl+J‬ﻓﺘﻈﮭﺮ ﻧﺎﻓﺬة ﻓﺘﺢ اﻟﻤﺸﺮوع اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (١١‬‬

‫‪6‬‬


‫اﻟﺸﻜﻞ )‪ : (١١‬ﻧﺎﻓﺬة ﻓﺘﺢ ﻣﺸﺮوع ﺿﻤﻦ اﻟﺒﺮﻣﺠﯿﺔ ‪. Quartus II‬‬ ‫ﺑﺎﻋﺘﺒﺎر أن اﻟﻤﺸﺮوع ‪ light‬ﻛﺎن ﻗﺪ ﺗﻢ ﺗﺨﺰﯾﻨﮫ ﺿﻤﻦ اﻟﻤﺠﻠﺪ ‪ introtutorial‬ﻋﻠﻰ اﻟﺴﻮاﻗﺔ ‪ D‬ﻟﺬﻟﻚ ﻧﺬھﺐ إﻟ ﻰ ذﻟ ﻚ‬ ‫اﻟﻤﺠﻠﺪ ﻓﯿﻈﮭﺮ ﻟﻨ ﺎ ﻣﻠ ﻒ اﻟﻤﺸ ﺮوع ‪ light.qpf‬ﻛﻤ ﺎ ھ ﻮ واﺿ ﺢ ﻓ ﻲ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ )‪ . (١٢‬ﻧ ﺬﻛﺮ ھﻨ ﺎ أن‬ ‫اﻻﻣﺘﺪاد ) ‪ ( .qpf‬ھﻮ اﺧﺘﺼﺎر ﻟﻠﻌﺒﺎرة ‪. Quartus Project File‬‬

‫اﻟﺸﻜﻞ )‪ : (١٢‬ﯾﺘﻢ ﺗﺤﺪﯾﺪ ﻣﻠﻒ اﻟﻤﺸﺮوع ‪ light‬وﻣﻦ ﺛﻢ اﻟﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ Open‬ﻟﻔﺘﺢ اﻟﻤﺸﺮوع ‪.‬‬ ‫ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﻤﻠﻒ ‪ light.qpf‬ﻟﺘﺤﺪﯾﺪه وﻣﻦ ﺛ ﻢ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر ‪ Open‬ﻟﻔ ﺘﺢ اﻟﻤﺸ ﺮوع ‪ . light‬ﻓ ﻲ اﻟﺤﻘﯿﻘ ﺔ ‪ ،‬إذا ﻟ ﻢ‬ ‫ﻧﻜﻦ ﻗﺪ ﺷ ﻐﻠﻨﺎ اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬ﺑﻌ ﺪ ﻓ ﺈن اﻟﻨﻘ ﺮ ﺑﺸ ﻜﻞ ﻣ ﺰدوج ﻋﻠ ﻰ ﻣﻠ ﻒ اﻟﻤﺸ ﺮوع ‪ light.qpf‬ﯾ ﺆدي إﻟ ﻰ‬ ‫ﺗﺸﻐﯿﻞ اﻟﺒﺮﻣﺠﯿﺔ ‪ Quartus II‬وﻣﻦ ﺛﻢ ﻓﺘﺢ اﻟﻤﺸﺮوع ‪ light‬ﺑﺸﻜﻞ ﺗﻠﻘﺎﺋﻲ !!!‬ ‫إن ﻣﻠﻒ اﻟﺒﺮﻣﺠﺔ اﻟﻤﻄﻠﻮب ﯾﺘﻢ ﺗﻮﻟﯿﺪه ﻣﻦ ﻗﺒﻞ اﻟﻤﺘﺮﺟﻢ ‪ The Compiler‬ﻓﻲ اﻟﺒﺮﻣﺠﯿﺔ ‪ ) Quartus II‬ﺗﺤﺪﯾﺪاً ﻣ ﻦ‬ ‫ﻗﺒﻞ اﻟﻮﺣﺪة اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Software Module‬اﻟﻤﺴ ﻤﺎة اﻟﻤﺠﻤ ﻊ ‪ . ( Assembler‬إن اﻟﺒ ﻮرد ‪ DE2‬ﻗ ﺪ ﺗ ﻢ ﺗﺼ ﻤﯿﻤﮫ‬ ‫ﺑﺤﯿ ﺚ ﯾﺴ ﻤﺢ ﺑﺒﺮﻣﺠ ﺔ ﺷ ﺮﯾﺤﺔ اﻟ ـ ‪ FPGA‬ﺑﺈﺣ ﺪى ﻃ ﺮﯾﻘﺘﯿﻦ ﻣﺨﺘﻠﻔﺘ ﯿﻦ ﺗُﻌﺮﻓ ﺎن ﺑﺎﺳ ﻢ اﻟ ﻨﻤﻂ ‪JTAG ) JTAG‬‬ ‫اﺧﺘﺼﺎراً ﻟﻠﻌﺒﺎرة ‪ ( Joint Test Action Group‬واﻟﻨﻤﻂ ‪ AS ) AS‬اﺧﺘﺼ ﺎراً ﻟﻠﻌﺒ ﺎرة ‪ . ( Active Serial‬إن‬ ‫ﺳ ﻞ ﻣ ﻦ ﻗﺒ ﻞ ﺟﮭ ﺎز اﻟﺤﺎﺳ ﺐ اﻟ ﺬي ﯾﺸ ﻐﻞ اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬إﻟ ﻰ اﻟﺒ ﻮرد ‪ DE2‬ﻋﺒ ﺮ ﻛﺒ ﻞ‬ ‫ﻣﻠ ﻒ اﻟﺒﺮﻣﺠ ﺔ ﯾُﺮ َ‬ ‫‪ USB‬ﯾﻘﻮم ﺑﺎﻟﻮﺻﻞ ﺑﯿﻦ ﻣﻨﻔﺬ ‪ USB‬ﻣﺘﺎح ﻟﻠﺤﺎﺳﺐ وﺑﯿﻦ ﻣﻨﻔﺬ اﻟ ـ ‪ USB‬اﻷﻗ ﺮب إﻟ ﻰ ﻣﻔﺘ ﺎح وﺻ ﻞ‪/‬ﻓﺼ ﻞ اﻟﺘﻐﺬﯾ ﺔ‬ ‫اﻟﻜﮭﺮﺑﺎﺋﯿﺔ ﻋﻠﻰ اﻟﺒﻮرد ‪ ) DE2‬ﻣﻨﻔﺬ اﻟـ ‪ USB‬اﻟﻤﻮﺟﻮد ﻓﻲ أﻗﺼﻰ اﻟﯿﺴﺎر ﻋﻠﻰ اﻟﺒﻮرد ‪ . ( DE2‬ﻣﻦ أﺟﻞ اﺳﺘﺨﺪام‬ ‫ھﺬا اﻟﺮﺑﻂ ‪ Connection‬ﻣﻦ اﻟﻀﺮوري ﺗﻨﺼﯿﺐ " اﻟﻘﺎﺋﺪة " ‪ USB-Blaster Driver‬ﻛﻤﺎ ﺑﯿﻨﺎ ﺳﺎﺑﻘﺎً أﻋﻼه ‪.‬‬

‫‪7‬‬


‫اﻵن ‪ ،‬ﻧﻘﻮم ﺑﻮﺻ ﻞ اﻟﺘﻐﺬﯾ ﺔ اﻟﻜﮭﺮﺑﺎﺋﯿ ﺔ إﻟ ﻰ اﻟﺒ ﻮرد ﻋ ﻦ ﻃﺮﯾ ﻖ اﻟﻤﺤ ﻮل اﻟﺨ ﺎص اﻟﻤ ﺰود ﻣ ﻊ اﻟﺒ ﻮرد ‪ DE2‬واﻟ ﺬي‬ ‫ﯾﺆﻣﻦ ﺟﮭﺪ ﺗﻐﺬﯾﺔ ﻣﺴﺘﻤﺮ وﻣﻨﻈﻢ ﻗﺪره ‪ 9V DC‬ﻣﻦ ﺧﻼل اﻟﻀﻐﻂ ﻋﻠﻰ ﻣﻔﺘﺎح وﺻﻞ اﻟﺘﻐﺬﯾ ﺔ اﻟﻜﮭﺮﺑﺎﺋﯿ ﺔ ذي اﻟﻠ ﻮن‬ ‫اﻷﺣﻤﺮ ﻛﻤﺎ ﻧﻘﻮم ﺑﺎﻟﻮﺻﻞ ﺑﯿﻦ اﻟﺤﺎﺳﺐ واﻟﺒﻮرد ﻋﻦ ﻃﺮﯾﻖ ﻛﺒﻞ اﻟـ ‪ USB‬ﻛﻤﺎ ﺑﯿﻨﺎ ﻗﺒﻞ ﻗﻠﯿﻞ ‪.‬‬ ‫ﻓﻲ اﻟﻨﻤﻂ ‪ ، JTAG‬ﻓ ﺈن ﻣﻌﻄﯿ ﺎت اﻟﻀ ﺒﻂ ‪ Configuration Data‬ﺗﺤ ّﻤ ﻞ ﻣﺒﺎﺷ ﺮةً إﻟ ﻰ ﺷ ﺮﯾﺤﺔ اﻟ ـ ‪ . FPGA‬إن‬ ‫اﻟﻤﺼﻄﻠﺢ ‪ JTAG‬ھﻮ اﺧﺘﺼﺎر ﻟﻠﻌﺒﺎرة ‪ ) Joint Test Action Group‬اﻟﻤﺠﻤﻮﻋﺔ اﻟﻤﺘﺤﺪة ﻹﺟ ﺮاء اﻻﺧﺘﺒ ﺎرات‬ ‫( ‪ .‬ﻗﺎﻣ ﺖ ھ ﺬه اﻟﻤﺠﻤﻮﻋ ﺔ ﺑﺘﺤﺪﯾ ﺪ ﻃﺮﯾﻘ ﺔ ﺑﺴ ﯿﻄﺔ ﻟﻔﺤ ﺺ واﺧﺘﺒ ﺎر اﻟ ﺪارات اﻟﺮﻗﻤﯿ ﺔ ‪ Digital Circuits‬وﺗﺤﻤﯿ ﻞ‬ ‫اﻟﻤﻌﻄﯿ ﺎت إﻟﯿﮭ ﺎ واﻟﺘ ﻲ أﺻ ﺒﺤﺖ ﻓﯿﻤ ﺎ ﺑﻌ ﺪ ﻣﻌﯿ ﺎراً ﻣﻌﺘﻤ ﺪاً ‪ Standard‬ﻣ ﻦ ﻗﺒ ﻞ ﻣﻌﮭ ﺪ اﻟﻤﮭﻨﺪﺳ ﯿﻦ اﻟﻜﮭﺮﺑ ﺎﺋﯿﯿﻦ‬ ‫واﻻﻟﻜﺘﺮوﻧﯿﯿﻦ ﻓﻲ اﻟﻮﻻﯾﺎت اﻟﻤﺘﺤﺪة اﻷﻣﺮﯾﻜﯿﺔ ‪ . IEEE‬إذا ﺗﻢ ﺿﺒﻂ ) ﺑﺮﻣﺠﺔ ( ﺷﺮﯾﺤﺔ اﻟ ـ ‪ FPGA‬ﺑﮭ ﺬه اﻟﻄﺮﯾﻘ ﺔ‬ ‫ﻓﺈﻧﮭﺎ ﺳﻮف ﺗﺤﺘﻔﻆ ﺑﺒﺮﻣﺠﺘﮭﺎ ﻃﯿﻠﺔ اﺳﺘﻤﺮار اﻟﺘﻐﺬﯾﺔ اﻟﻜﮭﺮﺑﺎﺋﯿ ﺔ ‪ .‬ﻓ ﻲ ﺣﺎﻟ ﺔ ﻓﺼ ﻞ اﻟﺘﻐﺬﯾ ﺔ اﻟﻜﮭﺮﺑﺎﺋﯿ ﺔ ﻓ ﺈن ﻣﻌﻠﻮﻣ ﺎت‬ ‫اﻟﻀﺒﻂ ﺗﻀﯿﻊ ) ﺗُﻔﻘﺪ ( وﺑﺎﻟﺘﺎﻟﻲ ﯾﺘﻮﺟﺐ إﻋﺎدة ﺑﺮﻣﺠﺔ اﻟﺸﺮﯾﺤﺔ ﻣﻦ ﺟﺪﯾﺪ ‪ .‬اﻟﺨﯿ ﺎر اﻵﺧ ﺮ ﯾﺘﻤﺜ ﻞ ﻓ ﻲ اﺳ ﺘﺨﺪام اﻟ ﻨﻤﻂ‬ ‫‪ ) Active Serial‬واﻟ ﺬي ﯾُﺮﻣ ﺰ ﻟ ﮫ ‪ AS‬اﺧﺘﺼ ﺎراً ( ‪ .‬ﻓ ﻲ ھ ﺬه اﻟﺤﺎﻟ ﺔ ‪ ،‬ﺳ ﯿﺘﻢ اﺳ ﺘﺨﺪام ﺟﮭ ﺎز ﺿ ﺒﻂ ﺧ ﺎص‬ ‫‪ Specific Configuration Device‬ﯾﺤﺘ ﻮي ﻋﻠ ﻰ ذاﻛ ﺮة وﻣﯿﻀ ﯿﺔ ‪ Flash Memory‬ﻣ ﻦ أﺟ ﻞ ﺗﺨ ﺰﯾﻦ‬ ‫ﻣﻌﻄﯿ ﺎت اﻟﺒﺮﻣﺠ ﺔ ‪ . Configuration Data‬ﺗﻘ ﻮم اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬ﻓ ﻲ ھ ﺬه اﻟﺤﺎﻟ ﺔ ﺑﺘﻮﺿ ﯿﻊ ﻣﻌﻄﯿ ﺎت‬ ‫اﻟﺒﺮﻣﺠﺔ ﻓﻲ ﺟﮭﺎز اﻟﻀ ﺒﻂ اﻟﺨ ﺎص ھ ﺬا ) ‪ ( EPCS16‬اﻟﻤﺮﻛ ﺐ ﻋﻠ ﻰ اﻟﺒ ﻮرد ‪ . DE2‬ﺑﻌ ﺪ ذﻟ ﻚ ‪ ،‬ﯾ ﺘﻢ ﺗﺤﻤﯿ ﻞ ھ ﺬه‬ ‫اﻟﻤﻌﻄﯿﺎت إﻟﻰ ﺷﺮﯾﺤﺔ اﻟـ ‪ FPGA‬ﻟﺒﺮﻣﺠﺘﮭﺎ وذﻟﻚ ﻋﻨﺪ وﺻﻞ اﻟﺘﻐﺬﯾﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ إﻟ ﻰ اﻟﺒ ﻮرد ‪ Power-Up‬أو ﻋﻨ ﺪ‬ ‫إﻋﺎدة ﺑﺮﻣﺠﺔ اﻟﺸﺮﯾﺤﺔ ‪ Reconfiguration‬وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈﻧﮫ ﻻ ﺿﺮورة ﻹﻋﺎدة ﺑﺮﻣﺠﺔ ﺷ ﺮﯾﺤﺔ اﻟ ـ ‪ FPGA‬ﺑﻮاﺳ ﻄﺔ‬ ‫اﻟﺒﺮﻣﺠﯿﺔ ‪ Quartus II‬ﻋﻨﺪ ﻓﺼﻞ وإﻋﺎدة وﺻﻞ اﻟﺘﻐﺬﯾﺔ اﻟﻜﮭﺮﺑﺎﺋﯿﺔ إﻟﻰ اﻟﺒﻮرد ‪ .‬إن اﺧﺘﯿﺎر أﺣﺪ ﻧﻤﻄﻲ اﻟﺒﺮﻣﺠﺔ ﯾ ﺘﻢ‬ ‫ﻣﻦ ﺧﻼل اﻟﺘﺤﻜﻢ ﺑﻮﺿﻌﯿﺔ اﻟﻤﻔﺘﺎح ‪ RUN/PROG‬اﻟﻤﻮﺟ ﻮد ﻋﻠ ﻰ اﻟﺒ ﻮرد إﻟ ﻰ ﯾﺴ ﺎر ﺷﺎﺷ ﺔ اﻟ ـ ‪ . LCD‬اﻟﻮﺿ ﻌﯿﺔ‬ ‫‪ RUN‬ﻟﻠﻤﻔﺘﺎح ﺗﺤﺪد اﻟﻨﻤﻂ ‪ JTAG‬ﻓﻲ ﺣﯿﻦ أن اﻟﻮﺿﻌﯿﺔ ‪ PROG‬ﻟﻠﻤﻔﺘﺎح ﺗﺤﺪد اﻟﻨﻤﻂ ‪. AS‬‬ ‫‪ -١-٣‬اﻟﺒﺮﻣﺠﺔ وﻓﻖ اﻟﻨﻤﻂ ‪: JTAG‬‬ ‫ﻟﺒﺮﻣﺠﺔ ﺷﺮﯾﺤﺔ اﻟـ ‪ FPGA‬وﻓﻖ اﻟﻨﻤﻂ ‪ JTAG‬ﻧﺘﺒﻊ اﻟﺨﻄﻮات اﻟﺘﺎﻟﯿﺔ ‪:‬‬ ‫‪ -١‬ﻧﻘﻮم ﺑﻮﺿﻊ اﻟﻤﻔﺘﺎح ‪ RUN/PROG‬ﻓﻲ اﻟﻮﺿﻌﯿﺔ ‪ ) RUN‬اﻟﻮﺿﻌﯿﺔ اﻟﻌﻠﻮﯾﺔ ( ‪.‬‬ ‫‪ -٢‬ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ ‪ Tools‬ﺿ ﻤﻦ اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬ﻧﺨﺘ ﺎر اﻷﻣ ﺮ ‪ Programmer‬ﻓﺘﻈﮭ ﺮ ﻧﺎﻓ ﺬة اﻟﻤﺒﺮﻣﺠ ﺔ‬ ‫‪ Programmer Window‬اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (١٣‬‬

‫اﻟﺸﻜﻞ )‪ : (١٣‬ﻧﺎﻓﺬة اﻟﻤﺒﺮﻣﺠﺔ ﻓﻲ اﻟﺒﺮﻣﺠﯿﺔ ‪. Quartus II‬‬ ‫‪ -٣‬ﯾﺘﻮﺟ ﺐ ﻋﻠﯿﻨ ﺎ ھﻨ ﺎ ﺗﺤﺪﯾ ﺪ ﻋﺘ ﺎد اﻟﺒﺮﻣﺠ ﺔ ‪ Programming Hardware‬و ﻧﻤ ﻂ اﻟﺒﺮﻣﺠ ﺔ ‪Programming‬‬ ‫‪ Mode‬ﻟﺬﻟﻚ ﻧﺨﺘﺎر اﻟﻨﻤﻂ ‪ JTAG‬ﺿ ﻤﻦ اﻟﺼ ﻨﺪوق ذي اﻟﻌﻨ ﻮان ‪ Mode‬وﻣ ﻦ ﺛ ﻢ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر ‪Hardware‬‬ ‫…‪ Setup‬ﻓﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (١٤‬‬ ‫‪8‬‬


‫اﻟﺸﻜﻞ )‪ : (١٤‬ﻧﺎﻓﺬة ﺿﺒﻂ اﻟﻌﺘﺎد ‪.‬‬ ‫‪ -٤‬ﺿﻤﻦ ھﺬه اﻟﻨﺎﻓﺬة ‪ ،‬ﻧﻨﻘﺮ ﻋﻠﻰ ﺳﮭﻢ اﻟﻘﺎﺋﻤﺔ اﻟﻤﻨﺴﺪﻟﺔ ذات اﻟﻌﻨ ﻮان ‪ Currently selected hardware‬وﻧﺨﺘ ﺎر‬ ‫اﻟﺨﯿﺎر ]‪ USB-Blaster [USB-0‬ﺛﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﺰر ‪ Close‬ﻓﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (١٥‬‬

‫اﻟﺸﻜﻞ )‪ : (١٥‬ﻧﺎﻓﺬة ﺿﺒﻂ اﻟﻌﺘﺎد ﺑﻌﺪ اﺧﺘﯿﺎر اﻟﺮﺑﻂ ﻣﻦ ﻧﻮع ‪. USB-Blaster‬‬ ‫‪ -٥‬ﺣﺎﻟﯿﺎً ‪ ،‬ﻧﻜﻮن ﻗﺪ ﺿﺒﻄﻨﺎ ﻛﻼً ﻣﻦ ﻋﺘﺎد و ﻧﻤﻂ اﻟﺒﺮﻣﺠ ﺔ وﻧﻼﺣ ﻆ أن ﻣﻠ ﻒ اﻟﺒﺮﻣﺠ ﺔ ‪ light.sof‬ﻣﻌ ﺮوض ﺿ ﻤﻦ‬ ‫اﻟﻨﺎﻓﺬة اﻟﺤﺎﻟﯿﺔ ‪ .‬ﻋﻠﻰ ﻛﻞ ﺣﺎل ‪ ،‬ﺣﺘﻰ إذا ﻟﻢ ﯾﻜﻦ ھ ﺬا اﻟﻤﻠ ﻒ ﻇ ﺎھﺮاً ﺑﺸ ﻜﻞ ﺗﻠﻘ ﺎﺋﻲ ﺿ ﻤﻦ ھ ﺬه اﻟﻨﺎﻓ ﺬة ﻓﺈﻧ ﮫ ﺑﺎﻹﻣﻜ ﺎن‬ ‫اﻟﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر …‪ Add File‬ﻟﺘﺤﺪﯾ ﺪه وإﻇﮭ ﺎره ﻓ ﻲ ﻧﺎﻓ ﺬة اﻟﻤﺒﺮﻣﺠ ﺔ ‪ .‬إن اﻟﻤﻠ ﻒ ‪ light.sof‬ھ ﻮ ﻣﻠ ﻒ ﺛﻨ ﺎﺋﻲ‬ ‫‪ Binary File‬ﯾ ﺘﻢ ﺗﻮﻟﯿ ﺪه ﻣ ﻦ ﻗﺒ ﻞ اﻟﻮﺣ ﺪة اﻟﺒﺮﻣﺠﯿ ﺔ اﻟﻤﺴ ﻤﺎة ‪ ) Assembler‬اﻟﻤﺠﻤ ﻊ ( ﺿ ﻤﻦ ﻣﺘ ﺮﺟﻢ اﻟﺒﺮﻣﺠﯿ ﺔ‬ ‫‪ . Quartus II‬ﯾﺤﺘ ﻮي ھ ﺬا اﻟﻤﻠ ﻒ ﻋﻠ ﻰ اﻟﻤﻌﻄﯿ ﺎت اﻟﻼزﻣ ﺔ ﻟﺒﺮﻣﺠ ﺔ ﺷ ﺮﯾﺤﺔ اﻟ ـ ‪ FPGA‬اﻟﻤﺮﻛﺒ ﺔ ﻋﻠ ﻰ اﻟﺒ ﻮرد‬ ‫‪ . DE2‬إن اﻻﻣﺘﺪاد ) ‪ ( .sof‬ھ ﻮ اﺧﺘﺼ ﺎر ﻟﻠﻌﺒ ﺎرة ‪ . SRAM Object File‬ﻧﻼﺣ ﻆ أﯾﻀ ﺎً أن اﻟﺸ ﺮﯾﺤﺔ اﻟﻤﺤ ﺪدة‬ ‫ﺿﻤﻦ اﻟﺤﻘﻞ ذي اﻟﻌﻨﻮان ‪ Device‬ھﻲ اﻟﺸﺮﯾﺤﺔ ‪ EP2C35F672‬واﻟﺘ ﻲ ھ ﻲ ﻃﺒﻌ ﺎً ﺷ ﺮﯾﺤﺔ اﻟ ـ ‪ FPGA‬اﻟﻤﺮﻛﺒ ﺔ‬ ‫ﻋﻠﻰ اﻟﺒﻮرد ‪ . DE2‬ﻧﻨﻘﺮ اﻵن ﻋﻠﻰ اﻟﻤﻠﻒ ‪ light.sof‬ﻟﺘﺤﺪﯾﺪه وﻣﻦ ﺛﻢ ﻧﺘﺄﻛﺪ ﻣﻦ وﺿ ﻊ إﺷ ﺎرة √ ﺿ ﻤﻦ اﻟﺼ ﻨﺪوق‬ ‫‪ Program/Configure‬ﻓﻨﻜ ﻮن ﻗ ﺪ أﺻ ﺒﺤﻨﺎ ﺟ ﺎھﺰﯾﻦ ﻹﻃ ﻼق ﻋﻤﻠﯿ ﺔ اﻟﺒﺮﻣﺠ ﺔ وذﻟ ﻚ ﻣ ﻦ ﺧ ﻼل اﻟﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر‬ ‫‪ ) Start‬ﺑﻌﺪ اﻟﺘﺄﻛﺪ ﻃﺒﻌﺎً ﻣﻦ أن اﻟﻤﻔﺘﺎح ‪ RUN/PROG‬ﻋﻠ ﻰ اﻟﺒ ﻮرد ‪ DE2‬ﻓ ﻲ اﻟﻮﺿ ﻌﯿﺔ ‪ . ( !!! RUN‬ﻧﻼﺣ ﻆ‬ ‫أﺛﻨﺎء ﻋﻤﻠﯿﺔ إرﺳﺎل اﻟﻤﻠﻒ ‪ light.sof‬إﻟﻰ اﻟﺒﻮرد ﺗﻘﺪم ﻣﺆﺷﺮ اﻟﻨﺴ ﺒﺔ اﻟﻤﺌﻮﯾ ﺔ ﺿ ﻤﻦ اﻟﺤﻘ ﻞ ذي اﻟﻌﻨ ﻮان ‪Progress‬‬ ‫ﻛﻤﺎ أن ﺛﻨﺎﺋﻲ اﻹﺻﺪار اﻟﻀ ﻮﺋﻲ ‪ ) LOAD‬ذي اﻟﻠ ﻮن اﻷزرق ( ﻋﻠ ﻰ اﻟﺒ ﻮرد ‪ DE2‬ﯾﻀ ﻲء ﺧ ﻼل ﻋﻤﻠﯿ ﺔ إرﺳ ﺎل‬ ‫اﻟﻤﻠ ﻒ ‪ . light.sof‬ﻋﻨ ﺪ اﻻﻧﺘﮭ ﺎء ﻣ ﻦ ﻋﻤﻠﯿ ﺔ إرﺳ ﺎل ﻣﻌﻄﯿ ﺎت اﻟﺒﺮﻣﺠ ﺔ ‪ Configuration Data‬ﺑﻨﺠ ﺎح ﻧﻼﺣ ﻆ‬ ‫اﻧﻄﻔ ﺎء اﻟﻠﯿ ﺪ ‪ LOAD‬وإﺿ ﺎءة اﻟﻠﯿ ﺪ ‪ GOOD‬اﻟﻤﺠ ﺎور ﻟﻠﯿ ﺪ ‪ LOAD‬ﻣ ﻦ ﺟﮭ ﺔ اﻟﯿﻤ ﯿﻦ ‪ .‬ﻓ ﻲ ﺣﺎﻟ ﺔ ﻇﮭ ﻮر رﺳ ﺎﻟﺔ‬ ‫ﺧﻄﺄ ﺿ ﻤﻦ اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬ﺗﻔﯿ ﺪ ﺑ ﺄن ﻋﻤﻠﯿ ﺔ اﻟﺒﺮﻣﺠ ﺔ ﻗ ﺪ ﻓﺸ ﻠﺖ ﻧﻘ ﻮم ﺑ ﺎﻟﺘﺤﻘﻖ ﻣ ﻦ اﻟﺨﻄ ﻮات اﻟﺴ ﺎﺑﻘﺔ ﻗﺒ ﻞ‬ ‫إﻋﺎدة ﻋﻤﻠﯿﺔ اﻟﺒﺮﻣﺠﺔ ﻣﺮة أﺧﺮى ‪.‬‬ ‫‪9‬‬


‫‪ -١-٣‬اﻟﺒﺮﻣﺠﺔ وﻓﻖ اﻟﻨﻤﻂ ‪: Active Serial‬‬ ‫ﻓ ﻲ ھ ﺬه اﻟﺤﺎﻟ ﺔ ‪ ،‬ﻓ ﺈن ﻣﻌﻄﯿ ﺎت اﻟﺒﺮﻣﺠ ﺔ ‪ Configuration Data‬ﺗُﺤ ّﻤ ﻞ إﻟ ﻰ ﺟﮭ ﺎز اﻟﻀ ﺒﻂ ‪Configuration‬‬ ‫‪ Device‬اﻟﻤﺮﻛﺐ ﻋﻠﻰ اﻟﺒ ﻮرد ‪ DE2‬واﻟ ﺬي ھ ﻮ ﻣ ﻦ ﻧ ﻮع ‪ . EPCS16‬ﻣ ﻦ أﺟ ﻞ ﺗﺤﺪﯾ ﺪ ﺟﮭ ﺎز اﻟﻀ ﺒﻂ اﻟﻤﻄﻠ ﻮب‬ ‫ﺿﻤﻦ اﻟﺒﺮﻣﺠﯿ ﺔ ‪ Quartus II‬ﻧﺨﺘ ﺎر ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ ‪ Assignments‬اﻟﺨﯿ ﺎر …‪ Device‬ﻓﺘﻈﮭ ﺮ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ‬ ‫اﻟﺸﻜﻞ )‪. (١٦‬‬

‫اﻟﺸﻜﻞ )‪ : (١٦‬ﻧﺎﻓﺬة إﻋﺪادات ﺷﺮﯾﺤﺔ اﻟـ ‪ FPGA‬ﺿﻤﻦ اﻟﺒﺮﻣﺠﯿﺔ ‪. Quartus II‬‬ ‫ﺿ ﻤﻦ اﻟﻨﺎﻓ ﺬة اﻟﺤﺎﻟﯿ ﺔ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر ) …‪ ( Device and Pin Options‬ﻓﺘﻈﮭ ﺮ ﻧﺎﻓ ﺬة ﺧﯿ ﺎرات اﻟﺸ ﺮﯾﺤﺔ‬ ‫واﻷﻗﻄﺎب ‪ Device and Pin Options‬اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (١٧‬‬

‫اﻟﺸﻜﻞ )‪ : (١٧‬ﻧﺎﻓﺬة ﺧﯿﺎرات اﻟﺸﺮﯾﺤﺔ واﻷﻗﻄﺎب ‪.‬‬ ‫ﺿ ﻤﻦ اﻟﻨﺎﻓ ﺬة اﻟﺤﺎﻟﯿ ﺔ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟﻠﻮﯾﺤ ﺔ ‪ Configuration‬ﺛ ﻢ ﻧﺨﺘ ﺎر ﻣ ﻦ اﻟﻘﺎﺋﻤ ﺔ اﻟﻤﻨﺴ ﺪﻟﺔ ‪Configuration‬‬ ‫‪ Device‬اﻟﺨﯿﺎر ‪ EPCS16‬ﻛﻤﺎ ھﻮ ﻣﺒﯿﻦ ﻓﻲ اﻟﺸﻜﻞ )‪ (١٨‬وﻧﻨﻘﺮ ﺑﻌﺪھﺎ ﻋﻠﻰ اﻟﺰر ‪ OK‬ﻓﻨﻌ ﻮد إﻟ ﻰ اﻟﻨﺎﻓ ﺬة اﻟﻤﺒﯿﻨ ﺔ‬ ‫‪10‬‬


‫ﻓ ﻲ اﻟﺸ ﻜﻞ )‪ . (١٦‬ﻧﻨﻘ ﺮ ھﻨ ﺎ أﯾﻀ ﺎً ﻋﻠ ﻰ اﻟ ﺰر ‪ OK‬ﻹﻏ ﻼق اﻟﻨﺎﻓ ﺬة ﺛ ﻢ ﻧﻌﯿ ﺪ ﻋﻤﻠﯿ ﺔ ﺗﺮﺟﻤ ﺔ ﻛ ﻮد ‪ VHDL‬ﻟ ﺪارة‬ ‫اﻟﻤﺸﺮوع ‪.‬‬

‫اﻟﺸﻜﻞ )‪ : (١٨‬ﺗﺤﺪﯾﺪ ﺟﮭﺎز اﻟﻀﺒﻂ ‪. EPCS16‬‬ ‫إن ﺑﻘﯿﺔ اﻟﺨﻄﻮات ﻣﺸﺎﺑﮭﺔ ﻟﻤﺎ رأﯾﻨﺎه ﻓﻲ ﺣﺎﻟﺔ اﻟﺒﺮﻣﺠﺔ وﻓﻖ اﻟﻨﻤﻂ ‪ JTAG‬وھﺬه اﻟﺨﻄﻮات ﻣﺒﯿﻨﺔ ﻓﯿﻤﺎ ﯾﻠﻲ ‪:‬‬ ‫‪ -١‬ﻣﻦ اﻟﻘﺎﺋﻤﺔ ‪ Tools‬ﻧﺴﺘﺪﻋﻲ اﻟﻤﺒﺮﻣﺠﺔ ‪ Programmer‬ﻓﺘﻈﮭﺮ ﻧﺎﻓﺬة اﻟﻤﺘﺮﺟﻤﺔ اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (١��‬‬ ‫‪ -٢‬ﺿ ﻤﻦ ﻧﺎﻓ ﺬة اﻟﻤﺘﺮﺟﻤ ﺔ ﻧﺨﺘ ﺎر اﻟ ﻨﻤﻂ ‪ Active Serial Programming‬ﻓﺘﻈﮭ ﺮ اﻟﺮﺳ ﺎﻟﺔ اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ‬ ‫)‪. (١٩‬‬

‫اﻟﺸﻜﻞ )‪ : (١٩‬ﺣﺬف اﻟﺸﺮاﺋﺢ اﻟﻤﺨﺘﺎرة ﺑﺸﻜﻞ ﻣﺴﺒﻖ واﻟﺘﻲ ﻻ ﯾﻤﻜﻦ ﺑﺮﻣﺠﺘﮭﺎ وﻓﻖ اﻟﻨﻤﻂ ‪. AS‬‬ ‫‪ -٣‬إن ﺑﻌﺾ اﻟﺸﺮاﺋﺢ ﻻ ﯾﻤﻜﻦ ﺑﺮﻣﺠﺘﮭﺎ وﻓﻖ اﻟﻨﻤﻂ ‪ AS‬وﺑﺎﻟﺘﺎﻟﻲ ﻓﺈن اﻟﺒﺮﻣﺠﯿﺔ ‪ Quartus II‬ﺗﻌﻠﻤﻨﺎ ﻣﻦ ﺧﻼل ھ ﺬه‬ ‫اﻟﺮﺳﺎﻟﺔ أن اﻻﻧﺘﻘﺎل إﻟﻰ ﻧﻤﻂ اﻟﺒﺮﻣﺠﺔ ‪ Active Serial‬ﯾﺘﻄﻠﺐ ﺣﺬف اﻟﺸﺮاﺋﺢ اﻟﻤﺨﺘﺎرة ﺑﺸﻜﻞ ﻣﺴ ﺒﻖ ﺿ ﻤﻦ ﻻﺋﺤ ﺔ‬ ‫اﻟﺸ ﺮاﺋﺢ ‪ Device List‬واﻟﺘ ﻲ ﻻ ﯾﻤﻜ ﻦ ﺑﺮﻣﺠﺘﮭ ﺎ وﻓ ﻖ ھ ﺬا اﻟ ﻨﻤﻂ ‪ .‬ﻟ ﺬﻟﻚ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر ) ﻧﻌ ﻢ ( أو ) ‪( YES‬‬ ‫ﻓﻨﺤﺼﻞ ﻋﻠﻰ اﻟﻨﺎﻓﺬة اﻟﻤﺒﯿﻨﺔ ﻓﻲ اﻟﺸﻜﻞ )‪. (٢٠‬‬

‫اﻟﺸﻜﻞ )‪ : (٢٠‬ﻧﺎﻓﺬة اﻟﻤﺒﺮﻣﺠﺔ ﻗﺪ ﺗﻢ ﻓﯿﮭﺎ اﺧﺘﯿﺎر ﻧﻤﻂ اﻟﺒﺮﻣﺠﺔ ‪. Active Serial‬‬ ‫‪11‬‬


‫‪ -٤‬ﻧﺘﺄﻛﺪ ﺣﺎﻟﯿﺎً ﻣﻦ أن ﻋﺘﺎد اﻟﺒﺮﻣﺠ ﺔ اﻟﻤﺨﺘ ﺎر ھ ﻮ ]‪ USB-Blaster [USB-0‬ﺛ ﻢ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر …‪Add File‬‬ ‫ﻓﺘﻈﮭ ﺮ ﻧﺎﻓ ﺬة ﺗﺤﺪﯾ ﺪ ﻣﻠ ﻒ اﻟﺒﺮﻣﺠ ﺔ ‪ Select Programming File Window‬اﻟﻤﺒﯿﻨ ﺔ ﻓ ﻲ اﻟﺸ ﻜﻞ )‪ (٢١‬واﻟﺘ ﻲ‬ ‫ﯾﻈﮭﺮ ﻓﯿﮭﺎ اﻟﻤﻠﻒ ‪ light.pof‬ﺿﻤﻦ اﻟﻤﺠﻠﺪ ‪ introtutorial‬ﻟﺬﻟﻚ ﻧﻨﻘﺮ ﻋﻠﻰ ھﺬا اﻟﻤﻠ ﻒ ﻟﺘﺤﺪﯾ ﺪه وﻣ ﻦ ﺛ ﻢ ﻧﻨﻘ ﺮ ﻋﻠ ﻰ‬ ‫اﻟ ﺰر ‪ Open‬ﻓﯿﻈﮭ ﺮ اﻟﻤﻠ ﻒ ‪ light.pof‬ﺿ ﻤﻦ ﻧﺎﻓ ﺬة اﻟﻤﺘﺮﺟﻤ ﺔ ﻛﻤ ﺎ ھ ﻮ ﻣﺒ ﯿﻦ ﻓ ﻲ اﻟﺸ ﻜﻞ )‪ . (٢٢‬إن اﻟﻤﻠ ﻒ‬ ‫‪ light.pof‬ھﻮ ﻣﻠﻒ ﺛﻨﺎﺋﻲ ‪ Binary File‬ﯾﺘﻢ ﺗﻮﻟﯿﺪه ﻣﻦ ﻗﺒ ﻞ اﻟﻮﺣ ﺪة اﻟﺒﺮﻣﺠﯿ ﺔ اﻟﻤﺴ ﻤﺎة ‪ ) Assembler‬اﻟﻤﺠﻤ ﻊ (‬ ‫ﺿﻤﻦ ﻣﺘﺮﺟﻢ اﻟﺒﺮﻣﺠﯿﺔ ‪ . Quartus II‬ﯾﺤﺘﻮي ھﺬا اﻟﻤﻠ ﻒ ﻋﻠ ﻰ اﻟﻤﻌﻄﯿ ﺎت اﻟﺘ ﻲ ﺳ ﯿﺘﻢ ﺗﺤﻤﯿﻠﮭ ﺎ إﻟ ﻰ ﺟﮭ ﺎز اﻟﻀ ﺒﻂ‬ ‫‪ . EPCS16‬اﻻﻣﺘﺪاد ) ‪ ( .pof‬ھﻮ اﺧﺘﺼﺎر ﻟﻠﻌﺒﺎرة ‪. Programmer Object File‬‬

‫اﻟﺸﻜﻞ )‪ : (٢١‬ﻧﺎﻓﺬة ﺗﺤﺪﯾﺪ ﻣﻠﻒ اﻟﺒﺮﻣﺠﺔ ‪.‬‬

‫اﻟﺸﻜﻞ )‪ : (٢٢‬ﻧﺎﻓﺬة اﻟﻤﺒﺮﻣﺠﺔ ﺑﻌﺪ ﺗﺤﺪﯾﺜﮭﺎ ) ﺑﻌﺪ إﻇﮭﺎر ﻣﻠﻒ اﻟﺒﺮﻣﺠﺔ ‪ light.pof‬ﺿﻤﻨﮭﺎ ( ‪.‬‬ ‫‪ -٥‬ﻧﻘﻮم اﻵن ﺑﻮﺿﻊ إﺷﺎرة √ ﺿﻤﻦ اﻟﻤﺮﺑﻊ اﻟﺼﻐﯿﺮ ﺗﺤﺖ اﻟﺤﻘﻞ ذي اﻟﻌﻨﻮان ‪. Program/Configure‬‬ ‫‪ -٦‬ﻧﻘﻮم ﺑﺰﻟﻖ اﻟﻤﻔﺘﺎح ‪ RUN/PROG‬ﻋﻠﻰ اﻟﺒ ﻮرد ‪ DE2‬إﻟ ﻰ اﻟﻮﺿ ﻌﯿﺔ ‪ ) PROG‬اﻟﻮﺿ ﻌﯿﺔ اﻟﺴ ﻔﻠﯿﺔ ( ﻻﺧﺘﯿ ﺎر‬ ‫ﻧﻤﻂ اﻟﺒﺮﻣﺠﺔ ‪ Active Serial‬ﺛﻢ ﻧﻨﻘﺮ ﻋﻠﻰ اﻟﻤﻠﻒ ‪ light.pof‬ﻟﺘﺤﺪﯾ ﺪه وأﺧﯿ ﺮاً ﻧﻨﻘ ﺮ ﻋﻠ ﻰ اﻟ ﺰر ‪ . . Start‬ﻧﻼﺣ ﻆ‬ ‫أﺛﻨﺎء ﻋﻤﻠﯿﺔ إرﺳﺎل اﻟﻤﻠﻒ ‪ light.pof‬إﻟﻰ اﻟﺒﻮرد ﺗﻘﺪم ﻣﺆﺷﺮ اﻟﻨﺴﺒﺔ اﻟﻤﺌﻮﯾ ﺔ ﺿ ﻤﻦ اﻟﺤﻘ ﻞ ذي اﻟﻌﻨ ﻮان ‪Progress‬‬ ‫ﻛﻤﺎ أن ﺛﻨﺎﺋﻲ اﻹﺻﺪار اﻟﻀ ﻮﺋﻲ ‪ ) LOAD‬ذي اﻟﻠ ﻮن اﻷزرق ( ﻋﻠ ﻰ اﻟﺒ ﻮرد ‪ DE2‬ﯾﻀ ﻲء ﺧ ﻼل ﻋﻤﻠﯿ ﺔ إرﺳ ﺎل‬ ‫اﻟﻤﻠ ﻒ ‪ . light.pof‬ﻋﻨ ﺪ اﻻﻧﺘﮭ ﺎء ﻣ ﻦ ﻋﻤﻠﯿ ﺔ إرﺳ ﺎل ﻣﻌﻄﯿ ﺎت اﻟﺒﺮﻣﺠ ﺔ ‪ Configuration Data‬ﺑﻨﺠ ﺎح ﻧﻼﺣ ﻆ‬ ‫اﻧﻄﻔ ﺎء اﻟﻠﯿ ﺪ ‪ LOAD‬ﻛﻤ ﺎ أن ﻣﺆﺷ ﺮ اﻟﻨﺴ ﺒﺔ اﻟﻤﺌﻮﯾ ﺔ ﺿ ﻤﻦ اﻟﺤﻘ ﻞ ذي اﻟﻌﻨ ﻮان ‪ Progress‬ﯾﻜ ﻮن ﻗ ﺪ وﺻ ﻞ إﻟ ﻰ‬ ‫اﻟﻘﯿﻤﺔ ‪. 100 %‬‬ ‫‪12‬‬


‫‪ -٤‬اﺧﺘﺒﺎر أداء اﻟﺪارة اﻟﻤﻨﺠﺰة ﻋﻠﻰ اﻟﺒﻮرد ﺑﮭﺪف اﻟﺘﺤﻘﻖ ﻣﻦ ﺻﺤﺔ أداﺋﮭﺎ ‪:‬‬ ‫ﺑﻌﺪ اﻻﻧﺘﮭﺎء ﻣﻦ إرﺳ ﺎل ﻣﻌﻄﯿ ﺎت اﻟﻀ ﺒﻂ ) اﻟﺒﺮﻣﺠ ﺔ ( ‪ Configuration Data‬إﻟ ﻰ ﺷ ﺮﯾﺤﺔ اﻟ ـ ‪ FPGA‬ﺑﺈﻣﻜﺎﻧﻨ ﺎ‬ ‫اﺧﺘﺒﺎر أداء اﻟﺪارة اﻟﻤﻨﺠﺰة ﻋﻠﻰ اﻟﺒ ﻮرد ‪ . DE2‬ﻟ ﺬﻟﻚ ﻧﻘ ﻮم ﻓ ﻲ اﻟﺒ ﺪء ﺑﺰﻟ ﻖ اﻟﻤﻔﺘ ﺎح ‪ RUN/PROG‬ﻋﻠ ﻰ اﻟﺒ ﻮرد‬ ‫‪ DE2‬إﻟﻰ اﻟﻮﺿﻌﯿﺔ ‪ ) RUN‬اﻟﻮﺿ ﻌﯿﺔ اﻟﻌﻠﻮﯾ ﺔ ( وﻣ ﻦ ﺛ ﻢ ﻧﻘ ﻮم ﺑﺘﺠﺮﺑ ﺔ ﻛﺎﻓ ﺔ اﻻﺣﺘﻤ ﺎﻻت ﻹﺷ ﺎرﺗﻲ اﻟ ﺪﺧﻞ ‪ x1‬و‬ ‫‪ x2‬وﻓﻘﺎً ﻟﺠﺪول اﻟﺤﻘﯿﻘﺔ ﻟﻠﺪارة اﻟﻤﺼﻤﻤﺔ وذﻟﻚ ﻣﻦ ﺧﻼل اﻟﺘﺤﻜﻢ ﺑﺤﺎﻟﺔ اﻟﻤﻔﺘﺎﺣﯿﻦ ‪ SW0‬و ‪ SW1‬ﻣﻊ ﻣﺮاﻗﺒ ﺔ ﺣﺎﻟ ﺔ‬ ‫ﺛﻨﺎﺋﻲ اﻹﺻﺪار اﻟﻀﻮﺋﻲ ‪ LEDG0‬ﻟﻠﺘﺄﻛﺪ ﻣﻦ أن اﻟﺪارة اﻟﻤﻨﺠﺰة ﺗﺤﻘﻖ اﻟﺘﺎﺑﻊ اﻟﻤﻨﻄﻘﻲ ‪ XOR‬ﻛﻤﺎ ھﻮ ﻣﻨﺘﻈﺮ ‪.‬‬ ‫ﻣﻼﺣﻈﺔ ھﺎﻣﺔ ‪:‬‬ ‫إذا ﻛﻨ ﺎ ﻧﺮﯾ ﺪ إﺟ ﺮاء ﺗﻌ ﺪﯾﻼت ﻣ ﺎ ﻋﻠ ﻰ اﻟ ﺪارة اﻟﻤﺼ ﻤﻤﺔ ﻓﺈﻧﻨ ﺎ ﻧﻘ ﻮم أوﻻً ﺑ ﺈﻏﻼق ﻧﺎﻓ ﺬة اﻟﻤﺒﺮﻣﺠ ﺔ ‪Programmer‬‬ ‫‪ Window‬ﺛﻢ ﻧﻘﻮم ﺑﺈﺟﺮاء اﻟﺘﻌﺪﯾﻼت اﻟﻼزﻣﺔ ﺿﻤﻦ ﻣﻠﻒ اﻟﺘﺼﻤﯿﻢ ﺑﻠﻐﺔ ‪ ) VHDL‬اﻟﻤﻠﻒ ‪ light.vhd‬ﻓ ﻲ ﺣﺎﻟﺘﻨ ﺎ‬ ‫ھﺬه ( ‪ .‬ﺑﻌﺪ ذﻟﻚ ‪ ،‬ﻧﻘ ﻮم ﺑﺘﺮﺟﻤ ﺔ ﻣﻠ ﻒ اﻟﻜ ﻮد اﻟﺠﺪﯾ ﺪ ﺑﻌ ﺪ ﺣﻔ ﻆ اﻟﺘﻌ ﺪﯾﻼت وأﺧﯿ ﺮاً ﻧﻘ ﻮم ﺑﺈﻋ ﺎدة ﺑﺮﻣﺠ ﺔ ﺷ ﺮﯾﺤﺔ اﻟ ـ‬ ‫‪ FPGA‬ﻛﻤﺎ ﺑﯿﻨﺎ أﻋﻼه ) وﻓﻖ اﻟﻨﻤﻂ ‪ JTAG‬أو وﻓﻖ اﻟﻨﻤﻂ ‪. ( Active Serial‬‬

‫‪13‬‬


VHDL Quartus II 02