ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﻣﻘﺪﻣﻪ ﻧــﺮﻡ ﺍﻓــﺰﺍﺭ Max+Plus IIﺍﺑــﺰﺍﺭ ﺳــﻨﺘﺰﻱ ﺍﺳــﺖ ﻛــﻪ ﺗﻮﺳــﻂ ﺷــﺮﻛﺖ Alteraﺑــﺮﺍﻱ ﻃﺮﺍﺣــﻲ ﻣــﺪﺍﺭﻫﺎﻱ ﺩﻳﺠﻴﺘﺎﻝ ﺑـﻪ ﺑـﺎﺯﺍﺭ ﻋﺮﺿـﻪ ﺷـﺪﻩ ﺍﺳـﺖ .ﺑـﺎ ﺍﺳـﺘﻔﺎﺩﻩ ﺍﺯ ﺍﻳـﻦ ﻧـﺮﻡﺍﻓـﺰﺍﺭ ،ﻛـﺎﺭﺑﺮ ﻣـﻲﺗﻮﺍﻧـﺪ ﻣـﺪﺍﺭ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺧـﻮﺩ ﺭﺍ ﺑﺼــﻮﺭﺕ ﺷــﻤﺎﺗﻴﻚ ،ﺷــﻜﻞ ﻣــﻮﺝ ،ﺯﺑﺎﻧﻬــﺎﻱ ﺗﻮﺻــﻴﻒ ﺳــﺨﺖ ﺍﻓــﺰﺍﺭﻱ VHDL ، AHDLﻭ Verilogﻭ ﻳــﺎ ﺗﺮﻛﻴﺒﻲ ﺍﺯ ﺁﻧﻬﺎ ﺗﻮﺻـﻴﻒ ﻛﻨـﺪ .ﺳـﭙﺲ ﺍﻳـﻦ ﻣـﺪﺍﺭ ﺑﻌﻨـﻮﺍﻥ ﻭﺭﻭﺩﻱ ﺍﺑـﺰﺍﺭ ﺳـﻨﺘﺰ ﺩﺭﻳﺎﻓـﺖ ﺷـﺪﻩ ﻭ ﭘـﺲ ﺍﺯ ﺍﻳﻨﻜـﻪ ﻣـﺪﺍﺭ ﻛﺎﻣﭙﺎﻳـﻞ ﺷـﺪ ،ﺑـﺮ ﺭﻭﻱ ﻳــﻚ ﺗﺮﺍﺷـﻪﻱ ﺧـﺎﺹ )ﺍﺯ ﺗﺮﺍﺷــﻪ ﻫـﺎﻱ (Alteraﻧﮕﺎﺷـﺖ ﻣـﻲﺷــﻮﺩ .ﺩﺭ ﺍﻳـﻦ ﺣﺎﻟـﺖ ﻛــﺎﺭﺑﺮ ﻣﻲﺗﻮﺍﻧﺪ ﺑﺎ ﺍﺳـﺘﻔﺎﺩﻩ ﺍﺯ ﻗﺎﺑﻠﻴﺘﻬـﺎﻳﻲ ﻛـﻪ ﺩﺭ ﺍﻳـﻦ ﺍﺑـﺰﺍﺭ ﺳـﻨﺘﺰ ﺗﻌﺒﻴـﻪ ﺷـﺪﻩ ﺍﺳـﺖ ،ﺷـﻜﻞ ﻣـﻮﺝ ﻭﺭﻭﺩﻳﻬـﺎﻱ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺧﻮﺩ ﺭﺍ ﺑﻪ ﻣﺪﺍﺭ ﺍﻋﻤﺎﻝ ﻛﻨﺪ ﻭ ﺧﺮﻭﺟﻴﻬﺎﻱ ﻣﺪﺍﺭ ﺭﺍ ﻣﺸﺎﻫﺪﻩ ﻛﻨﺪ. ﺩﺭ ﺍﻳــﻦ ﮔــﺰﺍﺭﺵ ﺗــﻼﺵ ﺷــﺪﻩ ﺍﺳــﺖ ﻛــﻪ ﭼﮕــﻮﻧﮕﻲ ﻃﺮﺍﺣــﻲ ﻣــﺪﺍﺭﻫﺎﻱ ﺩﻳﺠﻴﺘــﺎﻝ ﺑــﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ Max+Plus II 8.3ﺑﺼـﻮﺭﺕ ﺳـﺎﺩﻩ ﻣـﻮﺭﺩ ﺑﺮﺭﺳـﻲ ﻗـﺮﺍﺭ ﺑﮕﻴـﺮﺩ .ﺍﻳـﻦ ﮔـﺰﺍﺭﺵ ﺩﺭ ﭘـﻨﺞ ﺑﺨـﺶ ﺗﻨﻈـﻴﻢ ﺷـﺪﻩ ﺍﺳـﺖ. ﺩﺭ ﺑﺨــﺶ ﻧﺨﺴــﺖ ﺑــﺎ ﻃﺮﺍﺣــﻲ ﻣــﺪﺍﺭ ﺑــﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ ﺯﺑــﺎﻥ ﺗﻮﺻــﻴﻒ ﺳــﺨﺖﺍﻓــﺰﺍﺭﻱ VHDLﺁﺷــﻨﺎ ﻣــﻲﺷــﻮﻳﻢ .ﺩﺭ ﺑﺨﺶ ﺩﻭﻡ ﻃﺮﺍﺣﻲ ﻣﺪﺍﺭ ﺑﻪ ﺭﻭﺵ ﺷـﻤﺎﺗﻴﻚ ﻣـﻮﺭﺩ ﺑﺮﺭﺳـﻲ ﻗـﺮﺍﺭ ﻣـﻲﮔﻴـﺮﺩ .ﺩﺭ ﺑﺨـﺶ ﺳـﻮﻡ ﻃﺮﺍﺣـﻲ ﻣـﺪﺍﺭ ﺗﻮﺳـﻂ ﺯﺑﺎﻥ ﺗﻮﺻـﻴﻒ ﺳـﺨﺖ ﺍﻓـﺰﺍﺭﻱ AHDLﺭﺍ ﻣـﻮﺭﺩ ﺑﺮﺭﺳـﻲ ﻗـﺮﺍﺭ ﻣـﻲﺩﻫـﻴﻢ .ﺩﺭ ﺑﺨـﺶ ﭼﻬـﺎﺭﻡ ﻣـﺮﻭﺭﻱ ﻣﺨﺘﺼـﺮ ﺑـﺮ ﺯﺑﺎﻥ ﺗﻮﺻـﻴﻒﺳـﺨﺖﺍﻓـﺰﺍﺭﻱ VHDLﺧـﻮﺍﻫﻴﻢ ﺩﺍﺷـﺖ .ﺩﺭ ﺑﺨـﺶ ﭘـﻨﺠﻢ ﺯﺑـﺎﻥ ﺗﻮﺻـﻴﻒﺳـﺨﺖﺍﻓـﺰﺍﺭﻱ AHDLﺭﺍ ﻣﻮﺭﺩ ﺑﺮﺭﺳﻲ ﻗﺮﺍﺭ ﻣﻲﺩﻫﻴﻢ. ﺩﺭ ﺍﻳﻦ ﮔﺰﺍﺭﺵ ﺑﺮﺍﻱ ﺳﺎﺩﮔﻲ ﺍﺯ ﻧﻤﺎﺩﻫﺎﻱ ﺯﻳﺮ ﺍﺳﺘﻔﺎﺩﻩ ﻣﻲﻛﻨﻴﻢ : Double click the left button of mouse Click the left button of mouse Click the right button of mouse Select Option1 from Menu1 ﺻﻔﺤﻪﻱ ١ ><DL ><LB ><RB <M> Menu1: Option1 ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ١ ﻃﺮﺍﺣﻲ ﻣﺪﺍﺭ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ VHDL ﺑــﺮﺍﻱ ﺗﻮﺿــﻴﺢ ﺭﻭﺵ ﻃﺮﺍﺣــﻲ ﻣــﺪﺍﺭ ﺑــﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ ﺯﺑــﺎﻥ ﺗﻮﺻــﻴﻒ ﺳــﺨﺖﺍﻓــﺰﺍﺭﻱ VHDLﺍﺑﺘــﺪﺍ ﻳــﻚ ﺳــﻠﻮﻝ Half Adderﻃﺮﺍﺣــﻲ ﻛــﺮﺩﻩ ﻭ ﺳــﭙﺲ ﺑــﺎ ﺍﺗﺼــﺎﻝ ﺩﻭ ﻋــﺪﺩ ﺍﺯ ﺍﻳــﻦ ﺳــﻠﻮﻟﻬﺎ ﺑــﻪ ﻳﻜــﺪﻳﮕﺮ ﻳــﻚ ﺳــﻠﻮﻝ ﺟﻤﻊﻛﻨﻨـﺪﻩﻱ Full Adderﻣـﻲﺳـﺎﺯﻳﻢ ﻭ ﺩﺭ ﭘﺎﻳـﺎﻥ ﺑـﺎ ﺍﺗﺼـﺎﻝ ﺍﻳـﻦ ﺳـﻠﻮﻟﻬﺎ ﺑـﻪ ﻳﻜـﺪﻳﮕﺮ ﻳـﻚ ﺟﻤـﻊﻛﻨﻨـﺪﻩﻱ ﭼﻬـﺎﺭ ﺑﻴﺘﻲ ﻣﻲﺳﺎﺯﻳﻢ .ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ. ١-١ ﺍﺟﺮﺍﻱ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+Plus II ﺑﺮﺍﻱ ﺍﺟﺮﺍﻱ ﺑﺮﻧﺎﻣﻪﻱ Max+Plus IIﻛﺎﻓﻴﺴﺖ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻛﻨﻴﻢ : <DL> on Max+Plus II icon on desktop ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﭘﻨﺠــﺮﻩﺍﻱ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ١-١ﺭﻭﻱ ﺻــﻔﺤﻪ ﻇــﺎﻫﺮ ﻣــﻲﺷــﻮﺩ .ﺑﺨﺸــﻬﺎﻱ ﻣﺨﺘﻠــﻒ ﺍﻳــﻦ ﭘﻨﺠــﺮﻩ ﺭﻭﻱ ﺷﻜﻞ ﻣﺸﺨﺺ ﺷﺪﻩ ﺍﺳﺖ. Tittle bar displays drive, directory and project name Menu Bar Toolbar Status Bar ﺷﻜﻞ -١-١ﭘﻨﺠﺮﻩﻱ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+Plus II ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﻣﻲﺗﻮﺍﻥ ﻫﺮ ﻳﻚ ﺍﺯ ﻣﻮﺍﺭﺩ Tool barﻭ Status barﺭﺍ ﻓﻌﺎﻝ ﻭ ﻳﺎ ﻏﻴﺮ ﻓﻌﺎﻝ ﻧﻤﻮﺩ. <M> Options: Prefrence ﺑﺮﺍﻱ ﺧﺮﻭﺝ ﺍﺯ ﺑﺮﻧﺎﻣﻪ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <M> File: Exit Max+plus II ﺻﻔﺤﻪﻱ ٢ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ٢-١ ﺍﻳﺠﺎﺩ ﭘﺮﻭﮊﻩﻱ ﺟﺪﻳﺪ ﺩﺭ ﺍﻳــﻦ ﻧــﺮﻡ ﺍﻓــﺰﺍﺭ ﻫــﺮ ﻃــﺮﺡ ﺟﺪﻳــﺪ ) ﻛــﻪ ﻣﻤﻜــﻦ ﺍﺳــﺖ ﺍﺯ ﭼﻨــﺪﻳﻦ ﺯﻳــﺮ ﻃــﺮﺡ ﺗﺸــﻜﻴﻞ ﺷــﺪﻩ ﺑﺎﺷــﺪ ( ﺗﻮﺳﻂ ﻳﻚ ﭘﺮﻭﮊﻩ ﻣﺪﻳﺮﻳﺖ ﻣﻲﺷـﻮﺩ .ﺍﺯ ﺍﻳﻨـﺮﻭ ﺑـﺮﺍﻱ ﺍﻳﺠـﺎﺩ ﻳـﻚ ﻃـﺮﺡ ﺟﺪﻳـﺪ ﻧﺨﺴـﺖ ﺑﺎﻳـﺪ ﻳـﻚ ﭘـﺮﻭﮊﻩﻱ ﺟﺪﻳـﺪ ﺍﻳﺠﺎﺩ ﻛﻨﻴﻢ .ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <M> File: Project: Name ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﻳــﻚ ﭘﻨﺠــﺮﻩ ﻣﺸــﺎﺑﻪ ﺷــﻜﻞ ٢-١ﻇــﺎﻫﺮ ﻣــﻲﺷــﻮﺩ .ﺩﺭ ﺍﻳﻨﺠــﺎ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ﺩﺍﻳﺮﻛﺘــﻮﺭﻱ mydesignﻭ ﻧﺎﻡ ﭘﺮﻭﮊﻩ ﺭﺍ adderﺍﻧﺘﺨﺎﺏ ﻣﻲﻛﻨﻴﻢ. <LB> on OK ﺩﺭ ﺍﻳﻨﺤﺎﻟـــﺖ ﻧـــﺎﻡ ﻭ ﺩﺍﻳﺮﻛﺘـــﻮﺭﻱ ﭘـــﺮﻭﮊﻩ ﺑـــﺮ ﺭﻭﻱ Tittle barﭘﻨﺠـــﺮﻩﻱ Max+PlusIIﻧﻤـــﺎﻳﺶ ﺩﺍﺩﻩ ﻣﻲﺷﻮﺩ. Enter project name here All design files in the current directory will be shown here Select project directory from list box ﺷﻜﻞ -٢-١ﭘﻨﺠﺮﻩﻱ ﺗﻌﻴﻴﻦ ﻧﺎﻡ ﭘﺮﻭﮊﻩ ٣-١ ﺍﻳﺠﺎﺩ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﭘﺲ ﺍﺯ ﺍﻳﻨﻜـﻪ ﻧـﺎﻡ ﭘـﺮﻭﮊﻩ ﺭﺍ ﻣﺸـﺨﺺ ﻛـﺮﺩﻳﻢ ،ﺑﺎﻳـﺪ ﻃﺮﺣﻬـﺎﻳﻲ ﺭﺍ ﻛـﻪ ﺩﺭ ﺍﻳـﻦ ﭘـﺮﻭﮊﻩ ﻣـﻮﺭﺩ ﺍﺳـﺘﻔﺎﺩﻩ ﻗـﺮﺍﺭ ﻣﻲﮔﻴﺮﺩ ،ﺑﻪ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺍﺿﺎﻓﻪ ﻛﻨـﻴﻢ .ﺍﻳـﻦ ﺍﻣـﺮ ﺑﺼـﻮﺭﺕ ﺍﻳﺠـﺎﺩ ﻓﺎﻳﻠﻬـﺎﻱ ﺟﺪﻳـﺪ ﺻـﻮﺭﺕ ﻣـﻲﮔﻴـﺮﺩ .ﺩﺭ ﺍﻳﻨﺠـﺎ ﺍﺑﺘـﺪﺍ ﻳــﻚ ﺳــﻠﻮﻝ Half Adderﻃﺮﺍﺣــﻲ ﻛــﺮﺩﻩ ﻭ ﺳــﭙﺲ ﺑــﺎ ﺍﺗﺼــﺎﻝ ﺩﻭ ﻋــﺪﺩ ﺍﺯ ﺍﻳــﻦ ﺳــﻠﻮﻟﻬﺎ ﺑــﻪ ﻳﻜــﺪﻳﮕﺮ ﻳــﻚ ﺳــﻠﻮﻝ ﺟﻤﻊﻛﻨﻨـﺪﻩﻱ Full Adderﻣـﻲﺳـﺎﺯﻳﻢ ﻭ ﺩﺭ ﭘﺎﻳـﺎﻥ ﺑـﺎ ﺍﺗﺼـﺎﻝ ﺍﻳـﻦ ﺳـﻠﻮﻟﻬﺎ ﺑـﻪ ﻳﻜـﺪﻳﮕﺮ ﻳـﻚ ﺟﻤـﻊﻛﻨﻨـﺪﻩﻱ ﭼﻬـﺎﺭ ﺑﻴﺘﻲ ﻣﻲﺳﺎﺯﻳﻢ .ﺑﺎﻳﺪ ﺩﻗﺖ ﺩﺍﺷﺖ ﻛﻪ ﻫﻤﻴﺸﻪ ﺑﺎﻳﺪ ﻧﺎﻡ ﭘﺮﻭﮊﻩ ﺑﺎ ﻧﺎﻡ ﻣﺪﺍﺭ ﺩﺭ ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ ﻳﻜﺴﺎﻥ ﺑﺎﺷﺪ. <M> File: New ﭘﺲ ﺍﺯ ﺍﻳﻦ ﺍﻣـﺮ ﭘﻨﺠـﺮﻩﻱ ﺍﻳﺠـﺎﺩ ﻓﺎﻳـﻞ ﺟﺪﻳـﺪ ﻣﻄـﺎﺑﻖ ﺷـﻜﻞ ٣-١ﺑـﺮ ﺭﻭﻱ ﺻـﻔﺤﻪ ﻧﻤـﺎﻳﺶ ﺩﺍﺩﻩ ﻣـﻲﺷـﻮﺩ. ﺣﺎﻝ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : Select Text Editor file <LB> on OK ﺻﻔﺤﻪﻱ ٣ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺷﻜﻞ -٣-١ﭘﻨﺠﺮﻩﻱ ﺍﻳﺠﺎﺩ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﭘــﺲ ﺍﺯ ﺍﻧﺠــﺎﻡ ﺍﻳــﻦ ﻋﻤﻠﻴــﺎﺕ ،ﭘﻨﺠــﺮﻩﻱ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﻣﺘﻨــﻲ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ٤-١ﺑــﺮ ﺭﻭﻱ ﺻــﻔﺤﻪ ﻇــﺎﻫﺮ ﻣــﻲﺷــﻮﺩ .ﺍﻳــﻦ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﻗﺎﺑﻠﻴــﺖ ﻭﻳــﺮﺍﻳﺶ ﻓﺎﻳﻠﻬــﺎﻱ ﺯﺑﺎﻧﻬــﺎﻱ ﺗﻮﺻــﻴﻒ ﺳــﺨﺖﺍﻓــﺰﺍﺭﻱ Verilog ،VHDLﻭ AHDLﺭﺍ ﺩﺍﺭﺍﺳـﺖ .ﺑﻨــﺎﺑﺮﺍﻳﻦ ﭘـﻴﺶ ﺍﺯ ﺁﻧﻜــﻪ ﺗﻮﺻــﻴﻒ ﻣـﺪﺍﺭ ﺭﺍ ﻭﺍﺭﺩ ﻛﻨــﻴﻢ ،ﺑﻬﺘـﺮ ﺍﺳــﺖ ﭘﺴــﻮﻧﺪ ﻓﺎﻳـﻞ ﻣﺘﻨــﻲ ﻣــﻮﺭﺩ ﻧﻈﺮ ﺧﻮﺩ ﺭﺍ ﻣﺸﺨﺺ ﻛﻨـﻴﻢ .ﺑـﺎ ﺍﻳـﻦ ﺍﻣـﺮ ﻭﻳﺮﺍﻳﺸـﮕﺮ ﺗﺸـﺨﻴﺺ ﻣـﻲﺩﻫـﺪ ﺑـﺮﺍﻱ ﻧﻤـﺎﻳﺶ ﺭﻧﮕـﻲ ﻛﻠﻤـﺎﺕ ﻛﻠﻴـﺪﻱ ﺍﺯ ﻗﻮﺍﻋﺪ ﻧﺤﻮﻱ ﭼﻪ ﺯﺑﺎﻧﻲ ﺍﺳﺘﻔﺎﺩﻩ ﻛﻨﺪ .ﺑﻨﺎﺑﺮﺍﻳﻦ ﭘﻴﺶ ﺍﺯ ﻭﺭﻭﺩ ﺍﻃﻼﻋﺎﺕ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﺭﺍ ﺫﺧﻴﺮﻩ ﻣﻲﻛﻨﻴﻢ. Type your VHDL code here ﺷﻜﻞ -٤-١ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻣﺘﻨﻲ ﺑﺮﺍﻱ ﺫﺧﻴﺮﻩ ﻛﺮﺩﻥ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ. ﺻﻔﺤﻪﻱ ٤ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ <M> File: Save As ﺩﺭ ﭘﻨﺠـﺮﻩﻱ ﻇـﺎﻫﺮ ﺷــﺪﻩ ﻧـﺎﻡ ha_1bitﺭﺍ ﺑﻌﻨـﻮﺍﻥ ﻧــﺎﻡ ﻓﺎﻳـﻞ ﻭﺍﺭﺩ ﻣـﻲﻛﻨــﻴﻢ )ﺷـﻜﻞ ٥-١ﺭﺍ ﺑﺒﻴﻨﻴـﺪ( .ﺗﻮﺟــﻪ ﻛﻨﻴﺪ ﻛﻪ ﺩﺭ ﺑﺨﺶ ﻣﺮﺑـﻮﻁ ﺑـﻪ ﻧـﻮﻉ ﻓﺎﻳـﻞ ﺣﺘﻤـﺎ ﭘﺴـﻮﻧﺪ vhdﺭﺍ ﺍﻧﺘﺨـﺎﺏ ﻛﻨﻴـﺪ )ﭘﺴـﻮﻧﺪ ﻓﺎﻳﻠﻬـﺎﻱ VHDLﺑﺼـﻮﺭﺕ vhdﻣﻲﺑﺎﺷﺪ(. <LB> on OK ﺑــﺮﺍﻱ ﻭﺍﺭﺩ ﻛــﺮﺩﻥ ﻛــﺪ ،ﻭﻳﺮﺍﻳﺸــﮕﺮ ﻣﺘﻨــﻲ ﺩﺍﺭﺍﻱ ﻳــﻚ ﻗﺎﺑﻠﻴــﺖ ﺑﺴــﻴﺎﺭ ﻣﻨﺎﺳــﺐ ﺑﻨــﺎﻡ Templateﺍﺳــﺖ ﻛــﻪ ﺍﻟﮕﻮﻳﻲ ﺍﺯ ﺑﻴﺸﺘﺮ ﺳـﺎﺧﺘﺎﺭﻫﺎﻱ ﺯﺑـﺎﻥ ﺭﺍ ﺩﺭ ﺍﺧﺘﻴـﺎﺭ ﺷـﻤﺎ ﻗـﺮﺍﺭ ﻣـﻲﺩﻫـﺪ .ﺑـﺮﺍﻱ ﺩﺳﺘﺮﺳـﻲ ﺑـﻪ ﺍﻳـﻦ ﻗﺎﺑﻠﻴـﺖ ﻛﺎﻓﻴﺴـﺖ ﺩﺭ ﺣﺎﻟﻴﻜﻪ ﻣﺎﻭﺱ ﺭﻭﻱ ﺻـﻔﺤﻪ ﻣﺘﻨـﻲ ﺩﺭ ﻣﺤـﻞ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺍﺳـﺖ ،ﺑـﺎ ﻛﻠﻴـﺪ ﺳـﻤﺖ ﺭﺍﺳـﺖ ﻣـﺎﻭﺱ ﻛﻠﻴـﻚ ﻛﻨـﻴﻢ ﻭ ﺳــﭙﺲ ﺩﺭ ﻣﻨــﻮﻱ Case Sensitiveﻇــﺎﻫﺮ ﺷــﺪﻩ ﮔﺰﻳﻨــﻪﻱ VHDLﺭﺍ ﺍﻧﺘﺨــﺎﺏ ﻛﻨــﻴﻢ .ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﭘﻨﺠــﺮﻩﺍﻱ ﻣﻄﺎﺑﻖ ﺷـﻜﻞ ٦-١ﺭﻭﻱ ﺻـﻔﺤﻪ ﻇـﺎﻫﺮ ﻣـﻲﺷـﻮﺩ ﻛـﻪ ﻣـﻲﺗـﻮﺍﻥ ﺍﺯ ﺁﻥ ﺍﻟﮕـﻮﻱ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺭﺍ ﻧﺘﺨـﺎﺏ ﻧﻤـﻮﺩ ﻭ ﻛﻠﻴـﺪ Okﺭﺍ ﺯﺩ .ﺩﺭ ﺍﻳﻨﺼﻮﺭﺕ ﻳﻚ ﻛﭙﻲ ﺍﺯ ﺍﻟﮕـﻮﻱ ﺍﻳـﻦ ﺳـﺎﺧﺘﺎﺭ ﺩﺭ ﻣﺤـﻞ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﻇـﺎﻫﺮ ﻣـﻲﺷـﻮﺩ ﻭ ﺣـﺎﻻ ﻣـﻲﺗـﻮﺍﻥ ﺍﻳــﻦ ﺍﻟﮕــﻮ ﺭﺍ ﺑــﺮ ﺍﺳــﺎﺱ ﻧﻴــﺎﺯ ﺗﻐﻴﻴــﺮ ﺩﺍﺩ .ﺍﻳــﻦ ﻗﺎﺑﻠﻴــﺖ ﻛــﺎﺭﺑﺮ ﺭﺍ ﺍﺯ ﺑــﻪ ﺧــﺎﻃﺮ ﺳــﭙﺮﺩﻥ ﺍﻟﮕــﻮﻱ ﺳــﺎﺧﺘﺎﺭﻫﺎﻱ ﺯﺑــﺎﻥ ﺑﻲﻧﻴﺎﺯ ﻣﻲﺳﺎﺯﺩ. Enter design filename here Select design file type ﺷﻜﻞ -٥-١ﭘﻨﺠﺮﻩﻱ ﺫﺧﻴﺮﻩﻱ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﺻﻔﺤﻪﻱ ٥ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺷﻜﻞ -٦-١ﭘﻨﺠﺮﻩﻱ ﺍﻟﮕﻮﻱ VHDL ﺑــﺮﺍﻱ ﻣﺜــﺎﻝ ﺍﮔــﺮ ﺍﺯ ﭘﻨﺠــﺮﻩﻱ ﺍﻟﮕــﻮﻱ VHDLﮔﺰﻳﻨــﻪﻱ Entity Declarationﺭﺍ ﺍﻧﺘﺨــﺎﺏ ﻛﻨــﻴﻢ ﻭ ﻛﻠﻴــﺪ OKﺭﺍ ﺑﺮﻧﻴﻢ ،ﻛﺪﻱ ﻣﺸـﺎﺑﻪ ﻟﻴﺴـﺖ ١-١ﺩﺭ ﻣﺤـﻞ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﻇـﺎﻫﺮ ﻣـﻲﺷـﻮﺩ ،ﻛـﻪ ﻛـﺎﺭﺑﺮ ﻣـﻲﺗﻮﺍﻧـﺪ ﺑـﺎ ﺗﻐﻴﻴـﺮ ﻧـﺎﻡ Entityﻭ ﻧﺎﻡ ﭘﻮﺭﺗﻬﺎﻱ ﻭﺭﻭﺩﻱ ،ﺧﺮﻭﺟﻲ ﻭ ﭘﻮﺭﺗﻬﺎﻱ ﺩﻭﺳﻮﻳﻪ ﺗﻮﺻﻴﻒ ﻣﻮﺭﺩ ﻧﻈﺮ ﺧﻮﺩ ﺭﺍ ﺑﻴﺎﻥ ﻛﻨﺪ. ENTITY __entity_name IS ;GENERIC(__parameter_name : string := __default_value ;)__parameter_name : integer:= __default_value (PORT ;__input_name, __input_name : IN STD_LOGIC ;)__input_vector_name : IN STD_LOGIC_VECTOR(__high DOWNTO __low ;__bidir_name, __bidir_name : INOUT STD_LOGIC ;)__output_name, __output_name : OUT STD_LOGIC ;END __entity_name ﻟﻴﺴﺖ -١-١ﺍﻟﮕﻮﻱ Entity ﺩﺭ ﺷــﻜﻞ (a) ٧-١ﻧﻤــﻮﺩﺍﺭ ﻣﻨﻄﻘــﻲ ﺳــﻠﻮﻝ Half Adderﺁﻣــﺪﻩ ﺍﺳــﺖ .ﺩﺭ ﺷــﻜﻞ (b) ٧-١ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟﻴﻬــﺎﻱ ﺍﻳــﻦ ﺳــﻠﻮﻝ ﻧﻤــﺎﻳﺶ ﺩﺍﺩﻩ ﺷــﺪﻩﺍﻧــﺪ .ﺍﻛﻨــﻮﻥ ﺗﻮﺻــﻴﻒ ﺳــﻠﻮﻝ Half Adderﺭﺍ ﺑــﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ ﺯﺑــﺎﻥ VHDLﺩﺭ ﭘﻨﺠــﺮﻩﻱ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﻣﺘﻨــﻲ ﻭﺍﺭﺩ ﻣــﻲﻛﻨــﻴﻢ .ﺍﻳــﻦ ﺗﻮﺻــﻴﻒ ﺩﺭ ﻟﻴﺴــﺖ ٢-١ﺁﻣــﺪﻩ ﺍﺳــﺖ .ﻧﻜﺘــﻪﺍﻱ ﻛــﻪ ﺑﺎﻳﺪ ﺑﻪ ﺁﻥ ﺗﻮﺟـﻪ ﺩﺍﺷـﺖ ﺍﻳـﻦ ﺍﺳـﺖ ﻛـﻪ ﻫﻤﻴﺸـﻪ ﻧـﺎﻡ entityﺑﺎﻳـﺪ ﺑـﺎ ﻧـﺎﻡ ﻓﺎﻳـﻞ ﺣـﺎﻭﻱ ﺁﻥ ﻳﻜﺴـﺎﻥ ﺑﺎﺷـﺪ .ﺗﻮﺟـﻪ ﻛﻨﻴــﺪ ﻛــﻪ ﺑــﺮﺍﻱ ﻗﺎﺑــﻞ ﺳــﻨﺘﺮ ﺑــﻮﺩﻥ ﻃــﺮﺡ ﺑﺎﻳــﺪ ﺑﺠــﺎﻱ ﻧــﻮﻉ ﺩﺍﺩﻩﺍﻱ bitﺍﺯ std_logicﺍﺳــﺘﻔﺎﺩﻩ ﺷــﻮﺩ .ﺗﻌﺮﻳــﻒ ﺍﻳــﻦ ﻧﻮﻉ ﺩﺍﺩﻩﺍﻱ ﺩﺭ ﻛﺘﺎﺑﺨﺎﻧﻪﻱ IEEEﻭ ﺩﺭ ﺑﺴﺘﻪﻱ std_logic_1164ﻭﺟﻮﺩ ﺩﺍﺭﺩ. ﺻﻔﺤﻪﻱ ٦ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ s x y s x HA y c c )(a )(b ﺷﻜﻞ (a) -٧-١ﻧﻤﻮﺩﺍﺭ ﻣﻨﻄﻘﻲ ﺳﻠﻮﻝ (b) Half Adderﺳﻠﻮﻝ Half Adder ;LIBRARY IEEE ;USE IEEE.std_logic_1164.ALL ENTITY ha_1bit IS (PORT ;x, y : IN std_logic ;) s, c : OUT std_logic ;END ha_1bit ARCHITECTURE gate_level OF ha_1bit IS BEGIN ;s <= x XOR y ;c <= x AND y ;END gate_level ﻟﻴﺴﺖ -٢-١ﺗﻮﺻﻴﻒ Half Adder ﺣــﺎﻝ ﺑــﺎ ﺍﺗﺼــﺎﻝ ﺩﻭ ﺳــﻠﻮﻝ Half Adderﺑــﻪ ﻳﻜــﺪﻳﮕﺮ ﻳــﻚ ﺳــﻠﻮﻝ Full Adderﻣــﻲﺳــﺎﺯﻳﻢ .ﺩﺭ ﺷﻜﻞ ٨-١ﭼﮕﻮﻧﮕﻲ ﺍﺗﺼـﺎﻝ ﺍﻳـﻦ ﺳـﻠﻮﻟﻬﺎ ﺑـﻪ ﻳﻜـﺪﻳﮕﺮ ﻧﻤـﺎﻳﺶ ﺩﺍﺩﻩ ﺷـﺪﻩ ﺍﺳـﺖ .ﺍﻛﻨـﻮﻥ ﻳـﻚ ﻓﺎﻳـﻞ ﻣﺘﻨـﻲ ﺟﺪﻳـﺪ ﺩﻳﮕــﺮ ﺍﻳﺠــﺎﺩ ﻣــﻲﻛﻨــﻴﻢ ﻭ ﺁﻧــﺮﺍ ﺑــﺎ ﻧــﺎﻡ fa_1bitﺫﺧﻴــﺮﻩ ﻣــﻲﻛﻨــﻴﻢ .ﺍﻳــﻦ ﻓﺎﻳــﻞ ﺣــﺎﻭﻱ ﺗﻮﺻــﻴﻒ ﻳــﻚ ﺳــﻠﻮﻝ ﺟﻤﻊﻛﻨﻨﺪﻩﻱ ﻳﻚ ﺑﻴﺘﻲ ﺍﺳﺖ .ﺍﻳﻦ ﺗﻮﺻﻴﻒ ﺩﺭ ﻟﻴﺴﺖ ٣-١ﺁﻣﺪﻩ ﺍﺳﺖ. HA HA im1 sum im3 s x c y im2 s x a c y b cout cin ﺷﻜﻞ -٨-١ﻧﻤﻮﺩﺍﺭ ﻣﻨﻄﻘﻲ ﺳﻠﻮﻝ Full Adder ﻫﻤﻴﻦ ﻋﻤﻠﻴﺎﺕ ﺭﺍ ﺑﺮﺍﻱ ﻓﺎﻳـﻞ ﺍﺻـﻠﻲ ﭘـﺮﻭﮊﻩ ﻳﻌﻨـﻲ adderﺍﻧﺠـﺎﻡ ﻣـﻲﺩﻫـﻴﻢ .ﺗﻮﺻـﻴﻒ ﺟﻤـﻊﻛﻨﻨـﺪﻩﻱ ﭼﻬـﺎﺭ ﺑﻴﺘﻲ ﺩﺭ ﻟﻴﺴﺖ ٤-١ﺁﻣﺪﻩ ﺍﺳﺖ. ;LIBRARY IEEE ;USE IEEE.std_logic_1164.ALL ENTITY fa_1bit IS (PORT a, b, cin ;: IN STD_LOGIC sum, cout ;): OUT STD_LOGIC ;END fa_1bit ﻟﻴﺴﺖ -٣-١ﺗﻮﺻﻴﻒ Full Adderﻳﻚ ﺑﻴﺘﻲ ﺻﻔﺤﻪﻱ ٧ Max+PlusII ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ ﺳﻌﻴﺪ ﺻﻔﺮﻱ:ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ ARCHITECTURE structural OF fa_1bit IS COMPONENT ha_1bit PORT( x, y : IN std_logic; s, c : OUT std_logic ); END COMPONENT; SIGNAL im1, im2, im3 : std_logic; BEGIN ha1 : ha_1bit PORT MAP ( a, b, im1, im2 ); ha2 : ha_1bit PORT MAP ( im1, cin, sum, im3 ); cout <= im2 OR im3; END structural; ( ﻳﻚ ﺑﻴﺘﻲ )ﺍﺩﺍﻣﻪFull Adder ﺗﻮﺻﻴﻒ-٣-١ ﻟﻴﺴﺖ LIBRARY IEEE; USE IEEE.std_logic_1164.all; ENTITY adder IS PORT( a, b : IN STD_LOGIC_VECTOR(3 DOWNTO 0); cin : IN STD_LOGIC; sum : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); cout : OUT STD_LOGIC); END adder; ARCHITECTURE structural OF adder IS COMPONENT fa_1bit PORT ( a, b, cin : IN STD_LOGIC; sum, cout : OUT STD_LOGIC ); END COMPONENT; SIGNAL im1, im2, im3 : STD_LOGIC; BEGIN fa0 : fa_1bit PORT MAP ( a(0), b(0), fa1 : fa_1bit PORT MAP ( a(1), b(1), fa2 : fa_1bit PORT MAP ( a(2), b(2), fa3 : fa_1bit PORT MAP ( a(3), b(3), END structural; cin, im1, im2, im3, sum(0), sum(1), sum(2), sum(3), im1 ); im2 ); im3 ); cout ); ﺗﻮﺻﻴﻒ ﺟﻤﻊﻛﻨﻨﺪﻩﻱ ﭼﻬﺎﺭﺑﻴﺘﻲ-٤-١ ﻟﻴﺴﺖ ﺍﻧﺘﺨﺎﺏ ﺗﺮﺍﺷﻪ ٤-١ ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻨﻈـﻮﺭ ﻧﺨﺴـﺖ ﺑﺎﻳـﺪ ﻧـﻮﻉ ﺗﺮﺍﺷـﻪﺍﻱ. ﺑﺎﻳـﺪ ﺁﻥ ﺭﺍ ﻛﺎﻣﭙﺎﻳـﻞ ﻛﻨـﻴﻢ،ﭘﺲ ﺍﺯ ﺍﻳﻨﻜﻪ ﻃﺮﺡ ﺁﻣـﺎﺩﻩ ﺷـﺪ ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻨﻈـﻮﺭ ﺑﺼـﻮﺭﺕ ﺯﻳـﺮ ﻋﻤـﻞ. ﻣﺸـﺨﺺ ﻛﻨـﻴﻢ،ﺭﺍ ﻛﻪ ﻣﻲﺧـﻮﺍﻫﻴﻢ ﻃـﺮﺡ ﻣـﺎ ﺑـﺮ ﺭﻭﻱ ﺁﻥ ﻧﮕﺎﺷـﺖ ﺷـﻮﺩ : ﻣﻲﻛﻨﻴﻢ <M> Assign: Device, to show Device window ﻧﺨﺴــﺖ ﺑﺎﻳــﺪ ﺍﺯ ﻟﻴﺴــﺖ، ﺩﺭ ﭘﻨﺠــﺮﻩﻱ ﺍﻧﺘﺨــﺎﺏ ﺗﺮﺍﺷــﻪ، ﺩﻳــﺪﻩ ﻣــﻲﺷــﻮﺩ٩-١ ﻫﻤــﺎﻧﻄﻮﺭ ﻛــﻪ ﺩﺭ ﺷــﻜﻞ ﻧــﺎﻡ ﺗﺮﺍﺷــﻪﻫــﺎﻱDevices ﺩﺭ ﺍﻳﻨﺼــﻮﺭﺕ ﺩﺭ ﻟﻴﺴــﺖ. ﺧــﺎﻧﻮﺍﺩﻩﻱ ﺗﺮﺍﺷــﻪ ﺭﺍ ﺍﻧﺘﺨــﺎﺏ ﻛﻨــﻴﻢDevice Family ﺩﺭ ﺻـﻮﺭﺗﻴﻜﻪ ﺑﺨـﻮﺍﻫﻴﻢ ﺍﺑــﺰﺍﺭ ﺳـﻨﺘﺰ ﻣﻨﺎﺳــﺒﺘﺮﻳﻦ ﺗﺮﺍﺷـﻪ ﺭﺍ ﺑــﺮﺍﻱ.ﻣﻮﺟـﻮﺩ ﺩﺭ ﺍﻳـﻦ ﺧــﺎﻧﻮﺍﺩﻩ ﺑـﻪ ﻧﻤــﺎﻳﺶ ﺩﺭ ﻣـﻲﺁﻳــﺪ . ﺭﺍ ﺍﻧﺘﺨﺎﺏ ﻛﻨﻴﻢAUTO ﮔﺰﻳﻨﻪﻱDevices ﺑﺎﻳﺪ ﺩﺭ ﻟﻴﺴﺖ،ﻃﺮﺡ ﻣﺎ ﺍﻧﺘﺨﺎﺏ ﻛﻨﺪ ٨ ﺻﻔﺤﻪﻱ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ Select device family from combo-box Select a device from list box ﺷﻜﻞ -٩-١ﭘﻨﺠﺮﻩﻱ ﺍﻧﺘﺨﺎﺏ ﺗﺮﺍﺷﻪ ٥-١ ﻛﺎﻣﭙﺎﻳﻞ ﻃﺮﺡ ﭘــﺲ ﺍﺯ ﺍﻧﺘﺨــﺎﺏ ﻧــﻮﻉ ﺗﺮﺍﺷــﻪ ﺑﺎﻳــﺪ ﻃــﺮﺡ ﺭﺍ ﻛﺎﻣﭙﺎﻳــﻞ ﻧﻤــﻮﺩ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈــﻮﺭ ﺑﺎﻳــﺪ ﺑﺼــﻮﺭﺕ ﺯﻳــﺮ ﻋﻤــﻞ ﻛﻨﻴﻢ: <M> Max+Plus II: Compiler ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﭘﻨﺠــﺮﻩﻱ ﻛﺎﻣﭙــﺎﻳﻠﺮ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ١٠-١ﺑــﺮ ﺭﻭﻱ ﺻــﻔﺤﻪ ﺑــﻪ ﻧﻤــﺎﻳﺶ ﺩﺭ ﻣــﻲﺁﻳــﺪ .ﺑــﺮﺍﻱ ﺷﺮﻭﻉ ﻋﻤﻠﻴﺎﺕ ﻛﺎﻣﭙﺎﻳﻞ ﺗﻮﺳﻂ ﻣﺎﻭﺱ ﺑﺎﻳﺪ ﺭﻭﻱ ﻛﻠﻴﺪ Startﻛﻠﻴﻚ ﻛﻨﻴﻢ. ﺷﻜﻞ -١٠-١ﭘﻨﺠﺮﻩﻱ ﻛﺎﻣﭙﺎﻳﻠﺮ ﺑﺮﺍﻱ ﺍﻳﻨﻜﻪ ﻳـﻚ ﺳﻴﺴـﺘﻢ ﺳـﻨﺘﺰ ﻛﺎﻣـﻞ )ﺍﺯ ﺗﻮﺻـﻴﻒ ﺭﻓﺘـﺎﺭﻱ ﻣـﺪﺍﺭ ﺗـﺎ ﻟـﻲﺍﻭﺕ (VLSIﺩﺍﺷـﺘﻪ ﺑﺎﺷـﻴﻢ ،ﺑﺎﻳـﺪ ﺗﻮﺳﻂ ﺍﺑﺰﺍﺭ ﺳـﻨﺘﺰ ﻳـﻚ ﻓﺎﻳـﻞ ﺧﺮﻭﺟـﻲ Netlistﺗﻮﻟﻴـﺪ ﻛﻨـﻴﻢ .ﺍﻳـﻦ ﻓﺎﻳـﻞ ﺧﺮﻭﺟـﻲ ،ﻣـﺪﺍﺭ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺭﺍ ﺑﺼـﻮﺭﺕ ﻣﺠﻤﻮﻋﻪﺍﻱ ﺍﺯ ﻋﻨﺎﺻﺮ ﻛﺘﺎﺑﺨﺎﻧﻪ ﺑﻴﺎﻥ ﻣﻲﻛﻨـﺪ ﻛـﻪ ﺑـﻪ ﻳﻜـﺪﻳﮕﺮ ﻣﺘﺼـﻞ ﻫﺴـﺘﻨﺪ .ﻗﺎﻟـﺐ ﺍﻳـﻦ ﻓﺎﻳـﻞ ﺧﺮﻭﺟـﻲ ﻣـﻲﺗﻮﺍﻧـﺪ ﺻﻔﺤﻪﻱ ٩ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺑﺼــﻮﺭﺕ Verilogﻳــﺎ EDIFﺑﺎﺷــﺪ .ﺍﺯ ﺍﻳــﻦ ﻓﺎﻳــﻞ ﺧﺮﻭﺟــﻲ ﺑــﺮﺍﻱ ﺗﻮﻟﻴــﺪ ﻟــﻲﺍﻭﺕ VLSIﺍﺳــﺘﻔﺎﺩﻩ ﻣــﻲﻛﻨــﻴﻢ. ﺑﺮﺍﻱ ﺍﻳﻨﻜﻪ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusIIﺧﺮﻭﺟﻲ Verilogﻭ ﻳﺎ EDIFﺭﺍ ﺗﻮﻟﻴﺪ ﻛﻨﺪ ،ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ: <M> Interface: EDIF Netlist Writer <M> Interface: Verilog Netlist Writer ﭘﺲ ﺍﺯ ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﻋﻤﻞ ،ﭘﻨﺠﺮﻩﻱ ﻛﺎﻣﭙﺎﻳﻠﺮ ﺑﺼﻮﺭﺕ ﺷﻜﻞ ١١-١ﺩﺭ ﻣﻲﺁﻳﺪ. Netlist writer will be added to the compiler window ﺷﻜﻞ -١١-١ﭘﻨﺠﺮﻩﻱ ﻛﺎﻣﭙﺎﻳﻠﺮ ﺑﺮﺍﻱ ﺗﻮﻟﻴﺪ ﺧﺮﻭﺟﻲ Verilogﻭ EDIF ﺍﻛﻨــﻮﻥ ﺑــﺎ ﻛﻠﻴــﻚ ﻛــﺮﺩﻥ ﺭﻭﻱ ﻛﻠﻴــﺪ Startﻋﻤﻠﻴــﺎﺕ ﻛﺎﻣﭙﺎﻳــﻞ ﺭﺍ ﺁﻏــﺎﺯ ﻣــﻲﻛﻨــﻴﻢ .ﺩﺭ ﻃــﻲ ﺍﻧﺠــﺎﻡ ﻋﻤﻠﻴــﺎﺕ ﻛﺎﻣﭙﺎﻳــﻞ ﮔﺰﺍﺭﺷــﻲ ﺍﺯ ﺧﻄﺎﻫــﺎ ﻭ warningﻫــﺎﻱ ﺍﺣﺘﻤــﺎﻟﻲ ﺩﺭ ﻳــﻚ ﭘﻨﺠــﺮﻩ ﺑﻨــﺎﻡ Messageﺑــﻪ ﻧﻤــﺎﻳﺶ ﺩﺭ ﻣــﻲﺁﻳــﺪ. ﭼﻨﺎﻧﭽـﻪ ﺑﺨــﻮﺍﻫﻴﻢ ﻣﺤـﻞ ﺑــﺮﻭﺯ ﺧﻄــﺎ ﺭﺍ ﻣﺸـﺎﻫﺪﻩ ﻛﻨــﻴﻢ ،ﻛﺎﻓﻴﺴــﺖ ﺗﻮﺳـﻂ ﻣــﺎﻭﺱ ﺭﻭﻱ ﺧﻄــﺎﻱ ﻣـﻮﺭﺩ ﻧﻈــﺮ ﻛﻠﻴــﻚ ﻛــﺮﺩﻩ ﻭ ﺳــﭙﺲ ﺭﻭﻱ ﻛﻠﻴــﺪ Locateﻛﻠﻴــﻚ ﻛﻨــﻴﻢ ) ﺷــﻜﻞ ١٢-١ﺭﺍ ﺑﺒﻴﻨﻴــﺪ ( .ﺩﺭ ﺻــﻮﺭﺗﻴﻜﻪ ﻃــﺮﺡ ﺷــﻤﺎ ﺩﺭﻭﻥ ﻳــﻚ ﺗﺮﺍﺷﻪ ﺟﺎﻱ ﻧﮕﻴﺮﺩ ،ﺍﺑﺰﺍﺭ ﺳﻨﺘﺰ ﺑﻪ ﺷﻤﺎ ﭘﻴﺎﻡ ﻣـﻲﺩﻫـﺪ ﻛـﻪ ﺁﻳـﺎ ﻣـﻲﺧﻮﺍﻫﻴـﺪ ﺍﻳـﻦ ﻃـﺮﺡ ﺭﺍ ﺩﺭﻭﻥ ﺩﻭ )ﻳـﺎ ﭼﻨـﺪ( ﺗﺮﺍﺷـﻪ ﺟﺎﻱ ﺩﻫﻴﺪ ﻳﺎ ﺧﻴﺮ .ﺩﺭ ﺻﻮﺭﺗﻴﻜﻪ ﺷﻤﺎ ﺍﺩﺍﻣـﻪﻱ ﻋﻤـﻞ ﻛﺎﻣﭙﺎﻳـﻞ ﺭﺍ ﺗﺎﻳﻴـﺪ ﻛﻨﻴـﺪ ،ﺍﺑـﺰﺍﺭ ﺳـﻨﺘﺰ ﻃـﺮﺡ ﺭﺍ ﺑـﻪ ﭼﻨـﺪ ﺑﺨـﺶ ﺗﻘﺴﻴﻢ ﻣـﻲﻛﻨـﺪ ﻭ ﻫـﺮ ﺑﺨـﺶ ﺭﺍ ﺩﺭﻭﻥ ﻳـﻚ ﺗﺮﺍﺷـﻪ ﺟـﺎﻱ ﻣـﻲﺩﻫـﺪ ﻭ ﻟﻴﺴـﺘﻲ ﺍﺯ ﭘﺎﻳـﻪﻫـﺎﻱ ﺗﺮﺍﺷـﻪﻫـﺎ ﻛـﻪ ﺑﺎﻳـﺪ ﺑـﻪ ﻳﻜﺪﻳﮕﺮ ﻣﺮﺗﺒﻂ ﺷﻮﻧﺪ ﺭﺍ ﺍﺭﺍﺋﻪ ﻣﻲﻛﻨﺪ. ﺻﻔﺤﻪﻱ ١٠ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ Error and warnning messages will be shwon here ﺷﻜﻞ -١٢-١ﭘﻨﺠﺮﻩﻱ ﭘﻴﺎﻣﻬﺎ ٦-١ ﺷﺒﻴﻪﺳﺎﺯﻱ ﻃﺮﺡ ﭘﺲ ﺍﺯ ﺍﻳﻨﻜﻪ ﻃﺮﺡ ﻣﻮﺭﺩ ﻧﻈـﺮ ﺑـﺮ ﺭﻭﻱ ﺗﺮﺍﺷـﻪ ﻧﮕﺎﺷـﺖ ﺷـﺪ ،ﺑﺎﻳـﺪ ﺁﻥ ﺭﺍ ﺷـﺒﻴﻪ ﺳـﺎﺯﻱ ﻧﻤـﻮﺩ ﺗـﺎ ﺍﺯ ﺻـﺤﺖ ﻃــﺮﺡ ﻣﻄﻤــﺌﻦ ﺷــﻮﻳﻢ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈــﻮﺭ ﻧﺨﺴــﺖ ﺑﺎﻳــﺪ ﺷــﻜﻞ ﻣــﻮﺝ ﻭﺭﻭﺩﻱ ﻣــﺪﺍﺭ ﺭﺍ ﻃﺮﺍﺣــﻲ ﻛﻨــﻴﻢ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <M> Max+Plus II: Waveform Editor ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﭘﻨﺠــﺮﻩﻱ ﻭﻳــﺮﺍﻳﺶ ﺷــﻜﻞ ﻣــﻮﺝ ﺭﻭﻱ ﺻــﻔﺤﻪ ﻇــﺎﻫﺮ ﻣــﻲﺷــﻮﺩ .ﺍﻳــﻦ ﭘﻨﺠــﺮﻩ ﺩﺭ ﺷــﻜﻞ ١٣-١ ﻧﻤﺎﻳﺶ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ ﻭ ﻗﺴﻤﺘﻬﺎﻱ ﻣﺨﺘﻠﻒ ﺍﻳﻦ ﭘﻨﺠﺮﻩ ﺩﺭ ﺷﻜﻞ ﻣﺸﺨﺺ ﺷﺪﻩ ﺍﺳﺖ. ﺩﺭ ﻣﺮﺣﻠﻪﻱ ﻛﺎﻣﭙﺎﻳـﻞ ﻃـﺮﺡ ،ﻳـﻚ ﻓﺎﻳـﻞ ﺑـﺎ ﭘﺴـﻮﻧﺪ SNFﺍﻳﺠـﺎﺩ ﻣـﻲﺷـﻮﺩ ﻛـﻪ ﻣﺸﺨﺼـﺎﺕ ﺗﻤـﺎﻡ ﮔـﺮﻩﻫـﺎﻱ ﻣــﺪﺍﺭ ﺭﺍ ﺩﺭ ﺧــﻮﺩ ﺫﺧﻴــﺮﻩ ﻣــﻲﻛﻨــﺪ .ﺍﺯ ﺍﻳﻨــﺮﻭ ﺑﻬﺘــﺮ ﺍﺳــﺖ ﻛــﻪ ﻧــﺎﻡ ﮔــﺮﻩ ﻫــﺎﻱ ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟــﻲ ﻣــﺪﺍﺭ ﺭﺍ ﺍﺯ ﺍﻳــﻦ ﻓﺎﻳﻞ ﺍﺳﺘﺨﺮﺍﺝ ﻛﻨﻴﻢ .ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <M> Node: Enter Node from SNF ﺻﻔﺤﻪﻱ ١١ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ Reference cursor handle Value field Field resizing handles Name field ﺷﻜﻞ -١٣-١ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺶ ﺷﻜﻞ ﻣﻮﺟﻬﺎ ﭘﻨﺠﺮﻩﺍﻱ ﻣﻄﺎﺑﻖ ﺷﻜﻞ ١٤-١ﺭﻭﻱ ﺻﻔﺤﻪ ﻇـﺎﻫﺮ ﻣـﻲﺷـﻮﺩ .ﺩﺭ ﺍﻳـﻦ ﭘﻨﺠـﺮﻩ ﻣـﻲﺗـﻮﺍﻥ ﻧـﻮﻉ ﮔـﺮﻩﻫـﺎﻱ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺭﺍ ﺍﻧﺘﺨـﺎﺏ ﻧﻤــﻮﺩ ،ﺍﻳـﻦ ﺍﻣــﺮ ﺩﺭ ﺑﺨـﺶ Typeﺍﻧﺠــﺎﻡ ﻣـﻲﺷــﻮﺩ .ﭘـﺲ ﺍﺯ ﺍﻧﺘﺨــﺎﺏ ﻧـﻮﻉ ﮔــﺮﻩ ﻫـﺎ ﻛﻠﻴــﺪ Listﺭﺍ ﻣﻲﺯﻧﻴﻢ ﺗـﺎ ﻟﻴﺴـﺖ ﮔـﺮﻩ ﻫـﺎﻱ ﻣﻮﺟـﻮﺩ ﺩﺭ ﻣـﺪﺍﺭ ،ﺩﺭ ﺑﺨـﺶ ﺳـﻤﺖ ﭼـﭗ ﭘﻨﺠـﺮﻩ ﻇـﺎﻫﺮ ﺷـﻮﺩ .ﺳـﭙﺲ ﻫـﺮ ﻳـﻚ ﺍﺯ ﻭﺭﻭﺩﻳﻬﺎ ﻭ ﻳـﺎ ﺧﺮﻭﺟﻴﻬـﺎ ﺭﺍ ﻛـﻪ ﺑﺨـﻮﺍﻫﻴﻢ ﺍﻧﺘﺨـﺎﺏ ﻣـﻲﻛﻨـﻴﻢ ﻭ ﺁﻧﻬـﺎ ﺭﺍ ﺗﻮﺳـﻂ ﻛﻠﻴـﺪ >= ﺑـﻪ ﻟﻴﺴـﺖ ﺷـﻜﻞ ﻣﻮﺟﻬـﺎ ﺍﺿﺎﻓﻪ ﻣﻲﻛﻨﻴﻢ ﻭ ﺩﺭ ﭘﺎﻳﺎﻥ ﻛﻠﻴﺪ Okﺭﺍ ﻣﻲﺯﻧﻴﻢ. Specifies a text string that contains wildcard characters or a node(group) name Shows nodes that match with type of nodes ﺷﻜﻞ -١٤-١ﭘﻨﺠﺮﻩﻱ ﺍﻧﺘﺨﺎﺏ ﮔﺮﻩﻫﺎ ﭼﻨﺎﻧﭽﻪ ﺑﺨﻮﺍﻫﻴﻢ ﺑﻌﺪﻫﺎ ﻳـﻚ ﮔـﺮﻩ ﺭﺍ ﺑـﻪ ﺍﻳـﻦ ﻟﻴﺴـﺖ ﺍﺿـﺎﻓﻪ ﻛﻨـﻴﻢ ﺩﺭ ﭘﻨﺠـﺮﻩﻱ ﻭﻳﺮﺍﻳﺸـﮕﺮ ﺷـﻜﻞ ﻣـﻮﺝ ﺩﺭ ﻣﺤــﻞ ﻓﻴﻠــﺪ ﻧــﺎﻡ > <DLﻣــﻲﻛﻨــﻴﻢ ،ﺩﺭ ﺍﻳﻨﺼــﻮﺭﺕ ﭘﻨﺠــﺮﻩ ﺍﻱ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ١٥-١ﺭﻭﻱ ﺻــﻔﺤﻪ ﻇــﺎﻫﺮ ﻣــﻲﺷــﻮﺩ، ﺳﭙﺲ ﻧﺎﻡ ﮔﺮﻩ ﻣﻮﺭﺩ ﻧﻈﺮ ﻭ ﻧـﻮﻉ ﮔـﺮﻩ ﺭﺍ ﻣﺸـﺨﺺ ﻣـﻲﻛﻨـﻴﻢ ﻭ ﺩﺭ ﺻـﻮﺭﺕ ﻟـﺰﻭﻡ ﻣﻘـﺪﺍﺭ ﭘـﻴﺶ ﻓـﺮﺽ ﮔـﺮﻩ ﺭﺍ ﻭﺍﺭﺩ ﺻﻔﺤﻪﻱ ١٢ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﻣﻲﻛﻨﻴﻢ ﻭ ﻛﻠﻴﺪ Okﺭﺍ ﻣﻲﺯﻧﻴﻢ ﺗﺎ ﮔـﺮﻩ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺑـﻪ ﻟﻴﺴـﺖ ﮔـﺮﻩ ﻫـﺎﻱ ﻭﻳﺮﺍﻳﺸـﮕﺮ ﺷـﻜﻞ ﻣـﻮﺝ ﺍﻓـﺰﻭﺩﻩ ﺷـﻮﺩ .ﺑـﻪ ﻫﻨﮕﺎﻡ ﺍﻓﺰﻭﺩﻥ ﮔﺮﻩ ﺑﺎ ﺍﻳﻦ ﺭﻭﺵ ﺑﺎﻳﺪ ﺩﻗﺖ ﻛﺮﺩ ﻛﻪ ﮔﺮﻩ ﺣﺘﻤﺎ ﺩﺭ ﻃﺮﺡ ﻣﻮﺟﻮﺩ ﺑﺎﺷﺪ. Specify I/O type of the node Enter node name here Specify initial logic valu for a node, or initial state name for a state machine node ﺷﻜﻞ -١٥-١ﭘﻨﺠﺮﻩﻱ ﻭﺭﻭﺩ ﮔﺮﻩ ﭘﺲ ﺍﺯ ﺍﻳﻨﻜﻪ ﮔﺮﻩﻫﺎﻱ ﻣﻮﺭﺩ ﻧﻈﺮ ﺑـﻪ ﻭﻳﺮﺍﻳﺸـﮕﺮ ﺷـﻜﻞ ﻣـﻮﺝ ﺍﻓـﺰﻭﺩﻩ ﺷـﺪ ،ﺑﺎﻳـﺪ ﺷـﻜﻞ ﻣـﻮﺝ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺭﺍ ﺑــﻪ ﻭﺭﻭﺩﻳﻬــﺎ ﺍﻋﻤــﺎﻝ ﻧﻤــﻮﺩ .ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﭘﻨﺠــﺮﻩﻱ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﺷــﻜﻞ ﻣــﻮﺝ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ١٦-١ﺧﻮﺍﻫــﺪ ﺑــﻮﺩ .ﺩﺭ ﺍﻳﻦ ﺷﻜﻞ ﺑﺨﺸﻬﺎﻱ ﻣﺨﺘﻠﻒ ﺍﻳﻦ ﭘﻨﺠﺮﻩ ﻧﻤﺎﻳﺶ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ. ﺩﺭ ﺣﺎﻟــﺖ ﻋــﺎﺩﻱ ﻃــﻮﻝ ﺯﻣــﺎﻥ ﺷــﺒﻴﻪ ﺳــﺎﺯﻱ ﺑﺮﺍﺑــﺮ ١ﻣﻴﻜﺮﻭﺛﺎﻧﻴــﻪ ﺍﺳــﺖ .ﺑــﺮﺍﻱ ﺗﻐﻴﻴــﺮ ﺍﻳــﻦ ﻣﻘــﺪﺍﺭ ﺑﺎﻳــﺪ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻧﻤﻮﺩﻩ ﻭ ﺳﭙﺲ ﻣﻘﺪﺍﺭ ﺯﻣﺎﻥ ﺷﺒﻴﻪ ﺳﺎﺯﻱ ﺭﺍ ﺩﺭ ﭘﻨﺠﺮﻩﻱ ﻇﺎﻫﺮ ﺷﺪﻩ ﻭﺍﺭﺩ ﻛﻨﻴﻢ. ﺩﺭ ﺣﺎﻟـﺖ ﻋــﺎﺩﻱ ﻣﻘــﺪﺍﺭ Gridﺯﻣــﺎﻥ ﺑﺮﺍﺑــﺮ ١٠٠ﻧﺎﻧﻮﺛﺎﻧﻴــﻪ ﺍﺳــﺖ .ﺑــﺮﺍﻱ <M> File: End Time ﺍﻳﻨﻜــﻪ ﻣﻘــﺪﺍﺭ Gridﺯﻣــﺎﻥ ﺭﺍ ﺗﻐﻴﻴــﺮ ﺩﻫﻴﻢ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻧﻤﻮﺩﻩ ﻭ ﺳﭙﺲ ﻣﻘﺪﺍﺭ Gridﺯﻣﺎﻥ ﺭﺍ ﺩﺭ ﭘﻨﺠﺮﻩﻱ ﻇﺎﻫﺮ ﺷﺪﻩ ﻭﺍﺭﺩ ﻣﻲﻛﻨﻴﻢ. ﺑــﺮﺍﻱ ﺟﺎﺑﺠــﺎ ﻛــﺮﺩﻥ ﻳــﻚ ﺳــﻴﮕﻨﺎﻝ ﺩﺭ ﻟﻴﺴــﺖ ﻧﻤــﺎﻳﺶ ﻣــﻲﺗــﻮﺍﻥ <M> Options: Grid Size ﺗﻮﺳــﻂ ﻣــﺎﻭﺱ Handleﺁﻥ ﺳــﻴﮕﻨﺎﻝ ﺭﺍ ﮔﺮﻓﺘﻪ ﻭ ﺁﻥ ﺭﺍ ﺩﺭ ﻟﻴﺴﺖ ﺳﻴﮕﻨﺎﻟﻬﺎ ﺑﻪ ﻣﺤﻞ ﻣﻮﺭﺩ ﻧﻈﺮ Dragﻧﻤﻮﺩ. ﺑــﺮﺍﻱ ﺍﻳﻨﻜــﻪ ﻣﻘــﺪﺍﺭ ﻳــﻚ ﺳــﻴﮕﻨﺎﻝ ﻭﺭﻭﺩﻱ ﺭﺍ ﺗﻐﻴﻴــﺮ ﺩﻫــﻴﻢ ،ﺍﺑﺘــﺪﺍ ﺑﺎﻳــﺪ ﺁﻥ ﻗﺴــﻤﺘﻲ ﺍﺯ ﺳــﻴﮕﻨﺎﻝ ﺭﺍ ﻛــﻪ ﻣــﻲﺧــﻮﺍﻫﻴﻢ ﺗﻐﻴﻴــﺮ ﺩﻫــﻴﻢ ،ﺍﻧﺘﺨــﺎﺏ ﻛﻨــﻴﻢ .ﺑــﺮﺍﻱ ﺍﻧﺘﺨــﺎﺏ ﻗﺴــﻤﺘﻲ ﺍﺯ ﻳــﻚ ﺳــﻴﮕﻨﺎﻝ ﺍﺑﺘــﺪﺍ ﺗﻮﺳــﻂ ﻣــﺎﻭﺱ ﺁﻳﻜــﻮﻥ Select Objectﺭﺍ ﺍﻧﺘﺨﺎﺏ ﻣﻲﻛﻨـﻴﻢ ،ﺳـﭙﺲ ﻗﺴـﻤﺖ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺍﺯ ﺳـﻴﮕﻨﺎﻝ ﺭﺍ Dragﻣـﻲ ﻛﻨـﻴﻢ .ﺑـﻪ ﺍﻳـﻦ ﺗﺮﺗﻴـﺐ ﺭﻧﮓ ﺍﻳﻦ ﻗﺴـﻤﺖ ﺗﻴـﺮﻩ ﻣـﻲﺷـﻮﺩ ،ﺣـﺎﻝ ﻣـﻲﺗـﻮﺍﻧﻴﻢ ﺗﻮﺳـﻂ ﺁﻳﻜﻮﻧﻬـﺎﻱ ﺳـﻤﺖ ﭼـﭗ ﺻـﻔﺤﻪ ﻣﻘـﺪﺍﺭ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺭﺍ ﻭﺍﺭﺩ ﻛﻨﻴﻢ. ﺻﻔﺤﻪﻱ ١٣ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ Displays time at current cursor location Select object Displays time at current reference cursor location Enter text Transition Zoom in Zoom out Full fit Enter Zero Enter One Enter Unknown Enter HiZ Invert Clock Generator Enter count value Enter group value Node handle shows the I/O type of the node Enter state ﺷﻜﻞ -١٦-١ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺶ ﺷﻜﻞ ﻣﻮﺟﻬﺎ ﭘﺲ ﺍﺯ ﺍﻓﺰﻭﺩﻥ ﮔﺮﻩﻫﺎ ﺩﺭ ﺻــﻮﺭﺗﻴﻜﻪ ﺑﺨــﻮﺍﻫﻴﻢ ﻳــﻚ ﺳــﻴﮕﻨﺎﻝ ﺭﺍ ﺑﺼــﻮﺭﺕ ﻛﺎﻣــﻞ ﺍﻧﺘﺨــﺎﺏ ﻛﻨــﻴﻢ ،ﺑﺎﻳــﺪ ﺭﻭﻱ ﻣﻘــﺪﺍﺭ ﺁﻥ ﺳــﻴﮕﻨﺎﻝ > <LBﻛﻨﻴﻢ .ﺑﺮﺍﻱ ﺗﻐﻴﻴﺮ ﺩﺍﺩﻥ ﻣﻘﺪﺍﺭ ﻳﻚ ﺳﻴﮕﻨﺎﻝ ﺑﻪ ﺍﻳـﻦ ﻧﻜﺘـﻪ ﺗﻮﺟـﻪ ﻛﻨﻴـﺪ ﻛـﻪ ﺳـﻴﮕﻨﺎﻝ ﻳـﻚ ﮔـﺮﻩ ﺍﺳـﺖ ﻳـﺎ ﻳـﻚ ﮔﺮﻭﻩ ﻭ ﺑﺮﺍﻱ ﻣﻘﺪﺍﺭﺩﻫﻲ ﺑـﻪ ﺁﻥ ﺍﺯ ﺁﻳﻜـﻮﻥ ﻣﻨﺎﺳـﺐ ﺍﺳـﺘﻔﺎﺩﻩ ﻛﻨﻴـﺪ .ﺑـﺮﺍﻱ ﺗﺴـﺖ ﺍﻳـﻦ ﻣـﺪﺍﺭ ﻓـﺮﺽ ﻛﻨﻴـﺪ ﻛـﻪ ﺷـﻜﻞ ﻣﻮﺝ ﻭﺭﻭﺩﻱ ﺭﺍ ﺑﺼﻮﺭﺕ ﺷﻜﻞ ١٧-١ﻃﺮﺍﺣـﻲ ﻛـﺮﺩﻩﺍﻳـﻢ .ﺍﻛﻨـﻮﻥ ﺑﺼـﻮﺭﺕ ﺯﻳـﺮ ﺍﻳـﻦ ﺷـﻜﻞ ﻣـﻮﺝ ﺭﺍ ﺑـﺎ ﻧـﺎﻡ ﺫﺧﻴﺮﻩ ﻣﻲﻛﻨﻴﻢ. <M> File: Save ﺷﻜﻞ -١٧-١ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺶ ﺷﻜﻞ ﻣﻮﺟﻬﺎ ﭘﺲ ﺍﺯ ﻃﺮﺍﺣﻲ ﺷﻜﻞ ﻣﻮﺟﻬﺎ ﺻﻔﺤﻪﻱ ١٤ adder ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺍﻛﻨـﻮﻥ ﺑــﺮﺍﻱ ﺍﻳﻨﻜــﻪ ﺷـﺒﻴﻪ ﺳــﺎﺯﻱ ﺍﻳــﻦ ﻃـﺮﺡ ﺭﺍ ﻣﺸــﺎﻫﺪﻩ ﻛﻨــﻴﻢ ،ﺑﺎﻳـﺪ ﻋﻤــﻞ ﺷــﺒﻴﻪ ﺳـﺎﺯﻱ ﺭﺍ ﺍﻧﺠــﺎﻡ ﺩﻫــﻴﻢ. ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : )<M> Max+PlusII: Simulator, to show the simulator window (fig 1-18 <LB> on Start, to simulate the design <LB> on Open SCF ﺷﻜﻞ -١٨-١ﭘﻨﺠﺮﻩﻱ ﺷﺒﻴﻪﺳﺎﺯﻱ ﺑﺎ ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﻋﻤﻞ ﻣﺠﺪﺩﺍ ﭘﻨﺠﺮﻩﻱ ﺷﻜﻞ ﻣﻮﺟﻬـﺎ ﺑـﺎﺯ ﻣـﻲ ﺷـﻮﺩ ﺑـﺎ ﺍﻳـﻦ ﺗﻔـﺎﻭﺕ ﻛـﻪ ﺩﺭ ﺍﻳـﻦ ﺣﺎﻟـﺖ ﻣﻘـﺎﺩﻳﺮ ﺧﺮﻭﺟﻴﻬــﺎ ﻧﻴــﺰ ﻣﺸــﺨﺺ ﺷــﺪﻩ ﺍﻧــﺪ .ﺣــﺎﻝ ﻣــﻲ ﺗــﻮﺍﻥ ﺻــﺤﺖ ﻋﻤﻠﻜــﺮﺩ ﻣــﺪﺍﺭ ﺭﺍ ﺑﺮﺭﺳــﻲ ﻧﻤــﻮﺩ ) ﺷــﻜﻞ ١٩-١ﺭﺍ ﺑﺒﻴﻨﻴﺪ(. ﺷﻜﻞ -١٩-١ﭘﻨﺠﺮﻩﻱ ﺷﻜﻞ ﻣﻮﺝ ٧-١ ﺗﺤﻠﻴﮕﺮ ﺯﻣﺎﻧﻲ ﺑﺮﺍﻱ ﺑﺮﺭﺳﻲ ﺗﺎﺧﻴﺮ ﻣﺪﺍﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲ ﻛﻨﻴﻢ. <M> Max+PlusII: Timing Analyzer, to show timing analyzer window <LB> Start ﺻﻔﺤﻪﻱ ١٥ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﺩﺭ ﭘﻨﺠــﺮﻩﻱ ﺗﺤﻠﻴﮕــﺮ ﺯﻣــﺎﻧﻲ ،ﺗــﺎﺧﻴﺮ ﺗﺮﻛﻴﺒــﻲ ﻭﺭﻭﺩﻳﻬــﺎ ﺑــﻪ ﺧﺮﻭﺟﻴﻬــﺎ ﻣﺤﺎﺳــﺒﻪ ﺷــﺪﻩ ﻭ ﺩﺭ ﻣﺎﺗﺮﻳﺲ ﺗﺎﺧﻴﺮ ﺑﻪ ﻧﻤﺎﻳﺶ ﺩﺭﻣﻲﺁﻳﺪ ) ﺷﻜﻞ ٢٠-١ﺭﺍ ﺑﺒﻴﻨﻴﺪ (. ﺷﻜﻞ -٢٠-١ﭘﻨﺠﺮﻩﻱ ﺗﺤﻠﻴﻠﮕﺮ ﺯﻣﺎﻧﻲ ٨-١ ﻭﻳﺮﺍﻳﺸﮕﺮ ﺗﺮﺍﺷﻪ ﭘـﺲ ﺍﺯ ﺍﻳﻨﻜـﻪ ﺍﺯ ﺻـﺤﺖ ﻋﻤﻠﻜـﺮﺩ ﻃـﺮﺡ ﻣﻄﻤـﺌﻦ ﺷـﺪﻳﻢ ،ﺑﺎﻳـﺪ ﻧﺤـﻮﻩﻱ ﺍﻋﻤـﺎﻝ ﻭﺭﻭﺩﻳﻬـﺎ ﻭ ﺧﺮﻭﺟﻴﻬـﺎ ﺑـﻪ ﺗﺮﺍﺷــﻪ ﺭﺍ ﻣﺸــﺨﺺ ﻛﻨــﻴﻢ .ﺍﻳــﻦ ﺍﻣــﺮ ﺗﻮﺳــﻂ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﺗﺮﺍﺷـﻪ ﺍﻧﺠــﺎﻡ ﻣــﻲ ﺷــﻮﺩ .ﺑــﺮﺍﻱ ﺍﺟــﺮﺍﻱ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﺗﺮﺍﺷــﻪ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲ ﻛﻨﻴﻢ. <M> Max+PlusII: Floorplan Editor, to show floorplan editor window ﺩﺭ ﺣﺎﻟــﺖ ﻋــﺎﺩﻱ ﺍﻳــﻦ ﭘﻨﺠــﺮﻩ ﺗﺮﺍﺷــﻪ ﺭﺍ ﺑﺼــﻮﺭﺕ ) Logic Array Block (LABﻧﻤــﺎﻳﺶ ﻣــﻲ ﺩﻫــﺪ. ﺑﺮﺍﻱ ﺍﻳﻨﻜﻪ ﺗﺮﺍﺷﻪ ﺑﺼﻮﺭﺕ ﻋﺎﺩﻱ ﻧﻤﺎﻳﺶ ﺩﺍﺩﻩ ﺷﻮﺩ ،ﺑﺎﻳﺪ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻛﻨﻴﻢ. <M> Layout: Device View ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﭘﻨﺠــﺮﻩﻱ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﺗﺮﺍﺷــﻪ ﺑﺼــﻮﺭﺕ ﺷــﻜﻞ ٢١-١ﺩﺭ ﻣــﻲﺁﻳــﺪ .ﺑﺨﺸــﻬﺎﻱ ﻣﺨﺘﻠــﻒ ﺍﻳــﻦ ﭘﻨﺠﺮﻩ ﺩﺭ ﺷﻜﻞ ﻧﻤﺎﻳﺶ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ. ﺻﻔﺤﻪﻱ ١٦ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ Zoom in Zoom out Full fit Current assignment Last assignment ﺷﻜﻞ -٢١-١ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﺗﺮﺍﺷﻪ ﻫﻤــﺎﻧﻄﻮﺭ ﻛــﻪ ﺩﺭ ﺷــﻜﻞ ﺩﻳــﺪﻩ ﻣــﻲ ﺷــﻮﺩ ،ﺩﺭ ﻗﺴــﻤﺖ ﭘــﺎﻳﻴﻦ ﺻــﻔﺤﻪ ﻫــﺮ ﻳــﻚ ﺍﺯ ﻭﺭﻭﺩﻳﻬــﺎ ﻭ ﺧﺮﻭﺟﻴﻬــﺎﻱ ﻣــﺪﺍﺭ ﺑــﻪ ﻳﻜــﻲ ﺍﺯ ﭘﺎﻳــﻪ ﻫــﺎﻱ ﺗﺮﺍﺷــﻪ ﺍﺧﺘﺼــﺎﺹ ﻳﺎﻓﺘــﻪ ﺍﺳــﺖ .ﭼﻨﺎﻧﭽــﻪ ﺍﻳــﻦ ﺗﺨﺼــﻴﺺ ﻛــﻪ ﻣﺮﺑــﻮﻁ ﺑــﻪ ﻋﻤﻠﻴــﺎﺕ ﻛﺎﻣﭙﺎﻳﻞ ﻗﺒﻠـﻲ ﺍﺳـﺖ ،ﺑـﺮﺍﻱ ﺷـﻤﺎ ﻣﻄﻠـﻮﺏ ﻧﺒﺎﺷـﺪ ﻣـﻲ ﺗﻮﺍﻧﻴـﺪ ﺁﻥ ﺭﺍ ﺗﻐﻴﻴـﺮ ﺩﻫﻴـﺪ .ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻨﻈـﻮﺭ ﺑﺎﻳـﺪ ﺗﻮﺳـﻂ ﻣــﺎﻭﺱ ﺭﻭﻱ ﻛﻠﻴــﺪ Current Assignmentﻛﻠﻴــﻚ ﻛﻨــﻴﻢ ،ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﺩﺭ ﻗﺴــﻤﺖ ﭘــﺎﻳﻴﻦ ﺻــﻔﺤﻪ ﻳــﻚ ﺗﺮﺍﺷــﻪﻱ ﺧﺎﻟﻲ ﻧﻤﺎﻳﺶ ﺩﺍﺩﻩ ﻣﻲ ﺷﻮﺩ )ﺗﻮﺟـﻪ ﻛﻨﻴـﺪ ﺍﻳـﻦ ﺍﻣـﺮ ﺩﺭﺻـﻮﺭﺗﻲ ﺍﻣﻜـﺎﻥ ﭘـﺬﻳﺮ ﺍﺳـﺖ ﻛـﻪ ﻗـﺒﻼ ﺩﺭ ﻣﺮﺣﻠـﻪﻱ ﻛﺎﻣﭙﺎﻳـﻞ، ﻧــﻮﻉ ﺗﺮﺍﺷــﻪ ﺭﺍ ﺍﻧﺘﺨــﺎﺏ ﻛــﺮﺩﻩ ﺑﺎﺷــﻴﺪ ،ﺑﻌﺒــﺎﺭﺕ ﺩﻳﮕــﺮ ﺍﻧﺘﺨــﺎﺏ ﻧــﻮﻉ ﺗﺮﺍﺷــﻪ AUTOﻧﺒﺎﺷــﺪ( ﻭ ﺩﺭ ﻟﻴﺴــﺖ ﺑــﺎﻻﻱ ﺻــﻔﺤﻪ ﻟﻴﺴــﺖ ﮔــﺮﻩ ﻫــﺎﻱ ﻣــﺪﺍﺭ ﻧﻤــﺎﻳﺶ ﺩﺍﺩﻩ ﻣــﻲ ﺷــﻮﺩ )ﺷــﻜﻞ ٢٢-١ﺭﺍ ﺑﺒﻴﻨﻴــﺪ( .ﺣــﺎﻝ ﻣــﻲ ﺗﻮﺍﻧﻴــﺪ ﻫــﺮ ﻳــﻚ ﺍﺯ ﮔــﺮﻩﻫــﺎ ﺭﺍ ﺍﺯ ﻟﻴﺴــﺖ ﺍﻧﺘﺨــﺎﺏ ﻧﻤــﻮﺩﻩ ﻭ ﺁﻥ ﺭﺍ Dragﻧﻤــﻮﺩﻩ ﺭﻭﻱ ﭘﺎﻳــﻪﻱ ﻣــﻮﺭﺩ ﻧﻈــﺮ ﻗــﺮﺍﺭ ﺩﻫﻴــﺪ .ﺩﻗــﺖ ﻛﻨﻴــﺪ ﻛــﻪ ﮔــﺮﻩﻫــﺎﻱ ﻭﺭﻭﺩﻱ ﺭﺍ ﻓﻘــﻂ ﺑــﻪ ﭘﺎﻳــﻪ ﻫــﺎﻱ ﻭﺭﻭﺩﻱ ﻳــﺎ ﺩﻭ ﺳــﻮﻳﻪ ﻭ ﮔــﺮﻩ ﻫــﺎﻱ ﺧﺮﻭﺟــﻲ ﺭﺍ ﻓﻘــﻂ ﺑــﻪ ﭘﺎﻳــﻪ ﻫــﺎﻱ ﺧﺮﻭﺟﻲ ﻳﺎ ﺩﻭ ﺳـﻮﻳﻪ ﻭ ﮔـﺮﻩ ﻫـﺎﻱ ﺩﻭ ﺳـﻮﻳﻪ ﺭﺍ ﻓﻘـﻂ ﺑـﻪ ﭘﺎﻳـﻪ ﻫـﺎﻱ ﺩﻭ ﺳـﻮﻳﻪ ﺗﺨﺼـﻴﺺ ﺩﻫﻴـﺪ .ﻧﻜﺘـﻪﻱ ﺩﻳﮕـﺮﻱ ﻛﻪ ﺑﺎﻳﺪ ﺑﻪ ﺁﻥ ﺗﻮﺟﻪ ﺩﺍﺷﺘﻪ ﺑﺎﺷـﻴﺪ ﺍﻳـﻦ ﺍﺳـﺖ ﻛـﻪ ﻣﻤﻜـﻦ ﺍﺳـﺖ ﺑـﺎ ﺗﺨﺼﻴﺼـﻲ ﻛـﻪ ﺷـﻤﺎ ﺍﻧﺘﺨـﺎﺏ ﻧﻤـﻮﺩﻩﺍﻳـﺪ ﺍﺑـﺰﺍﺭ ﺳﻨﺘﺰ ﻧﺘﻮﺍﻧﺪ ﻃـﺮﺡ ﺭﺍ ﺩﺭﻭﻥ ﺗﺮﺍﺷـﻪ ﺟـﺎﻱ ﺩﻫـﺪ ،ﺍﺯ ﺍﻳﻨـﺮﻭ ﭘـﺲ ﺍﺯ ﺍﻳﻨﻜـﻪ ﺗﺨﺼـﻴﺺ ﺧـﻮﺩ ﺭﺍ ﺍﻧﺘﺨـﺎﺏ ﻧﻤﻮﺩﻳـﺪ ﺑﺎﻳـﺪ ﻣﺠــﺪﺩﺍ ﻃــﺮﺡ ﺭﺍ ﻛﺎﻣﭙﺎﻳــﻞ ﻛﻨﻴــﺪ .ﺩﺭ ﺻــﻮﺭﺗﻴﻜﻪ ﻋﻤــﻞ ﻛﺎﻣﭙﺎﻳــﻞ ﻣﻮﻓﻘﻴــﺖ ﺁﻣﻴــﺰ ﺑﺎﺷــﺪ ،ﺗﺨﺼــﻴﺺ ﺷــﻤﺎ ﺍﻣﻜﺎﻧﭙــﺬﻳﺮ ﺍﺳﺖ ) ﺍﻳﻦ ﺍﻣﺮ ﺑﻪ ﻋﻠﺖ ﻣﺤﺪﻭﺩ ﺑﻮﺩﻥ ﻣﺴﻴﺮﻫﺎﻱ ﺍﺭﺗﺒﺎﻃﻲ ﺍﺳﺖ ﻛﻪ ﺩﺭ ﺗﺮﺍﺷﻪ ﻣﻮﺟﻮﺩ ﺍﺳﺖ ( . ﺻﻔﺤﻪﻱ ١٧ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺷﻜﻞ -٢٢-١ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﺗﺮﺍﺷﻪ ﺟﻬﺖ ﺗﺨﺼﻴﺺ ﮔﺮﻩﻫﺎ ﺑﻪ ﭘﺎﻳﻪﻫﺎﻱ ﺗﺮﺍﺷﻪ ﺳﻠﺴﻠﻪ ﻣﺮﺍﺗﺐ ﭘﺮﻭﮊﻩ ٩-١ ﺑﺮﺍﻱ ﻣﺸﺎﻫﺪﻩﻱ ﺳﻠﺴﻠﻪ ﻣﺮﺍﺗﺐ ﭘﺮﻭﮊﻩ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ: <M> Max+PlusII: Hierarchy Display ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﻳــﻚ ﭘﻨﺠــﺮﻩ ﻣﺎﻧﻨــﺪ ﺷــﻜﻞ ٢٣-١ﺭﻭﻱ ﺻــﻔﺤﻪ ﻇــﺎﻫﺮ ﻣــﻲﺷــﻮﺩ .ﻫﻤــﺎﻧﻄﻮﺭ ﻛــﻪ ﺩﺭ ﺷــﻜﻞ ﻣﺸــﺎﻫﺪﻩ ﻣــﻲﺷــﻮﺩ ﺳﻠﺴــﻠﻪﻣﺮﺍﺗــﺐ ﻛﺎﻣــﻞ ﭘــﺮﻭﮊﻩ ﺩﺭ ﺍﻳــﻦ ﭘﻨﺠــﺮﻩ ﻧﻤــﺎﻳﺶ ﺩﺍﺩﻩ ﺷــﺪﻩ ﺍﺳــﺖ .ﺑــﺎ > <DBﻛــﺮﺩﻥ ﺭﻭﻱ ﻫﺮ ﻳﻚ ﺍﺯ ﺁﻳﻜﻮﻧﻬﺎ ﻣﻲﺗـﻮﺍﻥ ﻓﺎﻳـﻞ ﻣﺮﺑﻮﻃـﻪ ﺭﺍ ﻣﺸـﺎﻫﺪﻩ ﻧﻤـﻮﺩ .ﺑـﺎ ﺍﻧﺠـﺎﻡ ﺍﻳـﻦ ﻣﺮﺍﺣـﻞ ،ﻋﻤﻠﻴـﺎﺕ ﻃﺮﺍﺣـﻲ ﺑـﻪ ﭘﺎﻳـﺎﻥ ﻣﻲﺭﺳﺪ .ﺣﺎﻝ ﺑﺮﺍﻱ ﺍﻳﻨﻜﻪ ﺑـﺎ ﻣﺮﺍﺣـﻞ ﻃﺮﺍﺣـﻲ ﺗﻮﺳـﻂ ﺍﻳـﻦ ﻧـﺮﻡﺍﻓـﺰﺍﺭ ﺑﻴﺸـﺘﺮ ﺁﺷـﻨﺎ ﺷـﻮﻳﻢ ،ﺑـﻪ ﺫﻛـﺮ ﺩﻭ ﻣﺜـﺎﻝ ﺩﻳﮕـﺮ ﻣﻲﭘﺮﺩﺍﺯﻳﻢ. ﻣﺜﺎﻝ :١ﻃﺮﺍﺣﻲ ﺗﺸﺨﻴﺺﺩﻫﻨﺪﻩﻱ ﺩﻧﺒﺎﻟﻪ ١ ﻣــﻲﺧــﻮﺍﻫﻴﻢ ﻳــﻚ ﻣــﺪﺍﺭ ﻃﺮﺍﺣــﻲ ﻛﻨــﻴﻢ ﻛــﻪ ﺩﻧﺒﺎﻟــﻪﻱ ١١٠ﺭﺍ ﺭﻭﻱ ﻭﺭﻭﺩﻱ ﺧــﻮﺩ ﺗﺸــﺨﻴﺺ ﺩﻫــﺪ ﻭ ﺩﺭ ﺻﻮﺭﺕ ﻣﺸـﺎﻫﺪﻩﻱ ﺍﻳـﻦ ﺩﻧﺒﺎﻟـﻪ ،ﺧﺮﻭﺟـﻲ ﺧـﻮﺩ ﺭﺍ ﻳـﻚ ﻛﻨـﺪ .ﻧﻤـﻮﺩﺍﺭ ﺣﺎﻟـﺖ ﺍﻳـﻦ ﻣـﺪﺍﺭ ﺩﺭ ﺷـﻜﻞ ٢٤-١ﻧﻤـﺎﻳﺶ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ .ﻛﺪ VHDLﻣﺮﺑﻮﻃﻪ ﺩﺭ ﻟﻴﺴﺖ ٥-١ﺁﻣﺪﻩ ﺍﺳﺖ. ١ﺍﻳﻦ ﻣﺜﺎﻝ ﺍﺯ ﻛﺘﺎﺏ Z. Navabi, “VHDL, Analysis and Modeling of Digital Systems”, McGraw-Hill, 1999ﺍﻗﺘﺒﺎﺱ ﺷﺪﻩ ﺍﺳﺖ. ﺻﻔﺤﻪﻱ ١٨ Max+PlusII ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ ﺳﻌﻴﺪ ﺻﻔﺮﻱ:ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ Double click to see the content of each file ﭘﻨﺠﺮﻩﻱ ﺳﻠﺴﻠﻪ ﻣﺮﺍﺗﺐ ﭘﺮﻭﮊﻩ-٢٣-١ ﺷﻜﻞ 0 1 1 reset 0 1 got1 0 0 got11 0 1 0 0 ﻧﻤﻮﺩﺍﺭ ﺣﺎﻟﺖ ﺗﺸﺨﻴﺺ ﺩﻫﻨﺪﻩﻱ ﺩﻧﺒﺎﻟﻪ-٢٤-١ ﺷﻜﻞ LIBRARY IEEE; USE IEEE.std_logic_1164.all; ENTITY detector IS PORT( x, clk : IN STD_LOGIC; z : OUT STD_LOGIC); END detector; ARCHITECTURE behavioral OF detector IS TYPE state IS (reset, got1, got11, got110); SIGNAL current: state:=reset; BEGIN PROCESS (clk) BEGIN IF clk='1' AND clk'EVENT THEN CASE current IS WHEN reset => IF x='1' THEN current <= got1; ELSE current <= reset; END IF; ﺗﺸﺨﻴﺺ ﺩﻫﻨﺪﻩﻱ ﺩﻧﺒﺎﻟﻪVHDL ﻛﺪ-٥-١ ﻟﻴﺴﺖ ١٩ ﺻﻔﺤﻪﻱ got110 1 ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ >= WHEN got1 IF x='1' THEN ;current <= got11 ELSE ;current <= reset ;END IF >= WHEN got11 IF x='1' THEN ;current <= got11 ELSE ;current <= got110 ;END IF >= WHEN got110 IF x='1' THEN ;current <= got1 ELSE ;current <= reset ;END IF ;END CASE ;END IF ;END PROCESS ;'z <= '1' WHEN current=got110 ELSE '0 ;END behavioral ﻟﻴﺴﺖ -٥-١ﻛﺪ VHDLﺗﺸﺨﻴﺺ ﺩﻫﻨﺪﻩﻱ ﺩﻧﺒﺎﻟﻪ )ﺍﺩﺍﻣﻪ( ﻣﺮﺍﺣﻞ ﺍﻳﺠﺎﺩ ﭘـﺮﻭﮊﻩ ﻭ ﻓﺎﻳـﻞ ﻣﺘﻨـﻲ ﺭﺍ ﻣﺎﻧﻨـﺪ ﻗﺒـﻞ ﺍﻧﺠـﺎﻡ ﻣـﻲﺩﻫـﻴﻢ .ﺑـﺮﺍﻱ ﺍﻃﻤﻴﻨـﺎﻥ ﺍﺯ ﺻـﺤﺖ ﻋﻤﻜـﺮﺩ ﺍﻳـﻦ ﻣــﺪﺍﺭ ،ﺷــﻜﻞ ﻣــﻮﺟﻲ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ٢٥-١ﻃﺮﺍﺣــﻲ ﻣــﻲﻛﻨــﻴﻢ .ﭘــﺲ ﺍﺯ ﺍﻧﺠــﺎﻡ ﺷــﺒﻴﻪﺳــﺎﺯﻱ ﺧﺮﻭﺟــﻲ ﻣــﺪﺍﺭ ﻣﻄــﺎﺑﻖ ﺷـﻜﻞ ٢٦-١ﺧﻮﺍﻫـﺪ ﺑـﻮﺩ .ﻫﻤـﺎﻧﻄﻮﺭ ﻛـﻪ ﺩﺭ ﺷـﻜﻞ ٢٦-١ﻣﺸـﺎﻫﺪﻩ ﻣـﻲﺷـﻮﺩ ،ﺩﺭ ﻳـﻚ State Machineﻣـﻲﺗـﻮﺍﻥ ﺣﺎﻟﺘﻲ ﺭﺍ ﻛﻪ ﻣﺪﺍﺭ ﺩﺭ ﺁﻥ ﻗﺮﺍﺭ ﺩﺍﺭﺩ ،ﻣﺸﺎﻫﺪﻩ ﻧﻤﻮﺩ .ﺍﻳﻦ ﺍﻣﺮ ﺩﺭ ﻋﻴﺐﻳﺎﺑﻲ ﻣﺪﺍﺭﻫﺎ ﺑﺴﻴﺎﺭ ﻣﻔﻴﺪ ﺍﺳﺖ. ﺷﻜﻞ -٢٥-١ﺷﻜﻞ ﻣﻮﺝ ﻭﺭﻭﺩﻱ ﺗﺸﺨﻴﺺ ﺩﻫﻨﺪﻩﻱ ﺩﻧﺒﺎﻟﻪ ﺻﻔﺤﻪﻱ ٢٠ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺷﻜﻞ -٢٦-١ﺷﻜﻞ ﻣﻮﺝ ﺧﺮﻭﺟﻲ ﺗﺸﺨﻴﺺ ﺩﻫﻨﺪﻩﻱ ﺩﻧﺒﺎﻟﻪ ﺑﺮﺍﻱ ﺍﻳﻨﻜﻪ ﺑﺒﻴﻨﻴﻢ ﺍﻳﻦ ﻣﺪﺍﺭ ﺗﺮﺗﻴﺒﻲ ﺑﺎ ﭼﻪ ﻓﺮﻛﺎﻧﺴﻲ ﻛﺎﺭ ﻣﻲﻛﻨﺪ ،ﺑﻪ ﺻﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ: <M> Max+PlusII: Timing Analyzer, to show timing analyzer window <M> Analysis: Registered Performance <LB> Start ﻫﻤــﺎﻧﻄﻮﺭ ﻛــﻪ ﺩﺭ ﺷــﻜﻞ ٢٧-١ﺩﻳــﺪﻩ ﻣــﻲﺷــﻮﺩ ،ﺩﺭ ﺍﻳﻨﺼــﻮﺭﺕ ﺣــﺪﺍﻛﺜﺮ ﻓﺮﻛــﺎﻧﺲ ﻛــﺎﺭﻱ ﻣــﺪﺍﺭ ﺑﺪﺳــﺖ ﻣﻲﺁﻳﺪ. ﺷﻜﻞ -٢٧– ١ﭘﻨﺠﺮﻩﻱ ﺗﺤﻠﻴﻠﮕﺮ ﺯﻣﺎﻧﻲ )ﺍﻧﺪﺍﺯﻩﮔﻴﺮﻱ ﻓﺮﻛﺎﻧﺲ ﻛﺎﺭﻱ ﻣﺪﺍﺭ( ﻣﺜﺎﻝ :٢ﻃﺮﺍﺣﻲ ﻳﻚ ALUﻫﺸﺖ ﺑﻴﺘﻲ ﻳﻚ ALUﻫﺸﺖ ﺑﻴﺘﻲ ﻃﺮﺍﺣﻲ ﻛﻨﻴﺪ ﻛﻪ ﺩﺍﺭﺍﻱ ﺟﺪﻭﻝ ﺻﺤﺖ ﺯﻳﺮ ﺑﺎﺷﺪ. Operation Result <= a + b Result <= a – b If a=b then Result=1 Else E=0 If a<>b then Result=1 Else E=0 ﺻﻔﺤﻪﻱ ٢١ Opcode 00 01 10 11 Max+PlusII ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ ﺳﻌﻴﺪ ﺻﻔﺮﻱ:ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ . ﻛﻠﻴﻪﻱ ﻣﺮﺍﺣﻞ ﻃﺮﺍﺣﻲ ﻣﺎﻧﻨﺪ ﻗﺒﻞ ﺍﻧﺠﺎﻡ ﻣﻲﺷﻮﺩ. ﺁﻣﺪﻩ ﺍﺳﺖ٦-١ ﻣﺮﺑﻮﻃﻪ ﺩﺭ ﻟﻴﺴﺖVHDL ﻛﺪ LIBRARY ieee; USE ieee.std_logic_1164.ALL; USE ieee.std_logic_unsigned.ALL; ENTITY alu IS PORT ( a, b : IN std_logic_vector(7 DOWNTO 0); opcode: IN std_logic_vector(1 DOWNTO 0); result: OUT std_logic_vector(7 DOWNTO 0) ); END alu; ARCHITECTURE behavioral OF alu IS CONSTANT plus : std_logic_vector(1 CONSTANT minus : std_logic_vector(1 CONSTANT equal : std_logic_vector(1 CONSTANT not_eq: std_logic_vector(1 DOWNTO DOWNTO DOWNTO DOWNTO 0) 0) 0) 0) := := := := "00"; "01"; "10"; "11"; BEGIN PROCESS (opcode) BEGIN CASE opcode IS WHEN plus => result <= a + b; -- add WHEN minus => result <= a - b; -- subtract WHEN equal => -- equal IF (a = b) THEN esult <= "00000001"; ELSE result <= "00000000"; END IF; WHEN not_eq => -- not equal IF (a /= b) THEN result <= "00000001"; ELSE result <= "00000000"; END IF; WHEN OTHERS => NULL; END CASE; END PROCESS; END behavioral; ﻫﺸﺖ ﺑﻴﺘﻲALU ﻣﺮﺑﻮﻁ ﺑﻪVHDL ﻛﺪ-٦-١ ﻟﻴﺴﺖ ٢٢ ﺻﻔﺤﻪﻱ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ٢ ﻃﺮﺍﺣﻲ ﻣﺪﺍﺭ ﺩﻳﺠﻴﺘﺎﻝ ﺑﺼﻮﺭﺕ ﺷﻤﺎﺗﻴﻚ ﺩﺭ ﺍﻳ ـﻦ ﺑﺨــﺶ ﺍﺑﺘــﺪﺍ ﻳــﻚ ﺳــﻠﻮﻝ Full Adderﻳــﻚ ﺑﻴﺘــﻲ ﺭﺍ ﻃﺮﺍﺣــﻲ ﻣــﻲﻛﻨــﻴﻢ ،ﺳــﭙﺲ ﺑــﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ ﺍﺗﺼﺎﻝ ﺍﻳﻦ ﺳﻠﻮﻟﻬﺎ ﺑـﻪ ﻳﻜـﺪﻳﮕﺮ ﻳـﻚ ﺟﻤـﻊ ﻛﻨﻨـﺪﻩﻱ ﭼﻬـﺎﺭ ﺑﻴﺘـﻲ ﺭﺍ ﻣـﻲﺳـﺎﺯﻳﻢ .ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻨﻈـﻮﺭ ﺍﺑﺘـﺪﺍ ﺑﺮﻧﺎﻣـﻪﻱ Max+Plus IIﺭﺍ ﺍﺟــﺮﺍ ﻣــﻲﻛﻨــﻴﻢ .ﺳــﭙﺲ ﻳــﻚ ﭘــﺮﻭﮊﻩﻱ ﭼﺪﻳــﺪ ﺍﻳﺠــﺎﺩ ﻣــﻲﻛﻨــﻴﻢ .ﺩﺭ ﺍﻳﻨﺠــﺎ ﺩﺍﻳﺮﻛﺘــﻮﺭﻱ max2workﻭ ﻧﺎﻡ ﭘﺮﻭﮊﻩ ﺭﺍ adderﺍﻧﺘﺨﺎﺏ ﻣﻲﻛﻨﻴﻢ. ١-٢ ﺍﻳﺠﺎﺩ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﭘﺲ ﺍﺯ ﺍﻳﻨﻜـﻪ ﻧـﺎﻡ ﭘـﺮﻭﮊﻩ ﺭﺍ ﻣﺸـﺨﺺ ﻛـﺮﺩﻳﻢ ،ﺑﺎﻳـﺪ ﻃﺮﺣﻬـﺎﻳﻲ ﺭﺍ ﻛـﻪ ﺩﺭ ﺍﻳـﻦ ﭘـﺮﻭﮊﻩ ﻣـﻮﺭﺩ ﺍﺳـﺘﻔﺎﺩﻩ ﻗـﺮﺍﺭ ﻣﻲﮔﻴﺮﺩ ،ﺑﻪ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺍﺿﺎﻓﻪ ﻛﻨﻴﻢ .ﺑﺮﺍﻱ ﺍﻳـﻦ ﺍﻣـﺮ ﻓﺎﻳﻠﻬـﺎﻱ ﺟﺪﻳـﺪ ﺭﺍ ﺍﻳﺠـﺎﺩ ﻣـﻲﻛﻨـﻴﻢ .ﺩﺭ ﺍﻳﻨﺠـﺎ ﺍﺑﺘـﺪﺍ ﻳـﻚ ﺳـﻠﻮﻝ ﺟﻤﻊ ﻛﻨﻨﺪﻩﻱ ﻳﻚ ﺑﻴﺘﻲ ﺭﺍ ﺳﺎﺧﺘﻪ ﻭ ﺳـﭙﺲ ﺑـﺎ ﺍﺳـﺘﻔﺎﺩﻩ ﺍﺯ ﺁﻥ ﻳـﻚ ﺟﻤـﻊ ﻛﻨﻨـﺪﻩﻱ ﭼﻬـﺎﺭ ﺑﻴﺘـﻲ ﺭﺍ ﻣـﻲﺳـﺎﺯﻳﻢ .ﺑﺎﻳـﺪ ﺩﻗﺖ ﺩﺍﺷﺖ ﻛﻪ ﻫﻤﻴﺸﻪ ﺑﺎﻳﺪ ﻧﺎﻡ ﭘﺮﻭﮊﻩ ﺑﺎ ﻧﺎﻡ ﻣﺪﺍﺭ ﺩﺭ ﺑﺎﻻﺗﺮﻳﻦ ﺳﻄﺢ ﻳﻜﺴﺎﻥ ﺑﺎﺷﺪ. <M> File: New ﭘﺲ ﺍﺯ ﺍﻳﻦ ﺍﻣـﺮ ﭘﻨﺠـﺮﻩﻱ ﺍﻳﺠـﺎﺩ ﻓﺎﻳـﻞ ﺟﺪﻳـﺪ ﻣﻄـﺎﺑﻖ ﺷـﻜﻞ ١-٢ﺑـﺮ ﺭﻭﻱ ﺻـﻔﺤﻪ ﻧﻤـﺎﻳﺶ ﺩﺍﺩﻩ ﻣـﻲﺷـﻮﺩ. ﺣﺎﻝ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : Select Graphic Editor file Select .gdf filename extension from combo box <LB> on Ok ﺷﻜﻞ -١-٢ﭘﻨﺠﺮﻩﻱ ﺍﻳﺠﺎﺩ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﺑﺎ ﺍﻧﺠـﺎﻡ ﺍﻳـﻦ ﻋﻤﻠﻴـﺎﺕ ﭘﻨﺠـﺮﻩﻱ ﻭﻳﺮﺍﻳﺸـﮕﺮ ﻓﺎﻳـﻞ ﺷـﻤﺎﺗﻴﻚ ﺑـﺮ ﺭﻭﻱ ﺻـﻔﺤﻪ ﻇـﺎﻫﺮ ﻣـﻲﺷـﻮﺩ .ﺣـﺎﻝ ﺑﺎﻳـﺪ ﺍﻳﻦ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﺭﺍ ﺫﺧﻴﺮﻩ ﻧﻤﻮﺩ .ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <M> File: Save As ﺣﺎﻝ ﺩﺭ ﭘﻨﺠﺮﻩﻱ ﻇﺎﻫﺮ ﺷﺪﻩ ﻧﺎﻡ fa1bitﺭﺍ ﺑﻌﻨﻮﺍﻥ ﻧﺎﻡ ﻓﺎﻳﻞ ﻭﺍﺭﺩ ﻣﻲﻛﻨﻴﻢ )ﺷﻜﻞ ٢-٢ﺭﺍ ﺑﺒﻴﻨﻴﺪ(. <LB> on Ok ﺻﻔﺤﻪﻱ ٢٣ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ You can change default file extension ﺷﻜﻞ -٢-٢ﭘﻨﺠﺮﻩﻱ ﺫﺧﻴﺮﻩ ﻱ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﺩﺭ ﺷﻜﻞ ٣-٢ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻓﺎﻳﻞ ﺷﻤﺎﺗﻴﻚ ﻭ ﺑﺨﺸﻬﺎﻱ ﻣﺨﺘﻠﻒ ﺁﻥ ﻧﻤﺎﻳﺶ ﺩﺍﺩﻩ ﺷﺪﻩ ﺍﺳﺖ. Select tool Text tool Orthogonal line tool Diagonal line tool Arc tool Circle tool Zoom in Zoom out Full fit Workspace ﺷﻜﻞ -٣-٢ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻓﺎﻳﻞ ﺷﻤﺎﺗﻴﻚ ٢-٢ ﺍﻓﺰﻭﺩﻥ ﻧﻤﺎﺩﻫﺎ ﺣــﺎﻝ ﺑــﺮﺍﻱ ﻃﺮﺍﺣــﻲ ﺟﻤــﻊ ﻛﻨﻨــﺪﻩﻱ ﻳــﻚ ﺑﻴﺘــﻲ ﺍﺑﺘــﺪﺍ ﺑﺎﻳــﺪ ﺩﻭ ﮔﻴــﺖ XORﻭ ﺩﻭ ﮔﻴــﺖ ANDﻭ ﻳــﻚ ﮔﻴﺖ ORﺭﺍ ﺑـﻪ ﻧﺎﺣﻴـﻪ ﻱ ﻛـﺎﺭﻱ ﺍﺿـﺎﻓﻪ ﻛﻨـﻴﻢ .ﺑـﺮﺍﻱ ﺍﻓـﺰﻭﺩﻥ ﻳـﻚ ﻧﻤـﺎﺩ ) ﺍﻧـﻮﺍﻉ ﮔﻴﺘﻬـﺎ ،ﻋﻨﺎﺻـﺮ ﺍﺯ ﭘـﻴﺶ ﺗﻌﺮﻳـﻒ ﺷﺪﻩ ،ﻋﻨﺎﺻﺮ ﺗﻌﺮﻳﻒ ﺷﺪﻩ ﺗﻮﺳﻂ ﻛﺎﺭﺑﺮ ،ﭘﻮﺭﺗﻬﺎﻱ ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟﻲ ﻭ ( ..ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : ﺻﻔﺤﻪﻱ ٢٤ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﭘﻨﺠــﺮﻩﻱ ﻭﺭﻭﺩ ﻧﻤــﺎﺩ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ٤-٢ﻇــﺎﻫﺮ <DL> in an empty space in the Workspace ﻣــﻲﺷــﻮﺩ .ﺑــﺮﺍﻱ ﻭﺭﻭﺩ ﻳــﻚ ﻋﻨﺼــﺮ ﺩﺭ ﻣﺤــﻞ Symbol Nameﻧﺎﻡ ﻧﻤﺎﺩ ﻣﻮﺭﺩ ﻧﻈﺮ ،ﺩﺭ ﺍﻳﻨﺤﺎﻟﺖ XORﺭﺍ ﻭﺍﺭﺩ ﻣﻲﻛﻨﻴﻢ. <LB> on Ok ﻫﻤــﻴﻦ ﻋﻤﻠﻴــﺎﺕ ﺭﺍ ﺑــﺮﺍﻱ ﭼﻬــﺎﺭ ﮔﻴــﺖ ﺩﻳﮕــﺮ ) ﻳــﻚ ﮔﻴــﺖ ، XORﺩﻭ ﮔﻴــﺖ AND2ﻭ ﻳــﻚ ﮔﻴــﺖ OR2 ( ﺗﻜــﺮﺍﺭ ﻣــﻲﻛﻨــﻴﻢ ) ﺩﻗــﺖ ﻛﻨﻴــﺪ ﺑــﺮﺍﻱ ﮔﻴﺘﻬــﺎﻱ ﭘﺎﻳــﻪ ﺑﺠــﺰ XORﺗﻌــﺪﺍﺩ ﻭﺭﻭﺩﻳﻬــﺎﻱ ﮔﻴــﺖ ﺑــﻪ ﺩﻧﺒــﺎﻝ ﻧــﺎﻡ ﮔﻴــﺖ ﻣــﻲﺁﻳــﺪ ﺑــﺮﺍﻱ ﻣﺜــﺎﻝ AND2ﻳــﻚ ﮔﻴــﺖ ANDﺩﻭ ﻭﺭﻭﺩﻱ ﺍﺳــﺖ ( .ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﻣــﺪﺍﺭ ﺑﺼــﻮﺭﺕ ﺷــﻜﻞ ٥-٢ﺩﺭ ﻣﻲﺁﻳﺪ. Enter symbol name here List all symbols in the current directory ﺷﻜﻞ -٤-٢ﭘﻨﺠﺮﻩﻱ ﻭﺭﻭﺩ ﻧﻤﺎﺩ ﺑــﺮﺍﻱ ﺣﺮﻛــﺖ ﺩﺍﺩﻥ ﻳــﻚ ﻧﻤــﺎﺩ ﻛﺎﻓﻴﺴــﺖ ﺍﺑﺘــﺪﺍ ﺩﺭ ﭘﻨﺠــﺮﻩﻱ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﻓﺎﻳــﻞ ﺷــﻤﺎﺗﻴﻚ ﺭﻭﻱ ﺁﻳﻜــﻮﻥ Selectﺑﺎ ﻛﻠﻴﺪ ﺳـﻤﺖ ﭼـﭗ ﻣـﺎﻭﺱ ﻛﻠﻴـﻚ ﻛـﺮﺩﻩ ﺳـﭙﺲ ﺩﺭ ﺣﺎﻟﻴﻜـﻪ ﻛﻠﻴـﺪ ﻣـﺎﻭﺱ ﻫﻤﭽﻨـﺎﻥ ﭘـﺎﻳﻴﻦ ﺍﺳـﺖ ،ﺁﻥ ﺭﺍ ﺑﻪ ﻣﺤﻞ ﻣﻮﺭﺩ ﻧﻈﺮ ﺑـﺮﺩﻩ ﻭ ﻛﻠﻴـﺪ ﻣـﺎﻭﺱ ﺭﺍ ﺭﻫـﺎ ﻣـﻲﻛﻨـﻴﻢ .ﺑـﻪ ﺍﻳـﻦ ﺗﺮﺗﻴـﺐ ﻧﻤـﺎﺩ ﺑـﻪ ﻣﺤـﻞ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺍﻧﺘﻘـﺎﻝ ﺩﺍﺩﻩ ﻣــﻲﺷــﻮﺩ .ﺑــﺮﺍﻱ ﺍﻳﻨﻜــﻪ ﻳــﻚ ﻛﭙــﻲ ﺩﻳﮕــﺮ ﺍﺯ ﻳــﻚ ﻧﻤــﺎﺩ ﺍﻳﺠــﺎﺩ ﻛﻨــﻴﻢ ،ﻛﺎﻓﻴﺴــﺖ ﺩﺭ ﺣﺎﻟﻴﻜــﻪ ﻛﻠﻴــﺪ Ctrlﺭﺍ ﺯﺩﻩ ﺍﻳــﻢ، ﻋﻤﻠﻴﺎﺕ ﻓﻮﻕ ﺭﺍ ﺍﻧﺠﺎﻡ ﺩﻫﻴﻢ .ﺩﺭ ﺍﻳﻨﺼﻮﺭﺕ ﻳﻚ ﻛﭙﻲ ﺍﺯ ﻧﻤﺎﺩ ﺩﺭ ﻣﺤﻞ ﺟﺪﻳﺪ ﺍﻳﺠﺎﺩ ﻣﻲﺷﻮﺩ. ﭘــﺲ ﺍﺯ ﺍﻓــﺰﻭﺩﻥ ﮔﻴﺘﻬــﺎ ﻧﻮﺑــﺖ ﺑــﻪ ﺍﻓــﺰﻭﺩﻥ ﭘﻮﺭﺗﻬــﺎﻱ ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟــﻲ ﺍﺳــﺖ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈــﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <DL> in an empty space in the Workspace In the Enter Symbol window, Enter input in the Symbol Name box ﺻﻔﺤﻪﻱ ٢٥ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ <LB> on Ok ﻫﻤــﻴﻦ ﻋﻤﻠﻴــﺎﺕ ﺭﺍ ﺑــﺮﺍﻱ ﺩﻭ ﭘــﻮﺭﺕ ﻭﺭﻭﺩﻱ ﺩﻳﮕــﺮ ﻭ ﺑــﺮﺍﻱ ﺩﻭ ﭘـﻮﺭﺕ ﺧﺮﻭﺟــﻲ ﺍﻧﺠــﺎﻡ ﻣــﻲﺩﻫــﻴﻢ ) ﺑــﺮﺍﻱ ﭘﻮﺭﺗﻬﺎﻱ ﺧﺮﻭﺟﻲ ﺑﺎﻳﺪ ﻧﺎﻡ ﻧﻤﺎﺩ ﺭﺍ ﺑﺼﻮﺭﺕ outputﻭﺍﺭﺩ ﻛﻨﻴﻢ (. ﺷﻜﻞ -٥-٢ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻓﺎﻳﻞ ﺷﻤﺎﺗﻴﻚ ﭘﺲ ﺍﺯ ﺍﻓﺰﻭﺩﻥ ﻧﻤﺎﺩﻫﺎ ٣-٢ ﻧﺎﻣﮕﺬﺍﺭﻱ ﭘﻮﺭﺗﻬﺎﻱ ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟﻲ ﭘــﺲ ﺍﺯ ﺍﻓــﺰﻭﺩﻥ ﭘﻮﺭﺗﻬــﺎﻱ ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟــﻲ ﺑﺎﻳــﺪ ﺍﻳــﻦ ﭘﻮﺭﺗﻬــﺎ ﺭﺍ ﻧﺎﻣﮕــﺬﺍﺭﻱ ﻛﻨــﻴﻢ .ﺩﺭ ﺣﺎﻟــﺖ ﻋــﺎﺩﻱ ﻫــﺮ ﭘــﻮﺭﺕ ﺑﺼــﻮﺭﺕ > <symbol name>:<symbol IDﻣﺸــﺨﺺ ﻣــﻲﺷــﻮﺩ ،ﺑــﺮﺍﻱ ﻣﺜــﺎﻝ INPUT:2ﻧﺸــﺎﻥ ﻣـﻲﺩﻫـﺪ ﻛـﻪ ﺍﻳـﻦ ﭘــﻮﺭﺕ ،ﻳـﻚ ﭘـﻮﺭﺕ ﻭﺭﻭﺩﻱ ﺑـﺎ ﺷـﻤﺎﺭﻩ ﺷﻨﺎﺳــﻪ ﻱ ٢ﺍﺳـﺖ ) ﺷـﻤﺎﺭﻩ ﻱ ﺷﻨﺎﺳـﻪ ﻧﺸــﺎﻧﺪﻫﻨﺪﻩ ﻱ ﺍﻳﻦ ﺍﺳـﺖ ﻛـﻪ ﻧﻤـﺎﺩ ﻭﺍﺭﺩ ﺷـﺪﻩ ﭼﻨـﺪﻣﻴﻦ ﻧﻤـﺎﺩﻱ ﺍﺳـﺖ ﻛـﻪ ﺩﺭ ﻭﻳﺮﺍﻳﺸـﮕﺮ ﺷـﻤﺎﺗﻴﻚ ﺍﻓـﺰﻭﺩﻩ ﺷـﺪﻩ ﺍﺳـﺖ ( .ﺑـﺮﺍﻱ ﺍﻳﻨﻜﻪ ﺑﻪ ﻳﻚ ﭘﻮﺭﺕ ﻭﺭﻭﺩﻱ/ﺧﺮﻭﺟﻲ ﻧﺎﻣﻲﺭﺍ ﻧﺴﺒﺖ ﺩﻫﻴﻢ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : Point to the default pin name PIN_NAME of an input/output port <DL> to select the entire name Enter desired name ( in this example x ) to change the port name Press Enter to select the next port name below it is automatically selected for editing ﭘﺲ ﺍﺯ ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﻋﻤﻠﻴﺎﺕ ﺷﻜﻞ ﻣﺪﺍﺭ ﺑﺼﻮﺭﺕ ﺷﻜﻞ ٦-٢ﺩﺭ ﺧﻮﺍﻫﺪ ﺁﻣﺪ. ٤-٢ ﺍﺗﺼﺎﻝ ﻧﻤﺎﺩﻫﺎ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﭘــﺲ ﺍﺯ ﺍﻳﻨﻜــﻪ ﻧﻤﺎﺩﻫــﺎ ﻭ ﭘﻮﺭﺗﻬــﺎ ﺭﺍ ﺑــﻪ ﻓﺎﻳــﻞ ﺷــﻤﺎﺗﻴﻚ ﺍﻓــﺰﻭﺩﻳﻢ ﻭ ﭘﻮﺭﺗﻬــﺎ ﺭﺍ ﻧﺎﻣﮕــﺪﺍﺭﻱ ﻛــﺮﺩﻳﻢ ،ﺑﺎﻳــﺪ ﻧﻤﺎﺩﻫﺎ ﺭﺍ ﺑﻪ ﻧﺤﻮ ﻣﻨﺎﺳﺐ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﻣﺘﺼـﻞ ﻛﻨـﻴﻢ .ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻨﻈـﻮﺭ ﺍﺯ ﺳـﻴﻢ ﻭ ﮔـﺬﺭﮔﺎﻩ ﺍﺳـﺘﻔﺎﺩﻩ ﻣـﻲﻛﻨـﻴﻢ .ﺑـﺮﺍﻱ ﺍﺗﺼﺎﻝ ﺩﻭ ﻧﻤﺎﺩ ﺍﺯ ﻃﺮﻳﻖ ﺳﻴﻢ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <LB> on Orthogonal line tool <LB> on the output of the x input port and drag the wire to the input of the XOR gate and then release the left button of the mouse ﺻﻔﺤﻪﻱ ٢٦ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺷﻜﻞ -٦-٢ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻓﺎﻳﻞ ﺷﻤﺎﺗﻴﻚ ﭘﺲ ﺍﺯ ﻧﺎﻣﮕﺬﺍﺭﻱ ﭘﻮﺭﺗﻬﺎ ﺑــﻪ ﻫﻤــﻴﻦ ﺗﺮﺗﻴــﺐ ﺳــﺎﻳﺮ ﺳــﻴﻤﻬﺎ ﺭﺍ ﺭﺳــﻢ ﻣــﻲﻛﻨــﻴﻢ ﺗــﺎ ﻣــﺪﺍﺭ ﺑﺼــﻮﺭﺕ ﺷــﻜﻞ ٧-٢ﺩﺭ ﺁﻳــﺪ .ﺳــﭙﺲ ﻓﺎﻳــﻞ fa1bitﺭﺍ ﺫﺧﻴﺮﻩ ﻣﻲﻛﻨﻴﻢ. <M> File: Save ﻧﺤــﻮﻩ ﻱ ﺭﺳــﻢ ﮔــﺬﺭﮔﺎﻩ ﻧﻴــﺰ ﺩﻗﻴﻘــﺎ ﻣﺎﻧﻨــﺪ ﺳــﻴﻢ ﺍﺳــﺖ ،ﺑــﺎ ﺍﻳــﻦ ﺗﻔــﺎﻭﺕ ﻛــﻪ ﭘــﺲ ﺍﺯ ﺍﻳﻨﻜــﻪ ﺳــﻴﻢ ﺭﺍ ﺭﺳــﻢ ﻧﻤﻮﺩﻳﻢ ،ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <LB> on the wire to select it <RB> on the selected wire In the case sensitive menu, Select Line Style, and then select the second item (thick )line The selected wire changes to the bus ٥-٢ ﺍﻳﺠﺎﺩ ﻧﻤﺎﺩ ﺍﺯ ﺭﻭﻱ ﻃﺮﺡ ﭘﺲ ﺍﺯ ﺍﻳﻨﻜﻪ ﺟﻤـﻊ ﻛﻨﻨـﺪﻩ ﻱ ﻳـﻚ ﺑﻴﺘـﻲ ﺭﺍ ﺫﺧﻴـﺮﻩ ﻛـﺮﺩﻳﻢ ﺑﺎﻳـﺪ ﺍﺯ ﺭﻭﻱ ﺁﻥ ﻳـﻚ ﻧﻤـﺎﺩ ﺍﻳﺠـﺎﺩ ﻛﻨـﻴﻢ ،ﺗـﺎ ﺩﺭ ﺁﻳﻨﺪﻩ ﺑﺘﻮﺍﻥ ﺑﻌﻨﻮﺍﻥ ﻳﻚ ﻧﻤﺎﺩ ﺍﺯ ﺁﻥ ﺍﺳﺘﻔﺎﺩﻩ ﻧﻤﻮﺩ .ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <M> File: Create Default Symbol ﺑــﻪ ﺍﻳــﻦ ﺻــﻮﺭﺕ ﻳــﻚ ﻧﻤــﺎﺩ ﺑ ـﻪ ﻧــﺎﻡ fa1bitﺍﻳﺠــﺎﺩ ﻣــﻲﺷــﻮﺩ ﻛــﻪ ﻣــﻲﺗــﻮﺍﻧﻴﻢ ﺍﺯ ﺁﻥ ﺩﺭ ﻣﺤــﻴﻂ ﺷــﻤﺎﺗﻴﻚ ﺍﺳــﺘﻔﺎﺩﻩ ﻛﻨــﻴﻢ )ﺍﻟﺒﺘــﻪ ﺑﻬﺘــﺮ ﺍﺳــﺖ ﭘــﻴﺶ ﺍﺯ ﺍﻳﺠــﺎﺩ ﻳــﻚ ﻧﻤــﺎﺩ ﺍﺯ ﺭﻭﻱ ﻳــﻚ ﻃــﺮﺡ ،ﺍﺯ ﺻــﺤﺖ ﺁﻥ ﻣﻄﻤــﺌﻦ ﺷــﻮﻳﻢ (. ﺍﮔﺮ ﺑﺨﻮﺍﻫﻴﻢ ﺍﻳﻦ ﻧﻤﺎﺩ ﺩﺭ ﻳﻚ ﻓﺎﻳﻞ ﻣﺘﻨﻲ AHDLﻣﻮﺭﺩ ﺍﺳﺘﻔﺎﺩﻩ ﻗﺮﺍﺭ ﺑﮕﻴﺮﺩ ﺑﺎﻳﺪ ﺑﻪ ﺗﺮﺗﻴﺐ ﺯﻳﺮ ﻋﻤﻞ ﻛﻨﻴﻢ: <M> File: Create Default Include File ﺻﻔﺤﻪﻱ ٢٧ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺷﻜﻞ -٧-٢ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻓﺎﻳﻞ ﺷﻤﺎﺗﻴﻚ ﭘﺲ ﺍﺯ ﺍﺗﺼﺎﻝ ﻧﻤﺎﺩﻫﺎ ﺍﻳﺠﺎﺩ ﻳﻚ ﺟﻤﻊ ﻛﻨﻨﺪﻩ ﭼﻬﺎﺭ ﺑﻴﺘﻲ ٦-٢ ﺍﻛﻨــﻮﻥ ﺑﺎﻳــﺪ ﻳــﻚ ﻣــﺪﺍﺭ ﺩﻳﮕــﺮ ﺍﻳﺠــﺎﺩ ﻛﻨــﻴﻢ ﻛــﻪ ﺑــﺎ ﺍﺗﺼــﺎﻝ ﭼﻬــﺎﺭ ﻧﻤــﺎﺩ fa1bitﺑــﻪ ﻳﻜــﺪﻳﮕﺮ ،ﻳــﻚ ﺟﻤﻊﻛﻨﻨـﺪﻩﻱ ﺟﻬـﺎﺭ ﺑﻴﺘـﻲ ﺑﺪﺳـﺖ ﺑﻴﺎﻳـﺪ .ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻨﻈـﻮﺭ ﺑﺎﻳـﺪ ﻳـﻚ ﻓﺎﻳـﻞ ﺷـﻤﺎﺗﻴﻚ ﺟﺪﻳـﺪ ﺍﻳﺠـﺎﺩ ﻛﻨـﻴﻢ .ﻭﻟـﻲ ﻫﻤﺎﻧﻄﻮﺭﻛﻪ ﻗﺒﻼ ﺍﺷـﺎﺭﻩ ﺷـﺪ ﻧـﺎﻡ ﻣـﺪﺍﺭ ﺩﺭ ﺑـﺎﻻﺗﺮﻳﻦ ﺳـﻄﺢ ﺑﺎﻳـﺪ ﺑـﺎ ﻧـﺎﻡ ﭘـﺮﻭﮊﻩ ﻳﻜﺴـﺎﻥ ﺑﺎﺷـﺪ .ﺍﺯ ﺍﻳﻨـﺮﻭ ﻳـﻚ ﻓﺎﻳـﻞ ﺷﻤﺎﺗﻴﻚ ﺑﺎ ﻧﺎﻡ adderﺍﻳﺠﺎﺩ ﻣﻲﻛﻨﻴﻢ. <M> File: New, to show New File window Select Graphic Editor file Select .gdf filename extension from combo box <LB> on Ok, to show Graphic Editor window <M> File: Save As, to show Save As window )Enter the name of the top level design, (in this example adder <LB> on Ok ﺳﭙﺲ ﺩﺭ ﺍﻳﻦ ﻓﺎﻳﻞ ﺟﺪﻳﺪ ﭼﻬﺎﺭ ﻧﻤﺎﺩ fa1bitﺍﺿﺎﻓﻪ ﻣﻲﻛﻨﻴﻢ ) ﺷﻜﻞ ٨-٢ﺭﺍ ﺑﺒﻴﻨﻴﺪ (. ﺍﺗﺼﺎﻝ ﻧﻤﺎﺩﻫﺎ ﺑﻪ ﻳﻜﺪﻳﮕﺮ ﺍﺯ ﻃﺮﻳﻖ ﻧﺎﻡ ٧-٢ ﺩﺭ ﺑﺨــﺶ ٦-٢ﻧﺤــﻮﻩ ﻱ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯﺳــﻴﻢ ﺑــﺮﺍﻱ ﺍﺗﺼــﺎﻝ ﺩﻭ ﻧﻤــﺎﺩ ﺑــﻪ ﻳﻜــﺪﻳﮕﺮ ﺭﺍ ﺩﻳــﺪﻳﻢ .ﺩﺭ ﺍﻳــﻦ ﺑﺨــﺶ ﻣــﻲﺧــﻮﺍﻫﻴﻢ ﺑﺒﻴﻨــﻴﻢ ﭼﮕﻮﻧــﻪ ﻣــﻲﺗــﻮﺍﻥ ﺑــﺮﺍﻱ ﺍﺗﺼــﺎﻝ ﻧﻤــﺎﺩﻩ ﺑــﻪ ﻳﻜــﺪﻳﮕﺮ ﺍﺯ ﻧــﺎﻡ ﺍﺳــﺘﻔﺎﺩﻩ ﻧﻤــﻮﺩ .ﺩﺭ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﺷﻤﺎﺗﻴﻚ ﭼﻨﺎﻧﭽـﻪ ﺩﻭ ﺳـﻴﻢ ﺩﺍﺭﺍﻱ ﻧـﺎﻡ ﻳﻜﺴـﺎﻥ ﺑﺎﺷـﻨﺪ ،ﺑـﻪ ﻳﻜـﺪﻳﮕﺮ ﻣﺘﺼـﻞ ﻫﺴـﺘﻨﺪ .ﺩﻗـﺖ ﻛﻨﻴـﺪ ﺍﻳـﻦ ﺍﻣـﺮ ﻓﻘـﻂ ﺩﺭ ﻣـﻮﺭﺩ ﺳـﻴﻢ ﻭ ﮔـﺬﺭﮔﺎﻩ ﺻــﺎﺩﻕ ﺍﺳـﺖ ،ﺍﺯ ﺍﻳﻨـﺮﻭ ﺑﺎﻳــﺪ ﺩﺭ ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟـﻲ ﻧﻤﺎﺩﻫـﺎ ﻳـﻚ ﻗﻄﻌــﻪ ﺳـﻴﻢ ﻳـﺎ ﮔــﺬﺭﮔﺎﻩ ﺭﺳﻢ ﻧﻤﻮﺩ ،ﺳﭙﺲ ﺑﻪ ﺁﻧﻬﺎ ﻧﺎﻡ ﺍﺧﺘﺼـﺎﺹ ﺩﺍﺩ .ﺑـﺮﺍﻱ ﺍﺧﺘﺼـﺎﺹ ﺩﺍﺩﻥ ﻧـﺎﻡ ﺑـﻪ ﻳـﻚ ﻗﻄﻌـﻪ ﺳـﻴﻢ ﺑﺼـﻮﺭﺕ ﺯﻳـﺮ ﻋﻤـﻞ ﻣﻲﻛﻨﻴﻢ : <LB> on the wire to select it, a small blinking square appears below the line, to show the insertion point Enter the name of the wire, the name appears above the line Press the Enter key, to assign the name to the wire ﺻﻔﺤﻪﻱ ٢٨ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺩﺭ ﺷﻜﻞ ٩-٢ﻫﻤﻴﻦ ﺍﻣﺮ ﺩﺭ ﻣﻮﺭﺩ ﻣﺜـﺎﻝ ﺟﻤـﻊ ﻛﻨﻨـﺪﻩ ﺑـﻪ ﻧﻤـﺎﻳﺶ ﺩﺭ ﺁﻣـﺪﻩ ﺍﺳـﺖ .ﺩﻗـﺖ ﻛﻨﻴـﺪ ﻛـﻪ ﺧﻄـﻮﻁ ﭘﺮﺭﻧﮓ ﮔﺬﺭﮔﺎﻩ ﻫﺴـﺘﻨﺪ .ﺑـﻪ ﻫﻨﮕـﺎﻡ ﻧﺎﻣﮕـﺬﺍﺭﻱ ﮔـﺬﺭﮔﺎﻩ ﺑﺎﻳـﺪ ﺍﺯ ﺭﻭﺵ ﻧﺎﻣﮕـﺬﺍﺭﻱ ﮔﺮﻭﻫـﻲ ﺍﺳـﺘﻔﺎﺩﻩ ﻧﻤـﻮﺩ .ﭘـﺲ ﺍﺯ ﺁﻥ ﻓﺎﻳﻞ ﺭﺍ ﺫﺧﻴﺮﻩ ﻣﻲﻛﻨﻴﻢ. ﺷﻜﻞ -٨-٢ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻓﺎﻳﻞ ﺷﻤﺎﺗﻴﻚ ﺟﻤﻊ ﻛﻨﻨﺪﻩ ﻱ ﭼﻬﺎﺭ ﺑﻴﺘﻲ ﺷﻜﻞ -٩-٢ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻓﺎﻳﻞ ﺷﻤﺎﺗﻴﻚ ﺟﻤﻊ ﻛﻨﻨﺪﻩ ﻱ ﭼﻬﺎﺭ ﺑﻴﺘﻲ ﭘﺲ ﺍﺯ ﺍﺗﺼﺎﻝ ﺍﺯ ﻃﺮﻳﻖ ﺍﺯ ﻧﺎﻡ ﺍﻧﺘﺨﺎﺏ ﺗﺮﺍﺷﻪ ٨-٢ ﭘﺲ ﺍﺯ ﺍﻳﻨﻜﻪ ﻃﺮﺡ ﺁﻣﺎﺩﻩ ﺷـﺪ ،ﺑﺎﻳـﺪ ﺁﻥ ﺭﺍ ﻛﺎﻣﭙﺎﻳـﻞ ﻛﻨـﻴﻢ .ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻨﻈـﻮﺭ ﻧﺨﺴـﺖ ﺑﺎﻳـﺪ ﻧـﻮﻉ ﺗﺮﺍﺷـﻪ ﺍﻱ ﻛــﻪ ﻣــﻲﺧــﻮﺍﻫﻴﻢ ﻃــﺮﺡ ﻣــﺎ ﺭﻭﻱ ﺁﻥ ﻧﮕﺎﺷــﺖ ﺷــﻮﺩ ﺭﺍ ﻣﺸــﺨﺺ ﻛﻨــﻴﻢ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈــﻮﺭ ﺑﺼــﻮﺭﺕ ﺯﻳــﺮ ﻋﻤــﻞ ﻣﻲﻛﻨﻴﻢ : <M> Assign: Device, to show Device window ﺻﻔﺤﻪﻱ ٢٩ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺩﺭ ﭘﻨﺠــﺮﻩﻱ ﺍﻧﺘﺨــﺎﺏ ﺗﺮﺍﺷــﻪ ،ﻧﺨﺴــﺖ ﺑﺎﻳــﺪ ﺍﺯ ﻟﻴﺴــﺖ Device Familyﺧــﺎﻧﻮﺍﺩﻩﻱ ﺗﺮﺍﺷــﻪ ﺭﺍ ﺍﻧﺘﺨــﺎﺏ ﻧﻤـﻮﺩ .ﺩﺭ ﺍﻳﻨﺼــﻮﺭﺕ ﺩﺭ ﻟﻴﺴــﺖ Devicesﻧــﺎﻡ ﺗﺮﺍﺷـﻪ ﻫــﺎﻱ ﻣﻮﺟــﻮﺩ ﺩﺭ ﺍﻳــﻦ ﺧـﺎﻧﻮﺍﺩﻩ ﺑــﻪ ﻧﻤــﺎﻳﺶ ﺩﺭ ﻣــﻲﺁﻳــﺪ .ﺩﺭ ﺻــﻮﺭﺗﻴﻜﻪ ﺑﺨــﻮﺍﻫﻴﻢ ﺍﺑــﺰﺍﺭ ﺳــﻨﺘﺰ ﺑﻬﺘــﺮﻳﻦ ﺗﺮﺍﺷــﻪ ﺭﺍ ﺑــﺮﺍﻱ ﻃــﺮﺡ ﻣــﺎ ﺍﻧﺘﺨــﺎﺏ ﻛﻨــﺪ ،ﺑﺎﻳــﺪ ﺩﺭ ﻟﻴﺴــﺖ Devices ﮔﺰﻳﻨﻪﻱ AUTOﺭﺍ ﺍﻧﺘﺨﺎﺏ ﻧﻤﻮﺩ. ﻛﺎﻣﭙﺎﻳﻞ ﻃﺮﺡ ٩-٢ ﭘــﺲ ﺍﺯ ﺍﻧﺘﺨــﺎﺏ ﻧــﻮﻉ ﺗﺮﺍﺷــﻪ ﺑﺎﻳــﺪ ﻃــﺮﺡ ﺭﺍ ﻛﺎﻣﭙﺎﻳــﻞ ﻧﻤــﻮﺩ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈــﻮﺭ ﺑﺎﻳــﺪ ﺑﺼــﻮﺭﺕ ﺯﻳــﺮ ﻋﻤــﻞ ﻧﻤﻮﺩ : <M> Max+PlusII: Compiler ﺑــﺮﺍﻱ ﺷــﺮﻭﻉ ﻋﻤﻠﻴــﺎﺕ ﻛﺎﻣﭙﺎﻳــﻞ ﺗﻮﺳــﻂ ﻣــﺎﻭﺱ ﺭﻭﻱ ﻛﻠﻴــﺪ Startﻛﻠﻴــﻚ ﻣــﻲﻛﻨــﻴﻢ .ﺩﺭ ﻃــﻲ ﺍﻧﺠــﺎﻡ ﻋﻤﻠﻴــﺎﺕ ﻛﺎﻣﭙﺎﻳــﻞ ﮔﺰﺍﺭﺷــﻲ ﺍﺯ ﺧﻄﺎﻫــﺎ ﻭ warningﻫــﺎﻱ ﺍﺣﺘﻤــﺎﻟﻲ ﺩﺭ ﻳــﻚ ﭘﻨﺠــﺮﻩ ﺑﻨــﺎﻡ Messageﺑــﻪ ﻧﻤــﺎﻳﺶ ﺩﺭ ﻣﻲﺁﻳﺪ .ﭼﻨﺎﻧﭽـﻪ ﺑﺨـﻮﺍﻫﻴﻢ ﻣﺤـﻞ ﺑـﺮﻭﺯ ﺧﻄـﺎ ﺭﺍ ﻣﺸـﺎﻫﺪﻩ ﻛﻨـﻴﻢ ،ﻛﺎﻓﻴﺴـﺖ ﺗﻮﺳـﻂ ﻣـﺎﻭﺱ ﺭﻭﻱ ﺧﻄـﺎﻱ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﻛﻠﻴــﻚ ﻛــﺮﺩﻩ ﻭ ﺳــﭙﺲ ﺭﻭﻱ ﻛﻠﻴــﺪ Locateﻛﻠﻴــﻚ ﻛﻨــﻴﻢ .ﺩﺭ ﺻــﻮﺭﺗﻴﻜﻪ ﻃــﺮﺡ ﺷــﻤﺎ ﺩﺭﻭﻥ ﻳــﻚ ﺗﺮﺍﺷــﻪ ﺟــﺎﻱ ﻧﮕﻴﺮﺩ ،ﺍﺑﺰﺍﺭ ﺳـﻨﺘﺰ ﺑـﻪ ﺷـﻤﺎ ﭘﻴـﺎﻡ ﻣـﻲﺩﻫـﺪ ﻛـﻪ ﺁﻳـﺎ ﻣـﻲﺧﻮﺍﻫﻴـﺪ ﺍﻳـﻦ ﻃـﺮﺡ ﺭﺍ ﺩﺭﻭﻥ ﺩﻭ ) ﻳـﺎ ﭼﻨـﺪ ( ﺗﺮﺍﺷـﻪ ﺟـﺎﻱ ﺩﻫﻴﺪ ﻳﺎ ﺧﻴﺮ .ﺩﺭ ﺻﻮﺭﺗﻴﻜﻪ ﺷﻤﺎ ﺍﺩﺍﻣـﻪ ﻋﻤـﻞ ﻛﺎﻣﭙﺎﻳـﻞ ﺭﺍ ﺗﺎﻳﻴـﺪ ﻛﻨﻴـﺪ ،ﺍﺑـﺰﺍﺭ ﺳـﻨﺘﺰ ﻃـﺮﺡ ﺭﺍ ﺑـﻪ ﭼﻨـﺪ ﺑﺨـﺶ ﺗﻘﺴـﻴﻢ ﻣﻲﻛﻨﺪ ﻭ ﻫﺮ ﻳـﻚ ﺭﺍ ﺩﺭﻭﻥ ﻳـﻚ ﺗﺮﺍﺷـﻪ ﺟـﺎﻱ ﻣـﻲﺩﻫـﺪ ﻭ ﻟﻴﺴـﺘﻲ ﺍﺯ ﭘﺎﻳـﻪﻫـﺎﻱ ﺗﺮﺍﺷـﻪﻫـﺎ ﺭﺍ ﻛـﻪ ﺑﺎﻳـﺪ ﺑـﻪ ﻳﻜـﺪﻳﮕﺮ ﻣﺮﺗﺒﻂ ﺷﻮﻧﺪ ﺍﺭﺍﺋﻪ ﻣﻲﻛﻨﺪ. ١٠-٢ ﺷﺒﻴﻪ ﺳﺎﺯﻱ ﻃﺮﺡ ﭘــﺲ ﺍﺯ ﺍﻳﻨﻜــﻪ ﻃــﺮﺡ ﻣــﻮﺭﺩ ﻧﻈــﺮ ﺭﻭﻱ ﺗﺮﺍﺷــﻪ ﻧﮕﺎﺷــﺖ ﺷــﺪ ﺑﺎﻳــﺪ ﺁﻥ ﺭﺍ ﺷــﺒﻴﻪ ﺳــﺎﺯﻱ ﻧﻤــﻮﺩ ﺗــﺎ ﺍﺯ ﺻــﺤﺖ ﻃــﺮﺡ ﻣﻄﻤــﺌﻦ ﺷــﻮﻳﻢ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈــﻮﺭ ﻧﺨﺴــﺖ ﺑﺎﻳــﺪ ﺷــﻜﻞ ﻣــﻮﺝ ﻭﺭﻭﺩﻱ ﻣــﺪﺍﺭ ﺭﺍ ﻃﺮﺍﺣــﻲ ﻛﻨــﻴﻢ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <M> Max+Plus II: Waveform Editor ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﭘﻨﺠــﺮﻩﻱ ﻭﻳــﺮﺍﻳﺶ ﺷــﻜﻞ ﻣــﻮﺝ ﺭﻭﻱ ﺻــﻔﺤﻪ ﻇــﺎﻫﺮ ﻣــﻲﺷــﻮﺩ .ﺩﺭ ﻣﺮﺣﻠــﻪ ﻱ ﻛﺎﻣﭙﺎﻳــﻞ ﻃــﺮﺡ، ﻳﻚ ﻓﺎﻳﻞ ﺑﺎ ﭘﺴـﻮﻧﺪ SNFﺍﻳﺠـﺎﺩ ﻣـﻲﺷـﻮﺩ ﻛـﻪ ﻣﺸﺨﺼـﺎﺕ ﺗﻤـﺎﻡ ﮔـﺮﻩ ﻫـﺎﻱ ﻣـﺪﺍﺭ ﺭﺍ ﻧﮕـﺎﻩ ﻣـﻲﺩﺍﺭﺩ .ﺍﺯ ﺍﻳﻨـﺮﻭ ﺑﻬﺘـﺮ ﺍﺳﺖ ﻛـﻪ ﻧـﺎﻡ ﮔـﺮﻩ ﻫـﺎﻱ ﻭﺭﻭﺩﻱ ﻭ ﺧﺮﻭﺟـﻲ ﻣـﺪﺍﺭ ﺭﺍ ﺍﺯ ﺍﻳـﻦ ﻓﺎﻳـﻞ ﺍﺳـﺘﺨﺮﺍﺝ ﻛﻨـﻴﻢ .ﺑـﺮﺍﻱ ﺍﻳـﻦ ﻣﻨﻈـﻮﺭ ﺑﺼـﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : <M> Node: Enter Node from SNF ﺩﺭ ﺍﻳﻦ ﭘﻨﺠـﺮﻩ ﻣـﻲﺗـﻮﺍﻥ ﻧـﻮﻉ ﮔـﺮﻩ ﻫـﺎﻱ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺭﺍ ﺍﻧﺘﺨـﺎﺏ ﻧﻤـﻮﺩ ،ﺍﻳـﻦ ﺍﻣـﺮ ﺩﺭ ﺑﺨـﺶ Typeﺍﻧﺠـﺎﻡ ﻣﻲﺷﻮﺩ .ﭘﺲ ﺍﺯ ﺍﻧﺘﺨﺎﺏ ﻧﻮﻉ ﮔﺮﻩ ﻫﺎ ﻛﻠﻴـﺪ Listﺭﺍ ﻣـﻲﺯﻧـﻴﻢ ﺗـﺎ ﻟﻴﺴـﺖ ﮔـﺮﻩ ﻫـﺎﻱ ﻣﻮﺟـﻮﺩ ﺩﺭ ﺑﺨـﺶ ﺳـﻤﺖ ﭼـﭗ ﭘﻨﺠــﺮﻩ ﻇــﺎﻫﺮ ﺷــﻮﺩ .ﺳــﭙﺲ ﻫــﺮ ﻳــﻚ ﺍﺯ ﻭﺭﻭﺩﻳﻬــﺎ ﻭ ﻳــﺎ ﺧﺮﻭﺟﻴﻬــﺎ ﺭﺍ ﻛــﻪ ﺑﺨــﻮﺍﻫﻴﻢ ﺍﻧﺘﺨــﺎﺏ ﻣــﻲﻛﻨــﻴﻢ ﻭ ﺁﻧﻬــﺎ ﺭﺍ ﺗﻮﺳﻂ ﻛﻠﻴﺪ >= ﺑﻪ ﻟﻴﺴﺖ ﺷﻜﻞ ﻣﻮﺟﻬﺎ ﺍﺿﺎﻓﻪ ﻣﻲﻛﻨﻴﻢ .ﻭ ﺩﺭ ﭘﺎﻳﺎﻥ ﻛﻠﻴﺪ Okﺭﺍ ﻣﻲﺯﻧﻴﻢ. ﭘﺲ ﺍﺯ ﺍﻳﻨﻜﻪ ﮔﺮﻩ ﻫﺎﻱ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺑـﻪ ﻭﻳﺮﺍﻳﺸـﮕﺮ ﺷـﻜﻞ ﻣـﻮﺝ ﺍﻓـﺰﻭﺩﻩ ﺷـﺪ ،ﺑﺎﻳـﺪ ﺷـﻜﻞ ﻣـﻮﺝ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺭﺍ ﺑﻪ ﻭﺭﻭﺩﻳﻬﺎ ﺍﻋﻤﺎﻝ ﻧﻤﻮﺩ. ﺻﻔﺤﻪﻱ ٣٠ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺷﻜﻞ -١٠-٢ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺶ ﺷﻜﻞ ﻣﻮﺟﻬﺎ ﭘﺲ ﺍﺯ ﻃﺮﺍﺣﻲ ﺷﻜﻞ ﻣﻮﺟﻬﺎ ﺩﺭ ﺻــﻮﺭﺗﻴﻜﻪ ﺑﺨــﻮﺍﻫﻴﻢ ﻳــﻚ ﺳــﻴﮕﻨﺎﻝ ﺭﺍ ﺑﺼــﻮﺭﺕ ﻛﺎﻣــﻞ ﺍﻧﺘﺨــﺎﺏ ﻛﻨــﻴﻢ ،ﺑﺎﻳــﺪ ﺭﻭﻱ ﻣﻘــﺪﺍﺭ ﺁﻥ ﺳــﻴﮕﻨﺎﻝ > <LBﻛﻨﻴﻢ .ﺑﺮﺍﻱ ﺗﻐﻴﻴﺮ ﺩﺍﺩﻥ ﻣﻘﺪﺍﺭ ﻳﻚ ﺳﻴﮕﻨﺎﻝ ﺑﻪ ﺍﻳـﻦ ﻧﻜﺘـﻪ ﺗﻮﺟـﻪ ﻛﻨﻴـﺪ ﻛـﻪ ﺳـﻴﮕﻨﺎﻝ ﻳـﻚ ﮔـﺮﻩ ﺍﺳـﺖ ﻳـﺎ ﻳـﻚ ﮔﺮﻭﻩ ﻭ ﺑﺮﺍﻱ ﻣﻘﺪﺍﺭﺩﻫﻲ ﺑﻪ ﺁﻥ ﺍﺯ ﺁﻳﻜﻮﻥ ﻣﻨﺎﺳـﺐ ﺍﺳـﺘﻔﺎﺩﻩ ﻛﻨﻴـﺪ .ﺑـﺮﺍﻱ ﺗﺴـﺖ ﺍﻳـﻦ ﻣـﺪﺍﺭ ﻓـﺮﺽ ﻛﻨﻴـﺪ ﺷـﻜﻞ ﻣـﻮﺝ ﺭﺍ ﺑﺼــﻮﺭﺕ ﺷــﻜﻞ ١٠-٢ﻃﺮﺍﺣــﻲ ﻛــﺮﺩﻩﺍﻳــﻢ .ﺳــﭙﺲ ﺑﺼــﻮﺭﺕ ﺯﻳــﺮ ﺍﻳــﻦ ﺷــﻜﻞ ﻣــﻮﺝ ﺭﺍ ﺑــﺎ ﻧــﺎﻡ adderﺫﺧﻴــﺮﻩ ﻣﻲﻛﻨﻴﻢ. <M> File: Save ﺍﻛﻨـﻮﻥ ﺑــﺮﺍﻱ ﺍﻳﻨﻜــﻪ ﺷـﺒﻴﻪ ﺳــﺎﺯﻱ ﺍﻳــﻦ ﻃـﺮﺡ ﺭﺍ ﻣﺸــﺎﻫﺪﻩ ﻛﻨــﻴﻢ ،ﺑﺎﻳـﺪ ﻋﻤــﻞ ﺷــﺒﻴﻪ ﺳـﺎﺯﻱ ﺭﺍ ﺍﻧﺠــﺎﻡ ﺩﻫــﻴﻢ. ﺑﺮﺍﻱ ﺍﻳﻦ ﻣﻨﻈﻮﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ : )<M> Max+PlusII: Simulator, to show the simulator window (fig 2-11 <LB> on Start, to simulate the design <LB> on Open SCF ﺷﻜﻞ -١١-٢ﭘﻨﺠﺮﻩﻱ ﺷﺒﻴﻪ ﺳﺎﺯﻱ ﺻﻔﺤﻪﻱ ٣١ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺑﺎ ﺍﻧﺠﺎﻡ ﺍﻳﻦ ﻋﻤﻞ ﻣﺠﺪﺩﺍ ﭘﻨﺠﺮﻩﻱ ﺷـﻜﻞ ﻣﻮﺟﻬـﺎ ﺑـﺎﺯ ﻣـﻲﺷـﻮﺩ ﺑـﺎ ﺍﻳـﻦ ﺗﻔـﺎﻭﺕ ﻛـﻪ ﺩﺭ ﺍﻳـﻦ ﺣﺎﻟـﺖ ﻣﻘـﺎﺩﻳﺮ ﺧﺮﻭﺟﻴﻬــﺎ ﻧﻴــﺰ ﻣﺸــﺨﺺ ﺷــﺪﻩ ﺍﻧــﺪ .ﺣــﺎﻝ ﻣــﻲﺗــﻮﺍﻥ ﺻــﺤﺖ ﻋﻤﻠﻜــﺮﺩ ﻣــﺪﺍﺭ ﺭﺍ ﺑﺮﺭﺳــﻲ ﻧﻤــﻮﺩ ) ﺷــﻜﻞ ١٢-٢ﺭﺍ ﺑﺒﻴﻨﻴﺪ( ﺷﻜﻞ -١٢-٢ﭘﻨﺠﺮﻩﻱ ﺷﻜﻞ ﻣﻮﺟﻬﺎ ١١-٢ ﺗﺤﻠﻴﮕﺮ ﺯﻣﺎﻧﻲ ﺑﺮﺍﻱ ﺑﺮﺭﺳﻲ ﺗﺎﺧﻴﺮ ﻣﺪﺍﺭ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ. <M> Max+PlusII: Timing Analyzer, to show timing analyzer window <LB> Start ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﺩﺭ ﭘﻨﺠــﺮﻩﻱ ﺗﺤﻠﻴﮕــﺮ ﺯﻣــﺎﻧﻲ ﺗــﺎﺧﻴﺮ ﺗﺮﻛﻴﺒــﻲ ﻭﺭﻭﺩﻳﻬــﺎ ﺑــﻪ ﺧﺮﻭﺟﻴﻬــﺎ ﺭﺍ ﻣﺤﺎﺳــﺒﻪ ﻛــﺮﺩﻩ ﻭ ﺩﺭ ﻣﺎﺗﺮﻳﺲ ﺗﺎﺧﻴﺮ ﻧﻤﺎﻳﺶ ﻣﻲﺩﻫﺪ ) ﺷﻜﻞ ١٣-٢ﺭﺍ ﺑﺒﻴﻨﻴﺪ (. ﺷﻜﻞ -١٣-٢ﭘﻨﺠﺮﻩﻱ ﺗﺤﻠﻴﻠﮕﺮ ﺯﻣﺎﻧﻲ ﺻﻔﺤﻪﻱ ٣٢ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ١٢-٢ ﻭﻳﺮﺍﻳﺸﮕﺮ ﺗﺮﺍﺷﻪ ﭘــﺲ ﺍﺯ ﺍﻳﻨﻜــﻪ ﺍﺯ ﺻــﺤﺖ ﻋﻤﻠﻜــﺮﺩ ﻃــﺮﺡ ﻣﻄﻤــﺌﻦ ﺷــﺪﻳﻢ ،ﺑﺎﻳــﺪ ﻧﺤــﻮﻩﻱ ﺍﻋﻤــﺎﻝ ﻭﺭﻭﺩﻳﻬــﺎ ﻭ ﺧﺮﻭﺟﻴﻬــﺎ ﺑــﻪ ﺗﺮﺍﺷــﻪ ﺭﺍ ﻣﺸــﺨﺺ ﻛﻨــﻴﻢ .ﺍﻳــﻦ ﺍﻣــﺮ ﺗﻮﺳــﻂ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﺗﺮﺍﺷــﻪ ﺍﻧﺠــﺎﻡ ﻣــﻲﺷــﻮﺩ .ﺑــﺮﺍﻱ ﺍﺟــﺮﺍﻱ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﺗﺮﺍﺷــﻪ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ. <M> Max+PlusII: Floorplan Editor, to show floorplan editor window ﺩﺭ ﺣﺎﻟـﺖ ﻋـﺎﺩﻱ ﺍﻳـﻦ ﭘﻨﺠـﺮﻩ ﺗﺮﺍﺷـﻪ ﺭﺍ ﺑﺼـﻮﺭﺕ ) Logic Array Block (LABﻧﻤـﺎﻳﺶ ﻣـﻲﺩﻫـﺪ .ﺑـﺮﺍﻱ ﺍﻳﻨﻜﻪ ﺗﺮﺍﺷﻪ ﺭﺍ ﺑﺼﻮﺭﺕ ﻋﺎﺩﻱ ﻧﻤﺎﻳﺶ ﺩﻫﺪ ﺑﺼﻮﺭﺕ ﺯﻳﺮ ﻋﻤﻞ ﻣﻲﻛﻨﻴﻢ. <M> Layout: Device View ﺩﺭ ﻗﺴــﻤﺖ ﭘــﺎﻳﻴﻦ ﺻــﻔﺤﻪ ﻫــﺮ ﻳــﻚ ﺍﺯ ﻭﺭﻭﺩﻳﻬــﺎ ﻭ ﺧﺮﻭﺟﻴﻬــﺎﻱ ﻣــﺪﺍﺭ ﺑــﻪ ﻳﻜــﻲ ﺍﺯ ﭘﺎﻳــﻪ ﻫــﺎﻱ ﺗﺮﺍﺷــﻪ ﺍﺧﺘﺼــﺎﺹ ﻳﺎﻓﺘــﻪ ﺍﺳــﺖ .ﭼﻨﺎﻧﭽــﻪ ﺍﻳــﻦ ﺗﺨﺼــﻴﺺ ﻛــﻪ ﻣﺮﺑـﻮﻁ ﺑــﻪ ﻛﺎﻣﭙﺎﻳــﻞ ﻗﺒﻠــﻲ ﺍﺳــﺖ ،ﻣــﻮﺭﺩ ﻧﻈــﺮ ﺷــﻤﺎ ﻧﺒﺎﺷــﺪ ﻣــﻲﺗﻮﺍﻧﻴــﺪ ﺁﻥ ﺭﺍ ﺗﻐﻴﻴــﺮ ﺩﻫﻴــﺪ .ﺑــﺮﺍﻱ ﺍﻳــﻦ ﻣﻨﻈــﻮﺭ ﺑﺎﻳــﺪ ﺗﻮﺳــﻂ ﻣــﺎﻭﺱ ﺭﻭﻱ ﻛﻠﻴــﺪ Current Assignmentﻛﻠﻴــﻚ ﻛﻨﻴﻢ ،ﺩﺭ ﺍﻳﻨﺤﺎﻟـﺖ ﺩﺭ ﻗﺴـﻤﺖ ﭘـﺎﻳﻴﻦ ﺻـﻔﺤﻪ ﻳـﻚ ﺗﺮﺍﺷـﻪﻱ ﺧـﺎﻟﻲ ﻧﻤـﺎﻳﺶ ﺩﺍﺩﻩ ﻣـﻲﺷـﻮﺩ )ﺗﻮﺟـﻪ ﻛﻨﻴـﺪ ﺍﻳـﻦ ﺍﻣـﺮ ﺩﺭﺻــﻮﺭﺗﻲ ﺍﻣﻜــﺎﻥ ﭘــﺬﻳﺮ ﺍﺳــﺖ ﻛــﻪ ﻗــﺒﻼ ﺩﺭ ﻣﺮﺣﻠــﻪ ﻱ ﻛﺎﻣﭙﺎﻳــﻞ ،ﻧــﻮﻉ ﺗﺮﺍﺷــﻪ ﺭﺍ ﺍﻧﺘﺨــﺎﺏ ﻛــﺮﺩﻩ ﺑﺎﺷــﻴﺪ ،ﺑﻌﺒــﺎﺭﺕ ﺩﻳﮕــﺮ ﻧــﻮﻉ ﺗﺮﺍﺷــﻪ AUTOﻧﺒﺎﺷــﺪ( ﻭ ﺩﺭ ﻟﻴﺴــﺖ ﺑــﺎﻻﻱ ﺻــﻔﺤﻪ ﻟﻴﺴــﺖ ﮔــﺮﻩ ﻫــﺎﻱ ﻣــﺪﺍﺭ ﻧﻤــﺎﻳﺶ ﺩﺍﺩﻩ ﻣــﻲﺷــﻮﺩ. ﺣﺎﻝ ﻣـﻲﺗﻮﺍﻧﻴـﺪ ﻫـﺮ ﻳـﻚ ﺍﺯ ﮔـﺮﻩ ﻫـﺎ ﺭﺍ ﺍﺯ ﻟﻴﺴـﺖ ﺍﻧﺘﺨـﺎﺏ ﻧﻤـﻮﺩﻩ ﻭ ﺁﻥ ﺭﺍ Dragﻧﻤـﻮﺩﻩ ﺭﻭﻱ ﭘﺎﻳـﻪ ﻱ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﻗﺮﺍﺭ ﺩﻫﻴﺪ .ﺩﻗﺖ ﻛﻨﻴـﺪ ﻛـﻪ ﮔـﺮﻩ ﻫـﺎﻱ ﻭﺭﻭﺩﻱ ﺭﺍ ﻓﻘـﻂ ﺑـﻪ ﭘﺎﻳـﻪ ﻫـﺎﻱ ﻭﺭﻭﺩﻱ ﻳـﺎ ﺩﻭ ﺳـﻮﻳﻪ ﻭ ﮔـﺮﻩ ﻫـﺎﻱ ﺧﺮﻭﺟـﻲ ﺭﺍ ﻓﻘﻂ ﺑـﻪ ﭘﺎﻳـﻪ ﻫـﺎﻱ ﺧﺮﻭﺟـﻲ ﻳـﺎ ﺩﻭ ﺳـﻮﻳﻪ ﻭ ﮔـﺮﻩ ﻫـﺎﻱ ﺩﻭ ﺳـﻮﻳﻪ ﺭﺍ ﻓﻘـﻂ ﺑـﻪ ﭘﺎﻳـﻪ ﻫـﺎﻱ ﺩﻭ ﺳـﻮﻳﻪ ﺗﺨﺼـﻴﺺ ﺩﻫﻴﺪ .ﻧﻜﺘﻪ ﻱ ﺩﻳﮕﺮﻱ ﻛﻪ ﺑﺎﻳـﺪ ﺑـﻪ ﺁﻥ ﺗﻮﺟـﻪ ﺩﺍﺷـﺘﻪ ﺑﺎﺷـﻴﺪ ﺍﻳـﻦ ﺍﺳـﺖ ﻛـﻪ ﻣﻤﻜـﻦ ﺍﺳـﺖ ﺑـﺎ ﺗﺨﺼﻴﺼـﻲ ﻛـﻪ ﺷـﻤﺎ ﺍﻧﺘﺨﺎﺏ ﻧﻤﻮﺩﻩ ﺍﻳـﺪ ﺍﺑـﺰﺍﺭ ﺳـﻨﺘﺰ ﻧﺘﻮﺍﻧـﺪ ﻃـﺮﺡ ﺭﺍ ﺩﺭﻭﻥ ﺗﺮﺍﺷـﻪ ﻗـﺮﺍﺭ ﺩﻫـﺪ ،ﺍﺯ ﺍﻳﻨـﺮﻭ ﭘـﺲ ﺍﺯ ﺍﻳﻨﻜـﻪ ﺗﺨﺼـﻴﺺ ﺧـﻮﺩ ﺭﺍ ﺍﻧﺘﺨــﺎﺏ ﻧﻤﻮﺩﻳــﺪ ﺑﺎﻳــﺪ ﻣﺠــﺪﺩﺍ ﻃــﺮﺡ ﺭﺍ ﻛﺎﻣﭙﺎﻳــﻞ ﻛﻨﻴــﺪ .ﺩﺭ ﺻــﻮﺭﺗﻴﻜﻪ ﻋﻤــﻞ ﻛﺎﻣﭙﺎﻳــﻞ ﻣﻮﻓﻘﻴــﺖ ﺁﻣﻴــﺰ ﺑﺎﺷــﺪ، ﺗﺨﺼــﻴﺺ ﺷــﻤﺎ ﺍﻣﻜﺎﻧﭙــﺬﻳﺮ ﺍﺳــﺖ ) ﺍﻳــﻦ ﺍﻣــﺮ ﺑــﻪ ﻋﻠــﺖ ﻣﺤــﺪﻭﺩ ﺑــﻮﺩﻥ ﻣﺴــﻴﺮﻫﺎﻱ ﺍﺭﺗﺒــﺎﻃﻲ ﺍﻳــﺖ ﻛــﻪ ﺩﺭ ﺗﺮﺍﺷــﻪ ﻣﻮﺟﻮﺩ ﺍﺳﺖ ( . ﺻﻔﺤﻪﻱ ٣٣ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ٣ ﻃﺮﺍﺣﻲ ﻣﺪﺍﺭ ﺑﺎ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ AHDL ﺑــﺮﺍﻱ ﻳــﺎﺩﮔﻴﺮﻱ ﻃﺮﺍﺣــﻲ ﻣــﺪﺍﺭ ﺑــﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ ﺯﺑــﺎﻥ ﺗﻮﺻــﻴﻒ ﺳــﺨﺖ ﺍﻓــﺰﺍﺭﻱ AHDLﻫﻤــﺎﻥ ﻣﺜــﺎﻝ ﺟﻤــﻊ ﻛﻨﻨﺪﻩ ﺭﺍ ﻣﻮﺭﺩ ﺑﺮﺭﺳﻲ ﻗﺮﺍﺭ ﻣﻲﺩﻫـﻴﻢ .ﺩﺭ ﺍﻳﻨﺤﺎﻟـﺖ ﻧﻴـﺰ ﺍﮔـﺮ ﭘـﺮﻭﮊﻩ ﻱ ﻣـﺎ ﺩﺍﺭﺍﻱ ﭼﻨـﺪ ﺯﻳـﺮ ﻃـﺮﺡ ﺑﺎﺷـﺪ ،ﺍﺑﺘـﺪﺍ ﻫـﺮ ﻳــﻚ ﺍﺯ ﺯﻳــﺮ ﻃﺮﺣﻬــﺎ ﺭﺍ ﺍﻳﺠــﺎﺩ ﻣــﻲﻛﻨــﻴﻢ ) ﺑــﺎ ﺭﻭﺵ ﻃﺮﺍﺣــﻲ ﺷــﻤﺎﺗﻴﻚ ﻳــﺎ ﺑــﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﺍﺯ ﺯﺑــﺎﻥ ﺗﻮﺻــﻴﻒ ﺳــﺨﺖ ﺍﻓــﺰﺍﺭﻱ ( ﺳــﭙﺲ ﺍﺯ ﻫــﺮ ﻳــﻚ ﺍﺯ ﺯﻳــﺮ ﻃﺮﺣﻬــﺎ ﻳــﻚ Default Include Fileﺍﻳﺠــﺎﺩ ﻣــﻲﻛﻨــﻴﻢ .ﺳــﭙﺲ ﺩﺭ ﻓﺎﻳــﻞ ﺍﺻــﻠﻲ ﻛــﻪ ﻫﻤﻨــﺎﻡ ﭘــﺮﻭﮊﻩ ﺍﺳــﺖ ،ﺗﻤــﺎﻡ ﺯﻳــﺮ ﻃﺮﺣﻬــﺎ ﺭﺍ includeﻣــﻲﻛﻨــﻴﻢ ﺗــﺎ ﺑﺘــﻮﺍﻧﻴﻢ ﺍﺯ ﺁﻧﻬــﺎ ﺍﺳــﺘﻔﺎﺩﻩ ﻛﻨــﻴﻢ .ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﻧــﺎﻡ ﭘــﺮﻭﮊﻩ ﺭﺍ adder2ﻭ ﻧــﺎﻡ ﺟﻤــﻊ ﻛﻨﻨــﺪﻩ ﻱ ﺗــﻚ ﺑﻴﺘــﻲ ﺭﺍ fa1bit2ﻭ ﻧــﺎﻡ ﻓﺎﻳــﻞ ﺟﻤــﻊ ﻛﻨﻨــﺪﻩ ﻱ ﭼﻬــﺎﺭ ﺑﻴﺘﻲ ﺭﺍ adder2ﻗﺮﺍﺭ ﻣﻲﺩﻫﻴﻢ. ﺍﺑﺘـﺪﺍ ﻳـﻚ ﭘـﺮﻭﮊﻩ ﻱ ﺟﺪﻳـﺪ ﺍﻳﺠــﺎﺩ ﻣـﻲﻛﻨـﻴﻢ ﻭ ﺁﻥ ﺭﺍ ﺑـﺎ ﻧـﺎﻡ adder2ﺫﺧﻴــﺮﻩ ﻣـﻲﻛﻨـﻴﻢ .ﺳـﭙﺲ ﻳـﻚ ﻓﺎﻳــﻞ ﺟﺪﻳﺪ ﻣﺘﻨﻲ ﺩﺭ ﺍﻳﻦ ﭘﺮﻭﮊﻩ ﺍﻳﺠﺎﺩ ﻣـﻲﻛﻨـﻴﻢ ﻭ ﺁﻥ ﺭﺍ ﺑـﺎ ﻧـﺎﻡ fa1bit2ﺫﺧﻴـﺮﻩ ﻣـﻲﻛﻨـﻴﻢ .ﺩﻗـﺖ ﻛﻨﻴـﺪ ﻛـﻪ ﭘﺴـﻮﻧﺪ ﻓﺎﻳـﻞ ﻣﺘﻨـــﻲ ﺣﺘﻤـــﺎ ﺑﺼـــﻮﺭﺕ tdfﺑﺎﺷـــﺪ ) ﭘﺴـــﻮﻧﺪ ﻓﺎﻳﻠﻬـــﺎﻱ AHDLﺑﺼـــﻮﺭﺕ tdfﺍﺳـــﺖ ( .ﺩﺭ ﺍﻳﻨﺤﺎﻟـــﺖ ﭘﻨﺠـــﺮﻩ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻣﺘﻨﻲ ﻣﻄﺎﺑﻖ ﺷﻜﻞ ١-٣ﺧﻮﺍﻫﺪ ﺑﻮﺩ. Type your AHDL code here ﺷﻜﻞ -١-٣ﭘﻨﺠﺮﻩﻱ ﻭﻳﺮﺍﻳﺸﮕﺮ ﻣﺘﻨﻲ ﺑﺮﺍﻱ ﻭﺍﺭﺩ ﻛـﺮﺩﻥ ﻛـﺪ ،ﺍﺑـﺰﺍﺭ ﺳـﻨﺘﺰ ﺩﺍﺭﺍﻱ ﻳـﻚ ﻗﺎﺑﻠﻴـﺖ ﺑﺴـﻴﺎﺭ ﻣﻨﺎﺳـﺐ ﺑﻨـﺎﻡ Templateﺍﺳـﺖ ﻛـﻪ ﺍﻟﮕـﻮﻳﻲ ﺍﺯ ﺗﻤﺎﻡ ﺳﺎﺧﺘﺎﺭﻫﺎﻱ ﺯﺑﺎﻥ ﺭﺍ ﺩﺭ ﺍﺧﺘﻴﺎﺭ ﺷـﻤﺎ ﻗـﺮﺍﺭ ﻣـﻲﺩﻫـﺪ .ﺑـﺮﺍﻱ ﺩﺳﺘﺮﺳـﻲ ﺑـﻪ ﺍﻳـﻦ ﻗﺎﺑﻠﻴـﺖ ﻛﺎﻓﻴﺴـﺖ ﺩﺭ ﺣﺎﻟﻴﻜـﻪ ﻣﺎﻭﺱ ﺭﻭﻱ ﺻـﻔﺤﻪ ﻣﺘﻨـﻲ ﺩﺭ ﻣﺤـﻞ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺍﺳـﺖ ،ﺑـﺎ ﻛﻠﻴـﺪ ﺳـﻤﺖ ﺭﺍﺳـﺖ ﻣـﺎﻭﺱ ﻛﻠﻴـﻚ ﻛﻨـﻴﻢ ﻭ ﺩﺭ ﻣﻨـﻮﻱ Case Sensitiveﻇــﺎﻫﺮ ﺷــﺪﻩ ﮔﺰﻳﻨــﻪ ﻱ AHDLﺭﺍ ﺍﻧﺘﺨــﺎﺏ ﻣــﻲﻛﻨــﻴﻢ .ﺩﺭ ﺍﻳﻨﺤﺎﻟــﺖ ﭘﻨﺠــﺮﻩ ﺍﻱ ﻣﻄــﺎﺑﻖ ﺷــﻜﻞ ١-٣ﺭﻭﻱ ﺻﻔﺤﻪ ﻇـﺎﻫﺮ ﻣـﻲﺷـﻮﺩ ﻛـﻪ ﻣـﻲﺗـﻮﺍﻥ ﺍﺯ ﺁﻥ ﺍﻟﮕـﻮﻱ ﻣـﻮﺭﺩ ﻧﻈـﺮ ﺭﺍ ﻧﺘﺨـﺎﺏ ﻧﻤـﻮﺩ ﻭ ﻛﻠﻴـﺪ Okﺭﺍ ﺯﺩ .ﺩﺭ ﺻﻔﺤﻪﻱ ٣٤ ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ Max+PlusII ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ :ﺳﻌﻴﺪ ﺻﻔﺮﻱ ﺍﻳﻨﺼﻮﺭﺕ ﻳـﻚ ﻛﭙـﻲ ﺍﺯ ﺍﻟﮕـﻮﻱ ﺍﻳـﻦ ﺳـﺎﺧﺘﺎﺭ ﺩﺭ ﻣﺤـﻞ ﻣـﻮﺭﺩ ﻇـﺎﻫﺮ ﻣـﻲﺷـﻮﺩ ﻭ ﺣـﺎﻻ ﻣـﻲﺗـﻮﺍﻥ ﺍﻳـﻦ ﺍﻟﮕـﻮ ﺭﺍ ﺑـﺮ ﺍﺳﺎﺱ ﻧﻴﺎﺯ ﺗﻐﻴﻴﺮ ﺩﺍﺩ .ﺍﻳﻦ ﻗﺎﺑﻠﻴﺖ ﻛﺎﺭﺑﺮ ﺭﺍ ﺍﺯ ﺑﻪ ﺧﺎﻃﺮ ﺳﭙﺮﺩﻥ ﺗﻤﺎﻡ ﺳﺎﺧﺘﺎﺭﻫﺎﻱ ﺯﺑﺎﻥ ﺑﻲ ﻧﻴﺎﺯ ﻣﻲﺳﺎﺯﺩ. ﺷﻜﻞ -٢-٣ﭘﻨﺠﺮﻩﻱ ﺍﻟﮕﻮﻱ AHDL ﺣــﺎﻝ ﺩﺭ ﭘﻨﺠــﺮﻩﻱ ﻭﻳﺮﺍﻳﺸــﮕﺮ ﻣﺘﻨــﻲ ﺗﻮﺻــﻴﻒ ﺟﻤــﻊﻛﻨﻨــﺪﻩﻱ ﻳــﻚ ﺑﻴﺘــﻲ )ﻟﻴﺴــﺖ ١-٣ﺭﺍ ﺑﺒﻴﻨﻴــﺪ( ﺭﺍ ﻭﺍﺭﺩ ﻣﻲﻛﻨﻴﻢ ﻭ ﺁﻧﺮﺍ ﺑﺎ ﻧﺎﻡ fa1bit2.tdfﺁﻥ ﺭﺍ ﺫﺧﻴﺮﻩ ﻣﻲﻛﻨﻴﻢ. SUBDESIGN fa1bit2 ( ; _x, _y, _ci : INPUT s, co ;: OUTPUT ) BEGIN ;s = ( _x XOR _y ) XOR _ci ;) co = ( _x AND _y ) OR ( _x AND _ci ) OR ( _y AND _ci ;END ﻟﻴﺴﺖ -١-٣ﺗﻮﺻﻴﻒ ﺟﻤﻊﻛﻨﻨﺪﻩﻱ ﻳﻚ ﺑﻴﺘﻲ ﺑﻪ ﺯﺑﺎﻥ AHDL ﺳــﭙﺲ ﺍﺯ ﺭﻭﻱ ﺍﻳــﻦ ﻓﺎﻳــﻞ ﻳــﻚ Default Include Fileﺍﻳﺠــﺎﺩ ﻣــﻲﻛﻨــﻴﻢ ،ﺑــﺮﺍﻱ ﺍﻳﺠــﺎﺩ ﺍﻳــﻦ ﻓﺎﻳــﻞ ،ﺍﺑــﺰﺍﺭ ﺳـﻨﺘﺰ ﻧـﺎﻡ ﭘــﺮﻭﮊﻩ ﺭﺍ ﺑـﻪ fa1bit2ﺗﻐﻴﻴــﺮ ﻣـﻲﺩﻫـﺪ ﻭ ﺳــﭙﺲ ﻃـﺮﺡ ﺭﺍ ﻛﺎﻣﭙﺎﻳــﻞ ﻣـﻲﻛﻨـﺪ ﺗــﺎ ﻣﻄﻤـﺌﻦ ﺷــﻮﺩ ﻛـﻪ ﻃــﺮﺡ ﺩﺍﺭﺍﻱ ﺧﻄﺎ ﻧﻴﺴﺖ .ﺣﺎﻝ ﻣﺠـﺪﺩﺍ ﭘـﺮﻭﮊﻩ adder2ﺭﺍ ﺑـﺎﺯ ﻣـﻲﻛﻨـﻴﻢ .ﺳـﭙﺲ ﻳـﻚ ﻓﺎﻳـﻞ ﺟﺪﻳـﺪ ﻣﺘﻨـﻲ ﺩﺭ ﺍﻳـﻦ ﭘـﺮﻭﮊﻩ ﺍﻳﺠﺎﺩ ﻣﻲﻛﻨﻴﻢ ﻭ ﺁﻥ ﺭﺍ ﺑـﺎ ﻧـﺎﻡ adder2ﺫﺧﻴـﺮﻩ ﻣـﻲﻛﻨـﻴﻢ .ﺳـﭙﺲ ﺩﺭ ﺍﻳـﻦ ﻓﺎﻳـﻞ ﺗﻮﺻـﻴﻒ ﻟﻴﺴـﺖ ٢-٣ﺭﺍ ﻭﺍﺭﺩ ﻛـﺮﺩﻩ ﻭ ﺁﻥ ﺭﺍ ﺫﺧﻴﺮﻩ ﻣﻲﻛﻨﻴﻢ .ﺍﺯ ﺍﻳﻦ ﺑﻪ ﺑﻌﺪ ﺗﻤﺎﻡ ﻣﺮﺍﺣﻞ ﻣﺎﻧﻨﺪ ﻣﺮﺍﺣﻞ ﺑﺨﺶ ﺍﻭﻝ ﺍﺳﺖ. ﺻﻔﺤﻪﻱ ٣٥ Max+PlusII ﺧﻮﺩﺁﻣﻮﺯ ﺍﺳﺘﻔﺎﺩﻩ ﺍﺯ ﻧﺮﻡﺍﻓﺰﺍﺭ ﺳﻌﻴﺪ ﺻﻔﺮﻱ:ﺗﻬﻴﻪ ﻛﻨﻨﺪﻩ INCLUDE "fa1bit2"; SUBDESIGN adder2 ( a[3..0], b[3..0], cin : INPUT ; s[3..0], cout : OUTPUT; ) VARIABLE add1bit[3..0] : fa1bit2; c[3..1] : NODE; BEGIN add1bit[0]._x = a[0]; add1bit[0]._y = b[0]; add1bit[0]._ci = cin; s[0] = add1bit[0].s; c[1] = add1bit[0].co; add1bit[1]._x = a[1]; add1bit[1]._y = b[1]; add1bit[1]._ci = c[1]; s[1] = add1bit[1].s; c[2] = add1bit[1].co; add1bit[2]._x = a[2]; add1bit[2]._y = b[2]; add1bit[2]._ci = c[2]; s[2] = add1bit[2].s; c[3] = add1bit[2].co; add1bit[3]._x = a[3]; add1bit[3]._y = b[3]; add1bit[3]._ci = c[3]; s[3] = add1bit[3].s; cout = add1bit[3].co; END; AHDL ﺗﻮﺻﻴﻒ ﺟﻤﻊﻛﻨﻨﺪﻩﻱ ﻳﻚ ﺑﻴﺘﻲ ﺑﻪ ﺯﺑﺎﻥ-١-٣ ﻟﻴﺴﺖ ٣٦ ﺻﻔﺤﻪﻱ
© Copyright 2026 Paperzz