使用Verilog設計的Quartus II入門指南_第1頁
使用Verilog設計的Quartus II入門指南_第2頁
使用Verilog設計的Quartus II入門指南_第3頁
使用Verilog設計的Quartus II入門指南_第4頁
使用Verilog設計的Quartus II入門指南_第5頁
已閱讀5頁,還剩36頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

小時不識月Stupid&Hungry時常記記,以防忘掉!FPGA有關事宜,請在新浪微博@COM張一同討論。。。[文檔].艾米電子-使用Verilog設計的QuartusII入門指南闡明本文的部分章節,來源于本人翻譯的TerasicDE2-115的英文入門文檔。

平臺硬件:艾米電子EP2C8-增強版套件軟件:QuartusII10.0+ModelSim-Altera6.5e(QuartusII10.0)StarterEdition

內容經典的CAD流程開始新建工程錄入Verilog設計編譯設計引腳分派仿真設計電路編程及配置到FPGA器件測試設計電路

經典的CAD流程計算機輔助設計(CAD)軟件,使得運用可編程邏輯器件實現所需邏輯電路,變得輕易。例如現場可編程門陣列(FPGA)。經典的FPGACAD設計流程如圖1所示。圖1經典的FPGACAD設計流程

CAD流程包括如下環節:設計輸入——所需電路可通過原理圖方式或硬件描述語言方式(如Verilog或VHDL)進行設計。綜合——輸入的設計被綜合進入由邏輯元素(LEs,FPGA芯片提供)構成的電路中。功能仿真——綜合電路被測試以驗證其功能與否對的,次仿真不考慮時序原因。布局布線——CADFitter工具決定網表中定義的LEs怎樣布置成FPGA芯片中的實際LEs。時序分析——分析已布局布線電路中的不一樣途徑的傳播延遲,用以指示所需電路的性能。時序仿真——測試已布局布線電路,驗證其與否在功能和時序上都對的。編程及配置——設計的電路,通過編程配置開關,被實現到一種物理的FPGA芯片。配置開關用于配置LEs和建立所需線路連接。

本指南簡介QuartusII軟件的基本特性。展示怎樣使用Verilog硬件描述語言來設計和實現電路。使用GUI來實現QuartusII指令。通過本份指南,讀者將學習到:新建工程使用Verilog代碼錄入設計將綜合的電路布局到AlteraFPGA分派電路的輸入輸出到FPGA上的指定引腳仿真設計電路編程配置艾米電子EP2C8關鍵板上的FPGA芯片

1.開始在QuartusII中設計的每個邏輯電路或子電路,叫做一種工程。軟件每次運行一種工程,并將所有信息保留在單一文獻夾中。欲開始一種新的邏輯電路設計,第一步就是新建一種文獻夾來保留文獻。為了保留本指南的設計文獻,在D盤新建introtutorial文獻夾。指南者運行的范例為一種簡樸的雙路燈控電路。打開QuartusII軟件,將看到類似于圖2的畫面。該顯示畫面包括若干窗口,顧客可使用鼠標選擇,以訪問QuartusII軟件的有關功能。QuartusII提供的大多數命令都可用菜單形式來訪問。例如,在圖2中,在File標簽下點擊左鍵,可打開如圖3所示的菜單。用左鍵單擊Exit可退出QuartusII軟件。圖2QuartusII主體顯示

圖3File菜單一例

對于有些命令,需要持續訪問兩個或以上的菜單才可以使用。

1.1QuartusII在線協助QuartusII軟件提供了輕易理解的在線文檔,可解答許多在使用軟件時碰到的問題。顧客可通過選擇Help>Search來迅速訪問協助話題,在打開的對話框中,可以輸入關鍵字。此外一種措施是,內容感應協助,以迅速查找指定話題的文檔。在大多數的應用中,按住鍵盤上的F1鍵將打開一種顯示該應用的可用命令的協助窗口。

2新建工程按如下環節新建工程:1.選擇File>NewProjectWizard,以打開圖4所示窗口,可通過Don'tshowmethisintroductionagain跳過此窗口環節。單擊Next,出現圖5所示窗口。圖4引導的任務顯示

圖5創立新的工程

2.選擇工作文獻夾introtutorial,也可以使用您自己設定的文獻夾。工程必須有一種名字,一般狀況下,與頂層設計實體的名字相似。如圖5所示,選擇light作為工程名和頂層實體名。單擊Next。由于還沒有創立introtutorial文獻夾,QuartusII彈出一種對話框,問詢與否新建所需文獻夾,如圖6所示。單擊Yes,將會引出圖7所示的窗口。圖6創立新的工程文獻夾與否?

圖7添加顧客指定設計文獻

3.假如沒有已存在的設計文獻,單擊Next,將會打開如圖8所示的畫面。圖8選擇器件家族和指定的器件

4.艾米電子EP2C8關鍵板采用的器件為CycloneIIEP2C8Q208C8。此處選擇CycloneII器件家族,器件為PQFP封裝,有208個引腳,速度等級為8。單擊Next,出現圖9所示畫面。圖9指定第三方EDA工具

5.顧客可指定某些第三方EDA工具。持續Simulation選用ModelSim-Altera,格式為VerilogHDL。單擊Next,出現圖10所示窗口。

6.設置一覽如圖10所示。單擊Finish,返回QuartusII主體窗口。標題欄將顯示light工程,如圖11所示。圖10工程設置一覽

圖11QuartusII顯示已建工程

3使用Verilog代碼設計輸入作為一種設計范例,我們將采用雙路的燈控電路,如圖12所示。此燈可由兩個按鍵中的任一按鍵來控制,x1和x2,按鍵的閉合對應的邏輯值為1。真值表也同步在圖中給出。注意輸入x1和x2是異或的關系,不過我們仍然用門來顯示。圖12燈控電路

所需電路,如圖13所示,使用Verilog代碼來描述。注意,Verilog模塊叫做light,這個圖5所示的名稱是一致的。此代碼的編輯可以使用任何可存儲ASCII碼的文本編輯器,或者使用QuartusII自帶的編輯器。當然,文獻的名稱可以任意取;而和頂層Verilog模塊的名稱一致,是一種設計通例。文獻名稱必須帶.v擴展名,用以指示此文獻為Verilog文獻。所有,我們使用light.v這個名稱。圖13圖12所示電路的Verilog代碼

3.1使用QuartusII文本編輯器本節將展示怎樣使用QuartusII文本編輯器。假如你喜歡使用其他文本編輯器來創立Verilog源文獻,可以逃過此節。選擇File>New打開圖14所示窗口,選擇VerilogHDLFile,并單擊OK。這將打開文本編輯器窗口。第一步是指定所創立的文獻的名稱。選擇File>SaveAs,打開圖15所示的對話框。選擇存儲類型為VerilogHDLFile,填寫名稱為light.v。單擊Save,打開圖16所示窗口。輸入圖13所示的代碼。使用Ctrl+s保留該文獻。圖14選擇新建的文獻類型

圖15命名文獻

圖16文本編輯器窗口

3.1.1使用Verilog模板對于設計者來說,Verilog的語法有時很難被記住。為了處理問題,文本編輯器提供了Verilog模板集。這些模板提供了不一樣類型的Verilog體現的范例,譬如module申明、always塊和設置語句的陳說。可以通過Edit>InsertTemplate>VerilogHDL來瀏覽這些模板,以熟悉這些資源,這是相稱值得的。

3.3添加設計文獻到工程中正如圖7所討論的那樣,我們可以告訴QuartusII軟件,哪些文獻是目前工程的一部分。要查看目前的light工程中已包括的文獻列表,選擇Assignment>Setting>File,這將打開圖17所示畫面。此外一種可用的措施是選擇標簽Project>Add/RemoveFilesinProject。使用QuartusII文本編輯器創立文獻時,勾上Addfiletocurrentproject選項,所創立文獻即自動加入到工程文獻列表。假如使用的不是QuartusII自帶的文本編輯器,那么圖17,列表中就沒有所創立的文獻,此時必須手動添加文獻到工程文獻列表中。欲添加文獻到工程文獻列表中,單擊圖17中的FileName:的按鈕,彈出圖18所示對話框,選擇light.v,單擊Open。再次查看圖17畫面,此時所添加的文獻就已經在文獻列表了。需要注意的是,在大多數案例中,QuartusII軟件可根據各個實體自動找到對的的文獻,雖然某些文獻沒有被認真地添加到工程中。然而,對于包括許多文獻的復雜工程,按照上述措施,添加指定所需文獻到工程中,是一種很好的設計通例。圖17設置窗口

圖18選擇文獻

4編譯設計電路在light.v中Verilog代碼,要通過幾種QuartusII工具的處理:分析代碼、綜合電路以及生成目的芯片的實現內容。這些應用程序被匯集在一起,且被稱作編譯器。選擇Processing>StartCompilation運行編譯器,或者單擊

按鈕運行。在編譯過程中,QuartusII的左邊會顯示不一樣階段的進度。編譯成功(或不成功)后,會彈出一種對話框。單擊OK確認。QartusII會顯示圖19所示畫面的編譯匯報。當編譯成功后,也可以通過

按鈕手動打開編譯匯報。圖19編譯匯報

在此窗口的左面,列出了許多信息的列表。如圖19所示,本工程使用了1個LE和3個引腳。

4.1錯誤在編譯期間,QuartusII在消息窗口,會顯示生成的消息。假如此Verilog設計對的,其中一條消息就會顯示編譯成功及無錯誤。假如編譯不是零錯誤,那么在Verilog代碼中,至少有一種錯誤。在這種狀況下,與錯誤對應的消息就會在消息窗口顯示。雙擊某條錯誤信息,該信息將會滾動顯示完整;并且打開QuartusII自帶文本編譯器,Verilog代碼中的某行將被高亮顯示。類似的,編譯器也會顯示許多警告消息。同樣的措施也合用于查看完整的警告消息。針對于某條錯誤或警告消息,想得到更多信息,可選住此條消息,然后按住F1功能鍵,即可查看。我們將light.v的最終一行改成endmodules,重新編譯。QuartusII彈出對話框,匯報編譯錯誤;單擊OK,以確認。編譯匯報如圖20所示。在消息窗口,單擊Error標簽,顯示圖21所示消息。雙擊第一條錯誤信息,QuartusII文本編輯器打開light.v,最終一行被高亮,如圖22所示。修正代碼,重新編譯,直至成功為止。圖20編譯匯報

圖21錯誤信息

圖22指示錯誤代碼的位置

5引腳分派在艾米電子EP2C8-增強版套件中,我們使用LED[1]代表f,SW[1]和SW[2]分別代表x1和x2,所需引腳映射如圖23所示。使用文本編輯器,新建一文獻,命名為pins’list.txt。錄入圖24所示內容。選擇Assignments>ImportAssignments,打開圖25所示窗口。選擇pins’list.txt途徑,單擊OK導入引腳配置。選擇Assignments>PinPlanner(或單擊

按鈕),打開圖26所示窗口,查看引腳與否分派對的。圖23所需引腳映射

圖24引腳分派文獻——pins’list.txt

圖25導入設置

圖26查看引腳分派

5.1配置未用引腳未用引腳需要一定得約束,倘若沒有這些約束,就有也許出現某些莫名其妙的問題。選擇Assignments>Device>DeviceandPinOptions>UnusedPins,打開圖27所示窗口。一般狀況下,按照圖28所示配置。圖27配置未用引腳

圖28配置未用引腳為三態輸入

6仿真所設計的電路在艾米電子EP2C8-增強版套件實現所需電路之前,審慎的做法是,先仿真以確定所設計電路與否對的。下面將簡介怎樣使用ModelSim-Altera仿真:

6.1新建testbench文獻使用文本編輯器新建testbench文獻,文獻類型與圖9一致,命名為light_tb.v;不要勾Addfiletocurrentproject選項,即不可加入到Quartus工程文獻夾列表。錄入圖29所示代碼。圖29light_tb.v

6.2設置ModelSim-Altera途徑第一次使用需要先設置ModelSim-Altera途徑。選擇Tools>Options>General>EDAToolOptions,打開EDA工具選擇,如圖30所示,設置途徑。單擊OK,返回QuartusII主題界面。圖30設置ModelSim-Altera途徑

6.3添加仿真所需測試文獻選擇Assignments>Setting>EDAToolSetting>Simulation,打開圖31所示窗口。在NativeLinksetting下,選擇Compiletestbench:標簽,單擊TestBenches按鈕,打開圖32所示窗口。單擊New,彈出設置窗口,命名Testbenchname:為light_tb(與前面編寫light_tb.v一致);在Filename:處,點擊…按鈕,添加light_tb文獻途徑;單擊Add,完畢后如圖33所示。持續三次單擊OK,返回QuartusII主題窗口。圖31仿真選項設置

圖32指定TestBenches

圖33添加TestBenches

6.4開始仿真選擇Tools>RunEDASimulationTool>EDARTLSimulation,進行RTL仿真;或者選擇Tools>RunEDASimulationTool>EDAGateLevelSimulation,進行門級仿真。此處以RTL仿真為示范。選擇選擇Tools>RunEDASimulationTool>EDARTLSimulation,彈出圖34所示仿真畫面。稍等半晌,波形就會顯現。圖34ModelSim-Altera仿真畫面

在Wave窗口右上角,單擊

,最大化Wave窗口,以便查看波形,如圖35所示。將鼠標放在想

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論