(1). 選擇"Physical View"顯示結果。
2016年11月24日 星期四
Lattice Diamond 3.8 - (6) 燒錄FPGA
(1). 選擇"Programmer"。
(2). 選擇欄位"Cable:"設定所使用的Download cable,之後在選擇"Port:",設定完成按"OK"。
(3). 在"File Name"欄位選擇"xxx_impl1.jed"檔。
(4). 先點選"JTAG Scam",連線FPGA之後再選擇"impl1.xcf"燒錄檔,最後點選"Program" 開始燒錄。
Lattice Diamond 3.8 - (5) 設定FPGA腳位與完整編譯
(1). 選擇"Spreadsheet View"。
(2). 產生"Spreadsheet View"標籤頁視窗。
(3). 在"Pin"欄位中選擇欲在FPGA信號輸出與輸入的IO腳位。
(4). 按"Save"存檔。
(5). 選擇"Process"標籤頁,使用"滑鼠左鍵"點選兩下"Export Files"開始完整編譯。
Lattice Diamond 3.8 - (4) 模擬
(1). 選擇"Simulation Wizard"。
(2). 選擇"Next >"。
(3). 在"Project name:"欄位中輸入模擬計畫的名稱後按"Next >"。
(4). 選擇"RTL"後按"Next >"。
(5). 在"Source Files:"欄位中可以看到數位電路程式(test.v)與模擬程式(testbench.v),勾選"Copy Source to Simulation Directory",會將test.v與testbench.v複製到新增模擬的檔案夾中,之後按"Next >"。
(6). 可以看到在"Simulation Top Module:"欄位中看到模擬程式為testbench.v,之後按"Next >"。
(7). 最後按"Finish"結束設定。
(8). 軟體會自動開啟"Active-HDL"並顯示結果。
Lattice Diamond 3.8 - (3) 新增Test bench
(1). 選擇"File List"標籤頁,之後再選擇"Input Files",按"滑鼠右鍵",選擇"Add" > "New File..."。
(2). 選擇"Verilog Files",之後在"Name:"欄位中輸入檔案名稱後按"New"。
(3). 輸入程式。
`timescale 1 ns/1 ns
module testbench;
reg a, b, c, d, En, Sel;
wire f;
Test UUT(
.a(a),
.b(b),
.c(c),
.d(d),
.En(En),
.Sel(Sel),
.f(f) );
initial
begin
a = 1'b0; // Time = 0
b = 1'b1;
c = 1'b0;
d = 1'b1;
En = 1'b0;
Sel = 1'b0;
#20; // Time = 20
a = 1'b1;
#10; // Time = 30
b = 1'b0;
c = 1'b1;
#10; // Time = 40
a = 1'b0;
#10; // Time = 50
En = 1'b1;
#10; // Time = 60
c = 1'b0;
#10; // Time = 70
a = 1'b1;
d = 1'b0;
#20; // Time = 90
c = 1'b1;
#20; // Time = 110
a = 1'b0;
#10; // Time = 120
a = 1'b1;
#10; // Time = 130
c = 1'b0;
Sel= 1'b1;
#10; // Time = 140
a = 1'b0;
#30; // Time = 170
a = 1'b1;
#10; // Time = 180
c = 1'b1;
#20; // Time = 200
a = 1'b0;
end
endmodule
(4). 點選"Save"存檔後,選擇"Process"標籤頁,使用"滑鼠左鍵"點選兩下"Lattice Synthesis Engine"開始編譯。
Lattice Diamond 3.8 - (2) 新增Verilog程式檔案與編譯
(1). 選擇"File List"標籤頁,之後再選擇"Input Files",按"滑鼠右鍵",選擇"Add" > "New File..."。
(2). 選擇"Verilog Files",之後在"Name:"欄位中輸入檔案名稱後按"New"。
(3). 輸入程式。
`timescale 1 ns/1 ns
module Test(a, b, c, d, En, Sel, f);
input a, b, c, d, En, Sel;
output f;
wire f;
wire g, h, i, j;
assign g = a | b;
assign i = g & En;
assign h = c | d;
assign j = h & En;
assign f = (Sel==1'b0) ? i : j;
endmodule
(4). 點選"Save"存檔。
(5). 選擇"Process"標籤頁,使用"滑鼠左鍵"點選兩下"Lattice Synthesis Engine"開始編譯。
Lattice Diamond 3.8 - (1) 新增Project
(1). 選擇"File" > "New" > "Project..."。
(2). 選擇"Next >"。
(3). 在"Name:"欄位中輸入計畫名稱,我這裡輸入"Teat",輸入完成選擇"Next >"。
在"Location:"為計劃檔案的所在位置,可以按"Browse..."選擇自己想存放的位置。
(4). 選擇"Next >"。
(5). 這裡需依照您所使用的FPGA型號設定,設定完成選擇"Next >"。
(6). 選擇合成的工具,我這裡選擇"Lattice LES"(Lattice Synthesis Engine,LES),設定完成選擇"Next >"。
(7). 完成設定,按"Finish"結束。
2016年7月6日 星期三
OpenCV 2.4 與 Visual Studio 2013(vc12)環境設定
1. 至http://opencv.org/downloads.html下載"OpenCV for Windows" VERSION 2.4.13解壓縮執行檔。
2. 將解壓縮執行檔放在"C:\"下,並執行。
3. 確定安裝路徑後按"Extract"。
4. 開始解壓縮,解壓縮完成會在C:\下多了一個opencv的檔案夾。
5. 至"控制台" > "系統",選擇"進階系統設定" > "環境變數"。
6. 在"系統變數"下選擇"新增",並在欄位輸入參數並按下"確定"。
變數名稱: OPENCV_DIR
變數值: C:\opencv\build\x64\vc12
**電腦系統為64位元,請選擇x64路徑,系統為32位元請選擇x86。
**Visual Studio 2013,請選擇vc12路徑,Visual Studio 2012,請選擇vc11路徑。
7. 之後再選擇"Path" > "編輯" > "新增",輸入參數後按"確定"。
Path: %OPENCV_DIR%\bin
8. 開啟Visual Studio 2013,選擇"新增專案"。
9. 選擇"Visual C++" > "一般" > "空專案"後按"確定"。
10. 將"組態管理員"設定成"Release"與"x64"。
**此輸入牽涉到函數庫的輸入參數。
11. 點選"方案總管"下的"Project1"按"滑鼠右鍵",選擇"屬性"。
12. 選擇"組態屬型" > "VC++目錄"在"include目錄"欄位輸入" $(OPENCV_DIR)\..\..\include" ,後按"確定"。
13. 之後再選擇"VC++目錄"在"程式庫目錄"輸入"$(OPENCV_DIR)\lib",後按"確定"。
14. 選擇"連結器" > "輸入",在"其他相依性"輸入參數。
如果在"組態管理員"設定成"Release",請輸入:
opencv_calib3d2413.lib
opencv_contrib2413.lib
opencv_core2413.lib
opencv_features2d2413.lib
opencv_flann2413.lib
opencv_gpu2413.lib
opencv_highgui2413.lib
opencv_imgproc2413.lib
opencv_legacy2413.lib
opencv_ml2413.lib
opencv_nonfree2413.lib
opencv_objdetect2413.lib
opencv_ocl2413.lib
opencv_photo2413.lib
opencv_stitching2413.lib
opencv_superres2413.lib
opencv_ts2413.lib
opencv_video2413.lib
opencv_videostab2413.lib
如果在"組態管理員"設定成"Debug",請輸入:
opencv_calib3d2413d.lib
opencv_contrib2413d.lib
opencv_core2413d.lib
opencv_features2d2413d.lib
opencv_flann2413d.lib
opencv_gpu2413d.lib
opencv_highgui2413d.lib
opencv_imgproc2413d.lib
opencv_legacy2413d.lib
opencv_ml2413d.lib
opencv_nonfree2413d.lib
opencv_objdetect2413d.lib
opencv_ocl2413d.lib
opencv_photo2413d.lib
opencv_stitching2413d.lib
opencv_superres2413d.lib
opencv_ts2413d.lib
opencv_video2413d.lib
opencv_videostab2413d.lib
**2413為OpenCV版本,會隨著改版而變更,可以至OpenCV安裝路徑中確認。
15. 選擇"方案總管" > "Project1" > "原始程式檔"按"滑鼠右鍵",選擇"加入" > "新增項目"。
16. 選擇"C++檔"後按"新增"。
17. 輸入測試程式。
1
2
3
4
5
6
7
8
9
10
11
| #include <opencv/highgui.h> int main() { IplImage * img = cvLoadImage( "image.png" ); cvNamedWindow( "image" ); cvShowImage( "image" , img); cvWaitKey(0); return 0; } |
18. 在計畫的原始碼路徑中加入".png"圖檔。
19. 執行程式結果。
訂閱:
文章 (Atom)