1. 開啟新專案
2. 新增一個"Schematic"檔,輸入檔名後到下一步按"Finish"
3. 檔案開啟後,將視窗下方之選項選到"Symbols"選項,在視窗下方的"Symbol Name Filter"可以輸入需要的元件,輸入"buf"之後可在"Symbols"中找到所需的buf(buffer)元件
4. 將此元件拉到右邊的格線內如下圖所示,便可增加一個Buffer,接著選取左邊工具列的圖示"Add I/O Marker",增加輸入與輸出
5.
5-1 利用左鍵將BUF元件加入輸入/出訊號後,更改輸入訊號名稱為"sw(7:0)"(左鍵雙擊輸入或輸出跳出"Object Properties-I/O Marker Traits "視窗在Category選項裡點選Nets即可更換名稱)。
5-2 將BUF名稱 (InstName) 為"buffer_(7:0)",(左鍵雙擊輸入或輸出跳出"Object Properties-I/O Marker Traits "視窗在Category選項裡點選Nets即可更換名稱)。
5-3 輸出訊號名稱為"led (7:0)",(左鍵雙擊輸入或輸出跳出"Object Properties-I/O Marker Traits "視窗在Category選項裡點選Nets即可更換名稱)。
6. 存檔
將左邊視窗下方選項選到Design視窗(下方左右鍵可控制選單) ,右鍵點選"Synthesize–XST"→點選"Run"
or左鍵點選兩下
1. 新增一個"Implementation Constraints File"檔,輸入檔名後到下一步按"Finish"
2. 點選"+"將模組打開可看到剛加入的腳位檔,左鍵點選腳位檔(.ucf)
3. 點選下方"User Constraints"的"+"號開啟腳位檔的編輯檔,左鍵雙擊"Edit Constraints"後在右邊進行撰寫
4. 撰寫內容如下(使用"Nexys™2 Spartan-3E FPGA"時的.ucf檔)
.ucf 腳位內容
# Switches
NET "sw<0>" LOC = "G18";
NET "sw<1>" LOC = "H18";
NET "sw<2>" LOC = "K18";
NET "sw<3>" LOC = "K17";
NET "sw<4>" LOC = "L14";
NET "sw<5>" LOC = "L13";
NET "sw<6>" LOC = "N17";
NET "sw<7>" LOC = "R17";
# Leds
NET "Led<0>" LOC = "J14";
NET "Led<1>" LOC = "J15";
NET "Led<2>" LOC = "K15";
NET "Led<3>" LOC = "K14";
#NET "Led<4>" LOC = "E17"; # 3e500 only
#NET "Led<5>" LOC = "P15"; # 3e500 only
#NET "Led<6>" LOC = "F4"; # 3e500 only
#NET "Led<7>" LOC = "R4"; # 3e500 only
NET "Led<4>" LOC = "E16"; # 3e1200
NET "Led<5>" LOC = "P16"; # 3e1200
NET "Led<6>" LOC = "E4"; # 3e1200
NET "Led<7>" LOC = "P4"; # 3e1200
右鍵點選"Generate Programming File"點選"Run" or左鍵點選兩下
※必須先選取在主模組XXX(XXX.sch)上
1. 點選"Configure Target Device",將iMPACT打開
2. 新增一個新專案"New project"
3. 點選OK
4. 選擇剛剛產生的燒錄檔(.bit)
5. 選擇取消(我們只用第一顆晶片)
6. 在晶片上點選右鍵,選擇"program"
7. 顯示Program Succeeded即表示燒錄成功
*在program succeeded 前會先出現 identify succeeded看你要不要把圖也在另外加上去