版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第3章軟件平臺(tái)3.1概述3.2QuartusⅡ5.0軟件安裝3.3文本輸入設(shè)計(jì)方法3.4原理圖輸入設(shè)計(jì)方法3.5混合輸入設(shè)計(jì)方法3.6調(diào)用宏功能模塊設(shè)計(jì)方法3.1概述
QuartusⅡ是Altera公司的最新一代集成開發(fā)軟件,使用QuartusⅡ可完成從設(shè)計(jì)輸入、綜合適配、仿真到下載編程的整個(gè)設(shè)計(jì)過(guò)程,也可以直接調(diào)用SynplifyPro、LenardoSpectrum以及ModelSim等第三方EDA工具來(lái)完成設(shè)計(jì)任務(wù)的綜合和仿真此外,QuartusⅡ與MATLAB和DSPBuilder結(jié)合可以進(jìn)行基于FPGA的DSP系統(tǒng)開發(fā),方便而且快捷,QuartusⅡ還可以與SoPCBuilder結(jié)合,實(shí)現(xiàn)SoPC系統(tǒng)的開發(fā)。
QuartusⅡ提供了方便的實(shí)體設(shè)計(jì)、快速編譯處理以及編程功能,是目前FPGA/CPLD開發(fā)工具中較為理想的綜合、仿真軟件,具有很多優(yōu)良的特性。
3.2QuartusⅡ5.0軟件安裝
3.2.1系統(tǒng)配置要求
①?CPU為PentiumⅡ400MHz以上型號(hào),512MB以上系統(tǒng)內(nèi)存。
②硬盤空間大于800MB的安裝所需的最小硬盤空間。
③操作系統(tǒng)為MicrosoftWindowsNT4.0(ServicePack4以上)、Windows2000或WindowsXP。④采用與MicrosoftWindows兼容的SVGA顯示器。
⑤具有CD-ROM驅(qū)動(dòng)器。
⑥至少有下面的接口之一:用于ByteBlasterⅡ或ByteBlasterMV下載電纜的并行接口(LPT接口);用于MasterBlaster通信電纜的串行接口;用于USB-Blaster下載電纜、MasterBlaster通信電纜以及APU(AlteraProgrammingUnit)的USB接口(僅用于Windows2000和WindowsXP)。3.2.2QuartusⅡ5.0軟件的安裝
在滿足系統(tǒng)配置的計(jì)算機(jī)上,可以按照下面的步驟安裝Quartus?Ⅱ?5.0軟件:
(1)將Quartus?Ⅱ?5.0光盤插入計(jì)算機(jī)的光驅(qū)中,運(yùn)行安裝程序setup.exe,出現(xiàn)如圖3-1所示界面。圖3-1Quartus?Ⅱ?5.0安裝界面
(2)單擊InstallQuartus?Ⅱ?andRelatedSoftware按鈕,進(jìn)入安裝Quartus?Ⅱ?5.0軟件的安裝向?qū)Ы缑?,如圖3-2所示。在這個(gè)安裝向?qū)Ы缑嬷?,可以選擇安裝ModelSim-Altera軟件、MegaCoreIPLibrary軟件或者Nios?Ⅱ?EmbededProcesser,EvaluationEdition軟件。
(3)圖3-3所示為Quartus?Ⅱ?5.0安裝類型選擇界面,可以選擇完全安裝模式(Complete)或用戶自定義安裝模式(Custom)。圖3-2Quartus?Ⅱ?5.0安裝向?qū)Ы缑鎴D3-3Quartus?Ⅱ?5.0安裝類型選擇界面3.2.3Quartus?Ⅱ?5.0軟件的授權(quán)
1.授權(quán)文件的安裝
(1)不論是Node-lockedLicense還是NetworkLicense,Quartus?Ⅱ?5.0軟件都需要一個(gè)有效的、未過(guò)期的授權(quán)文件(license.dat)。授權(quán)文件包括對(duì)Altera綜合和仿真工具的授權(quán),也包括MAX+PLUS?Ⅱ軟件。
(2)如果使用的是NetworkLicense,需要對(duì)授權(quán)文件進(jìn)行簡(jiǎn)單的改動(dòng),并且需要安裝和配置FLEXlm授權(quán)管理器(FLEXlmLicenseManagerServer)。
(3)如果使用的是Node-lockedLicense授權(quán),需要安裝軟件狗(SentinelSoftwareGuard)。
(4)啟動(dòng)Quartus?Ⅱ?5.0軟件。
(5)指定授權(quán)文件的位置。
2.申請(qǐng)授權(quán)文件
首次運(yùn)行Quartus?Ⅱ?5.0軟件,如果軟件不能檢測(cè)到一個(gè)有效的授權(quán)文件,則將給出三種選擇:執(zhí)行30天的評(píng)估模式,從Altera公司網(wǎng)站自動(dòng)提取授權(quán)以及指定一個(gè)有效授權(quán)文件的正確位置。如果用戶已經(jīng)有了Altera公司提供的AlteraID、序列碼、網(wǎng)絡(luò)接口卡號(hào)等相關(guān)信息,則可以通過(guò)網(wǎng)站中的licensing部分得到一個(gè)ASCII授權(quán)文件license.dat。
3.在QuartusⅡ5.0軟件中指定授權(quán)文件
上面的操作完成之后,可以通過(guò)下面的方法指定授權(quán)文件位置。操作步驟如下:
(1)啟動(dòng)Quartus?Ⅱ?5.0軟件。
(2)在提示界面中選擇Specifyvalidlicensefile項(xiàng),在彈出的Options對(duì)話框中選擇LicenseSetup頁(yè)面,如圖3-4所示。圖3-4Options對(duì)話框的LicenseSetup頁(yè)面
(3)在Licensefile文本框中指定license.dat文件所在目錄,也可以用<port>@<host>形式代替指定的授權(quán)文件目錄,其中<host>表示授權(quán)文件所在PC服務(wù)器的主機(jī)名,<port>表示在license.dat中指定的端口號(hào)。
(4)單擊OK按鈕退出。授權(quán)文件中所授權(quán)的所有AMPP和MegaCore功能都在LicenseSetup頁(yè)面上的LicensedAMPP/
MegaCorefunctions中列出。
3.3文本輸入設(shè)計(jì)方法
3.3.1創(chuàng)建工程
1.打開當(dāng)前工程
啟動(dòng)“NewProjectWizard”,彈出如圖3-5所示的對(duì)話框。點(diǎn)擊該對(duì)話框最上一欄右側(cè)的按鈕“…”,找到文件夾d:\VHDL\count,作為當(dāng)前工作目錄。第二欄的cnt4是當(dāng)前工程的名稱;第三欄將頂層文件實(shí)體名也設(shè)置為cnt4。圖3-5使用“NewProjectWizard”創(chuàng)建工程
2.將設(shè)計(jì)文件加入到工程中
點(diǎn)擊圖3-5中的“Next”按鈕,彈出AddFiles對(duì)話框,如圖
3-6所示。點(diǎn)擊“AddAll”按鈕將有關(guān)設(shè)計(jì)文件加入到當(dāng)前工程中。如果在建立工程文件之前沒有建立源文件,則直接點(diǎn)擊“Next”按鈕進(jìn)入下一步操作。圖3-6添加設(shè)計(jì)文件對(duì)話框
3.選擇目標(biāo)器件
繼續(xù)點(diǎn)擊“Next”按鈕,出現(xiàn)如圖3-7所示的選擇目標(biāo)器件的窗口,指定目標(biāo)器件的步驟如下:
(1)在Family下拉列表框中選擇目標(biāo)器件系列,如FLEX10K。
(2)在Availabledevices下拉列表中指定一個(gè)目標(biāo),或選擇AutodeviceselectedbytheFitterfromthe‘Availabledevice’list,由編譯器自動(dòng)選擇目標(biāo)器件。
(3)?在Filters選項(xiàng)中設(shè)置目標(biāo)器件的選擇條件,這樣可以縮小器件的選擇范圍,選項(xiàng)包括封裝形式、引腳數(shù)目及器件速度等級(jí)。圖3-7器件選擇對(duì)話框
4.選擇綜合器和仿真器
繼續(xù)點(diǎn)擊“Next”按鈕,則彈出如圖3-8所示的選擇仿真器和綜合器的對(duì)話框,如果不作任何選擇,則表示選擇QuartusⅡ5.0自帶的綜合器和仿真器。也可以選擇其他第三方綜合器和仿真器等專業(yè)的EDA工具。圖3-8EDA工具設(shè)置對(duì)話框
5.結(jié)束設(shè)置
點(diǎn)擊“Next”按鈕,出現(xiàn)如圖3-9所示的當(dāng)前工程設(shè)置信息顯示窗口,對(duì)前面所做的設(shè)置情況作了匯總。點(diǎn)擊圖中的“Finish”按鈕,即完成了當(dāng)前工程的創(chuàng)建。圖3-9工程設(shè)置信息顯示3.3.2設(shè)計(jì)輸入
1.新建文本文件
(1)在QuartusⅡ5.0管理器界面中選擇菜單“File”→“New”,或單擊新建文件圖標(biāo),出現(xiàn)New對(duì)話框,如圖3-10所示。在對(duì)話框中選擇“VHDLFile”,點(diǎn)擊“OK”按鈕,打開文本編輯器。圖3-10新建文本文件對(duì)話框
(2)選擇菜單“File”→“Save”或單擊保存文件圖標(biāo),保存文件,選中對(duì)話框下端的可選項(xiàng)“Addfiletocurrentproject”,如圖3-11所示,文件在保存的同時(shí)被添加到項(xiàng)目count中,作為頂層實(shí)體文件。圖3-11保存文本文件cnt4.vhd
2.編輯文本文件
【例3.1】4位模16加法計(jì)數(shù)器。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
USEIEEE.STD_UNSIGNED.ALL;
ENTITYcnt4IS
PORT(clk,clr:INSTD_LOGIC;
q:BUFFERSTD_LOGIC_VECTOR(3DOWNTO0);
ENDENTITY;
ARCHITECTURErtlOFcnt4IS
BEGIN
PROCESS(clr,clk)
BEGIN
IFclr=‘1’THEN
q<="0000";
ELSIFclk‘EVENTANDclk=’1‘THEN
q<=q+1;
ENDIF;
ENDPROCESS;
ENDARCHITECTURE;
輸入完成后,對(duì)源文件進(jìn)行保存即可。3.3.3項(xiàng)目編譯
1.編譯前的設(shè)置
首先可選擇或更換目標(biāo)器件,在前面利用“NewProjectWizard”建立工程時(shí)已經(jīng)選定了目標(biāo)器件,如果前面沒有選定或想更換器件,則可選擇“Assignments”→“Settings”項(xiàng),在彈出的對(duì)話框中選擇“CompilerSettings”項(xiàng)下的“Device”來(lái)選擇器件。選好器件后,再點(diǎn)擊“Device&PinOptions”按鈕,出現(xiàn)“Device&PinOptions”選擇窗,從中選擇“Configuration”頁(yè)面,選擇器件的配置方式。還可以選擇配置文件格式,如圖3-12所示??捎糜谄骷幊痰奈募袷接校?ttf、.rbf、.jam、.jbc和.hexout等,設(shè)計(jì)者可根據(jù)需要選擇其中的一種或幾種文件格式,這樣編譯器在編譯后會(huì)自動(dòng)生成該格式的配置文件供用戶使用。圖3-12選擇配置文件格式在圖3-12中點(diǎn)擊“UnusedPins”標(biāo)簽,可設(shè)置目標(biāo)器件閑置引腳的狀態(tài),可將閑置引腳設(shè)置為高阻輸入狀態(tài)或低電平輸出狀態(tài),也可以不作任何設(shè)置。
還可以選擇編譯模式,選擇“Assignments”→“Settings”項(xiàng),在彈出的對(duì)話框中點(diǎn)擊“CompilationProcess”項(xiàng),出現(xiàn)模式過(guò)程設(shè)置窗口,如圖3-13所示。選擇“UseSmartcomplication”和“Preservefewernodenamestosavediskspace”選項(xiàng),這樣可使每次的重復(fù)編譯運(yùn)行得更快。圖3-13選擇編譯模式
2.編譯
QuartusⅡ編譯器是由幾個(gè)處理模塊構(gòu)成的,分別對(duì)設(shè)計(jì)文件進(jìn)行分析檢錯(cuò)、綜合、適配等,并產(chǎn)生多種輸出文件,如定時(shí)分析文件、器件編程文件和各種報(bào)告文件等。
選擇“Processing”→“StartCompilation”,或者點(diǎn)擊按鈕,即啟動(dòng)了完全編譯,這里的完全編譯包括分析和綜合、適配、裝配、定時(shí)分析、網(wǎng)表文件提取等過(guò)程。如果只想進(jìn)行其中某一項(xiàng)或某幾項(xiàng)編譯,可選擇菜單“Tool”→“CompilerTool”,或者點(diǎn)擊按鈕,即出現(xiàn)編譯工具選擇窗口,如圖3-14所示。其中共包括5個(gè)編譯工具,分別為分析和綜合器(Analysis&Synthesis)、適配器(Fitter)、裝配器(Assembler)、定時(shí)分析器(TimingAnalyzer)和網(wǎng)表提取器(EDANetlistWriter)。點(diǎn)擊每個(gè)工具前的小圖標(biāo)可單獨(dú)啟動(dòng)每個(gè)編譯器,如果點(diǎn)擊“Start”按鈕,則完成整個(gè)編譯過(guò)程。圖3-14編譯工具選擇窗口
3.查看編譯結(jié)果
編譯完成后,會(huì)將有關(guān)的編譯信息顯示在窗口中,可查看其內(nèi)容。還可以查看綜合后的電路原理圖,選擇“Tool”→“RTLViewer”菜單,即可觀察經(jīng)過(guò)綜合生成的RTL(寄存器傳輸級(jí))方式的電路原理圖,本例生成的模16加法計(jì)數(shù)器原理圖如圖3-15所示。圖3-15cnt4.vhd綜合后的RTL級(jí)原理圖為了得到設(shè)計(jì)綜合后的門級(jí)電路圖,選擇菜單“Tool”→“TechnologyMapViewer”,可查看綜合后的門級(jí)電路原理圖。注意,對(duì)于不同的目標(biāo)器件,盡管邏輯功能一樣,但其門級(jí)電路結(jié)構(gòu)是不一樣的,本例的門級(jí)原理圖如圖3-16所示。圖3-16cnt4.vhd綜合后的門級(jí)原理圖3.3.4仿真驗(yàn)證
1.打開波形編輯器
選擇菜單“File”→“New”,在“New”窗口中選擇“OtherFiles”頁(yè)面中的“VectorWaveformFile”選項(xiàng),點(diǎn)擊“OK”按鈕,即出現(xiàn)波形編輯窗口。
2.輸入信號(hào)節(jié)點(diǎn)
選擇菜單“View”→“UtilityWindows”→“NodeFinder”,出現(xiàn)如圖3-17所示的對(duì)話框,在“Filter”框中選擇“Pins:all”,再點(diǎn)擊“List”按鈕,即在下面的“NodesFound”框中出現(xiàn)本設(shè)計(jì)項(xiàng)目中的所有端口引腳列表,從端口列表中選擇所需要的,并逐個(gè)拖到波形編輯器窗口中。圖3-17輸入信號(hào)節(jié)點(diǎn)
3.編輯輸入信號(hào)波形
點(diǎn)擊波形編輯窗口中的全屏顯示按鈕,使窗口全屏顯示,使用波形編輯窗口中的各種波形賦值快捷鍵,編輯各輸入信號(hào)的激勵(lì)波形,如圖3-18所示。另外,還需要設(shè)置仿真時(shí)間區(qū)域,以使仿真時(shí)間設(shè)置在一個(gè)合理的區(qū)域上,選擇菜單“Edit”→“EndTime”,在彈出的“Time”窗口中鍵入10,單位選擇“μs”,即仿真時(shí)長(zhǎng)為10μs。圖3-18編輯輸入信號(hào)波形圖3-18中,q信號(hào)為總線型數(shù)據(jù)(信號(hào)左邊有符號(hào)“+”),如果點(diǎn)擊信號(hào)“q”左邊的“+”,則將展開該總線中的所有信號(hào),
如果雙擊“+”左邊的信號(hào)標(biāo)記,則彈出信號(hào)數(shù)據(jù)格式設(shè)置對(duì)話框,如圖3-19所示。在該對(duì)話框中有5種數(shù)據(jù)格式可供選擇:Binary(二進(jìn)制)、Hexadecimal(十六進(jìn)制)、Octal(八進(jìn)制)、SignedDecimal(有符號(hào)十進(jìn)制)、UnsignedDecimal(無(wú)符號(hào)十
進(jìn)制)。圖3-19設(shè)置信號(hào)數(shù)據(jù)格式
4.仿真參數(shù)設(shè)置
選擇“Assignment”→“Settings”項(xiàng),在彈出的對(duì)話框中選“SimulatorSettings”項(xiàng)下的“Mode”,以選擇仿真模式。仿真模式有功能仿真(Functional)和時(shí)序仿真(Timing)兩種,這里選擇功能仿真(Functional)。
5.觀察仿真結(jié)果
選擇菜單“Processing”→“StartSimulation”,或者點(diǎn)擊按鈕,即啟動(dòng)仿真器工作。仿真完成后,可通過(guò)查看輸出波形檢驗(yàn)所設(shè)計(jì)電路的功能是否正確。如不正確,可修改設(shè)計(jì),重新執(zhí)行以上的過(guò)程,直到完全滿足自己的設(shè)計(jì)要求為止。4位模16加法計(jì)數(shù)器的功能仿真波形如圖3-20所示。圖3-20模16加法計(jì)數(shù)器的功能仿真波形3.3.5引腳分配
(1)依次選擇菜單“Assignments”→“AssignmentEditor”命令,在分配編輯器的“Category”列表中選擇“Locationspin”,或直接選擇“Assignments”→“Pins”菜單命令,出現(xiàn)如圖3-21所示的引腳分配界面。圖3-21AssignmentEditor引腳分配界面
(2)在AssignmentEditor的引腳分配界面中,雙擊“To”單元,將彈出包含所有引腳的下拉列表框,從中選擇一個(gè)引腳名,如圖3-21所示。
(3)雙擊“Location”單元,從下拉列表框中可以指定目標(biāo)器件引腳號(hào),如圖3-22所示。圖3-22指定目標(biāo)器件引腳號(hào)
(4)完成所有設(shè)計(jì)中引腳的指定,關(guān)閉“AssignmentEditor”界面,當(dāng)提示保存分配時(shí),選擇“是”保存分配。
(5)如圖3-23所示為引腳鎖定的器件平面視圖。圖3-23器件平面視圖3.3.6器件編程
1.打開下載窗口
從Tools中選擇Programmer項(xiàng),或用快捷鍵打開編程窗口,如圖3-24所示。在Mode欄中有四種模式可供選擇:JTAG、PassiveSerial、ActiveSerialProgramming和In-SocketProgramming。為了直接對(duì)FPGA進(jìn)行配置,在編程窗口的
編程模式中選擇JTAG(默認(rèn)),并選中打勾文件右側(cè)的第一小方框。圖3-24器件編程窗口
2.設(shè)置編程器
單擊“HardwareSetup”按鈕可設(shè)置下載接口方式,出現(xiàn)如圖3-25所示的“HardwareSetup”對(duì)話框,對(duì)下載電纜進(jìn)行選擇。在“HardwareSettings”標(biāo)簽頁(yè)中,單擊按鈕AddHardware,彈出“AddHardware”窗口;在該窗口中選擇硬件類型(Hardwaretype)為“ByteBlasterMVorByteBlasterⅡ”,端口(Port)選擇“LPT1”,然后關(guān)閉對(duì)話框即可(這時(shí)應(yīng)該在圖3-26所示的編程器左上方顯示出編程方式:ByteBlasterMV[LPT1])。圖3-25硬件設(shè)置窗口
3.添加配置文件
在編輯窗口中點(diǎn)擊“AddFiles”按鈕,對(duì)編程文件?.sof(配置文件?.pof)進(jìn)行添加。
4.開始編程
使用ByteBlasterMV下載電纜編程,將ByteBlasterMV的DB25接口連接到PC機(jī)的并行端口。設(shè)置完后,點(diǎn)擊“Start”按鈕開始編程,如圖3-26所示。圖3-26編程窗口3.4原理圖輸入設(shè)計(jì)方法
3.4.1創(chuàng)建工程
(1)啟動(dòng)“NewProjectWizard”。
選擇菜單“File”→“NewProjectWizard”,彈出如圖3-27所示的對(duì)話框。點(diǎn)擊該框最上一欄右側(cè)的按鈕“”,找到文件夾D:\VHDL\half_adder,作為當(dāng)前的工作目錄。第二欄的half_adder是當(dāng)前工程的名字,一般將頂層文件的名字作為工程名;第三欄是頂層文件的實(shí)體名,一般與工程名相同。圖3-27使用NewProjectWizard創(chuàng)建工程
(2)將設(shè)計(jì)文件加入工程。
點(diǎn)擊圖3-27中的Next按鈕,彈出“AddFiles”對(duì)話框,如圖3-28所示,點(diǎn)擊“AddAll”,將所有相關(guān)文件都加入到當(dāng)前工程中。如果在建立工程文件之前沒有建立源文件,則直接點(diǎn)擊“Next”按鈕進(jìn)入下一步操作。圖3-28將設(shè)計(jì)文件加入到當(dāng)前工程中
(3)選擇目標(biāo)器件。
點(diǎn)擊圖3-28中的“Next”按鈕,出現(xiàn)選擇目標(biāo)器件的窗口,如圖3-29所示,在此選擇“FLEX10K”器件系列,在“Targetdevice”欄下選“Specificdeviceselectedin‘Availabledevices’list”,表示要選擇一個(gè)確定的目標(biāo)器件,然后在下面的列表中選擇器件“EPF10K10LC84-4”。圖3-29選擇目標(biāo)器件
(4)選擇綜合器和仿真器。
點(diǎn)擊圖3-29中的“Next”按鈕,彈出選擇仿真器和綜合器的對(duì)話框“EDAToolSettings”,如圖3-30所示。如果選擇默認(rèn)的“None”,則表示選擇QuartusⅡ自帶的綜合器和仿真器,也可以選擇其他第三方綜合器和仿真器等專業(yè)EDA工具。圖3-30選擇仿真器和綜合器
(5)結(jié)束設(shè)置。
點(diǎn)擊“Next”按鈕,出現(xiàn)工程設(shè)置信息顯示窗口,如圖3-31所示,此頁(yè)面對(duì)前面所做的設(shè)置情況做了匯總,點(diǎn)擊“Finish”按鈕,即完成了當(dāng)前工程的創(chuàng)建。在工程管理窗口中,出現(xiàn)當(dāng)前工程的層次結(jié)構(gòu)顯示。圖3-31工程設(shè)置信息顯示3.4.2設(shè)計(jì)輸入
1.建立源文件
選擇菜單“File”→“New”,在彈出的“New”對(duì)話框中的“DeviceDesignFiles”頁(yè)面中選擇源文件類型,這里選擇“BlockDiagram/SchematicFile”類型,如圖3-32所示,即可出現(xiàn)如圖3-33所示的原理圖文件的編輯界面。點(diǎn)擊保存按鈕,將源文件保存為half_adder.bdf即可。圖3-32選擇設(shè)計(jì)文件類型對(duì)話框圖3-33原理圖編輯界面
2.輸入圖元
(1)選擇工具按鈕有效時(shí),在圖形編輯器窗口空白處單擊鼠標(biāo)左鍵以確定輸入位置。
(2)然后單擊鼠標(biāo)右鍵,選擇“Insert”→“Symbol”,或者在輸入位置雙擊鼠標(biāo)左鍵,出現(xiàn)如圖3-34所示的“Symbol”對(duì)話框。圖3-34輸入元件對(duì)話框
(3)在符號(hào)庫(kù)“Libraries”框中點(diǎn)擊“?+?”按鈕,擴(kuò)展d:/altera/quartus50/libraries/?文件夾,同樣擴(kuò)展“primitives/logic”文件夾。在logic文件夾中選擇二輸入與門圖元(and2),也可以直接在圖元名稱對(duì)話框中輸入and2,在Symbol對(duì)話框中就出現(xiàn)and2圖元的預(yù)覽圖。點(diǎn)擊“OK”按鈕以后,在所希望的地方點(diǎn)擊左鍵,即可插入and2圖元。
重復(fù)上述三步,就可連續(xù)選取異或門(xor)、輸入引腳(input)、輸出引腳(output)等圖元,如圖3-35所示。圖3-35在原理圖中調(diào)入元器件
3.連接圖元及模塊
當(dāng)鼠標(biāo)位于一個(gè)符號(hào)的引腳上或模塊的邊沿時(shí),“智能”連接工具自動(dòng)變成十字形的畫線指針。然后可以按住鼠標(biāo)左鍵拖動(dòng)鼠標(biāo),繪出一條線,松開鼠標(biāo)按鍵即可完成一次操作。將鼠標(biāo)箭頭放在連線的一端,鼠標(biāo)光標(biāo)也會(huì)變成“?+?”字形,此時(shí)可以接著畫線。細(xì)線表示單根線,粗線表示總線,總線的寬度可從元件符號(hào)的標(biāo)識(shí)上看出。按照上述方法將這些元件進(jìn)行連接,構(gòu)成半加器,最后的半加器原理電路如圖3-36所示。圖3-36半加器原理電路3.4.3項(xiàng)目編譯
1.編譯前的設(shè)置
如果前面沒有選定或要修改的話,可選擇“Assignments”→“Settings”項(xiàng),在彈出的對(duì)話框左邊欄中選“Device”項(xiàng)來(lái)設(shè)定器件,設(shè)定好器件后,再點(diǎn)擊“Device&PinOptions”選擇窗,從中選擇“Configuration”頁(yè)面,選擇器件的配置方式,這里選擇PassiveSerial(被動(dòng)串行)方式,即由PC或EPC配置器件來(lái)對(duì)目標(biāo)器件進(jìn)行配置,以上配置如圖3-37所示。在圖3-37中點(diǎn)擊“ProgrammingFiles”標(biāo)簽,出現(xiàn)如圖3-38所示的選擇配置文件格式的頁(yè)面,可用于器件配置編程的文件格式有:.ttf、.rbf、.jam、.jbc和.hexout等,設(shè)計(jì)者可根據(jù)需要選擇其中一種或幾種文件格式,這樣編譯器在編譯后會(huì)自動(dòng)生成該格式的配置文件供用戶使用。圖3-37選擇配置方式和配置器件在圖3-38中點(diǎn)擊打開“UnusedPins”頁(yè)面,可將目標(biāo)器件閑置引腳設(shè)置為高阻輸入狀態(tài),或低電平輸出狀態(tài),或輸出不定狀態(tài),也可以不做任何選擇。
圖3-38選擇配置文件格式還可以選擇編譯模式,選擇菜單“Assignments”→“Settings”,在出現(xiàn)的如圖3-39所示的“Settings”窗口中,點(diǎn)擊“CompilationProcessSettings”項(xiàng),出現(xiàn)模式過(guò)程設(shè)置窗口,在圖中選擇“UseSmartcompilation”和“Preservefewernodenamestosavediskspace”選項(xiàng),這樣可使得每次的重復(fù)編譯運(yùn)行得更快。圖3-39選擇編譯模式
2.編譯
如果只想進(jìn)行其中某一項(xiàng)或某幾項(xiàng)編譯,可選擇菜單“Tools”→“CompilerTool”,即可出現(xiàn)圖3-40所示的編譯工具,圖中包括分析和綜合器(Analysis?&?Synthesis)、適配器(Fitter)、裝配器(Assembler)、定時(shí)分析器(TimingAnalyzer)、網(wǎng)表文件提取器(EDANetlistWriter)等,點(diǎn)擊每個(gè)工具前面的小圖標(biāo)可單獨(dú)啟動(dòng)每個(gè)編譯器,如果點(diǎn)擊“Start”按鈕,則啟動(dòng)了整個(gè)編譯過(guò)程。圖3-40設(shè)定編譯工具3.4.4仿真驗(yàn)證
1.打開波形編輯器
選擇菜單“File”→“New”,在“New”窗口中選擇“OtherFiles”頁(yè)面中的“VectorWaveformFile”選項(xiàng),點(diǎn)擊“OK”按鈕,即出現(xiàn)波形編輯窗口。
2.輸入信號(hào)節(jié)點(diǎn)
選擇菜單“View”→“UtilityWindows”→“NodeFinder”,出現(xiàn)如圖3-41所示的對(duì)話框,在“Filter”框中選擇“Pins:all”,再點(diǎn)擊“List”按鈕,即在下面的“NodesFound”框中出現(xiàn)本設(shè)計(jì)項(xiàng)目中的所有端口引腳列表,從端口列表中選擇所需要的,并逐個(gè)拖到波形編輯器窗口中。圖3-41輸入信號(hào)節(jié)點(diǎn)
3.編輯輸入信號(hào)波形
點(diǎn)擊波形編輯窗口中的全屏顯示按鈕,使窗口全屏顯示,使用波形編輯窗口中的各種波形賦值快捷鍵,編輯各輸入信號(hào)的激勵(lì)波形,如圖3-42所示。另外,還需要設(shè)置仿真時(shí)間區(qū)域,以使仿真時(shí)間設(shè)置在一個(gè)合理的區(qū)域上,選擇菜單“Edit”→“EndTime”,在彈出的“Time”窗口中鍵入2,單位選擇“μs”,即仿真時(shí)長(zhǎng)為2μs(缺省時(shí)間為1μs)。圖3-42編輯輸入信號(hào)波形還可以設(shè)置各個(gè)信號(hào)的數(shù)據(jù)格式,如圖3-43所示,有5種數(shù)據(jù)格式可供選擇:Binary(二進(jìn)制)、Hexadecimal(十六進(jìn)制)、Octal(八進(jìn)制)、SignedDecimal(有符號(hào)十進(jìn)制)、UnsignedDecimal(無(wú)符號(hào)十進(jìn)制)。本例中將所有信號(hào)都設(shè)置為二進(jìn)制格式(Binary)即可。圖3-43設(shè)置信號(hào)數(shù)據(jù)格式
4.仿真器參數(shù)設(shè)置
選擇“Assignments”→“Settings”項(xiàng),在彈出的對(duì)話框中選“FitterSettings”項(xiàng)下的“Simulator”,在出現(xiàn)的Simulator設(shè)計(jì)頁(yè)面(如圖3-44所示)中選擇仿真模式。仿真模式有功能仿真(Functional)和時(shí)序仿真(Timing)兩種,這里選擇時(shí)序仿真模式。還可以設(shè)置其他一些選項(xiàng),如在時(shí)序仿真模式下可選擇毛刺檢測(cè)的寬度(圖中設(shè)為1?ns)。圖3-44設(shè)置仿真模式
5.觀察仿真結(jié)果
選擇菜單“Processing”→“StartSimulation”,或點(diǎn)擊按鈕,即啟動(dòng)仿真器。仿真完成后,可查看輸出波形,以檢驗(yàn)所設(shè)計(jì)電路的功能是否正確??尚薷脑O(shè)計(jì),重新執(zhí)行以上的過(guò)程,直到完全滿足自己的設(shè)計(jì)要求為止。1位半加器的時(shí)序仿真輸出波形如圖3-45所示。圖3-451位半加器時(shí)序仿真輸出波形3.4.5引腳分配
(1)依次選擇菜單“Assignments”→“AssignmentEditor”命令,在分配編輯器的“Category”列表中選擇“LocationsPin”,或直接選擇“Assignments”→“Pins”菜單命令,出現(xiàn)如圖3-46所示的引腳分配界面。圖3-46AssignmentEditor的引腳分配界面
(2)在AssignmentEditor的引腳分配界面中,雙擊“To”單元,將彈出包含所有引腳的下拉列表框,從中選擇一個(gè)引腳名。圖3-47目標(biāo)器件引腳號(hào)指定界面
(3)雙擊“Location”單元,從下拉列表框中可以指定目標(biāo)器件引腳號(hào),如圖3-47所示。(結(jié)果如圖3-48所示。)
(4)完成所有設(shè)計(jì)中引腳的指定,關(guān)閉AssignmentEditor界面,當(dāng)提示保存分配時(shí),選擇“是”保存分配。
(5)圖3-48所示為引腳鎖定的器件平面視圖。圖3-48器件平面視圖3.4.6器件編程
使用QuartusⅡ5.0軟件成功進(jìn)行工程的編譯設(shè)計(jì)后,就可以對(duì)Altera器件進(jìn)行編程或配置了。QuartusⅡ5.0編譯器的Assembler模塊自動(dòng)將適配過(guò)程的器件、邏輯單元和引腳分配信息轉(zhuǎn)換為器件的編程圖像,并將這些圖像以目標(biāo)器件的編程對(duì)象文件(.pof)或SRAM對(duì)象文件(.sof)的形式保存為編程文件,QuartusⅡ5.0軟件的編程器使用該文件對(duì)器件進(jìn)行編程配置。3.5混合輸入設(shè)計(jì)方法
3.5.1創(chuàng)建工程
采用與前面兩種設(shè)計(jì)輸入方法相同的步驟,利用“NewProjectWizard”建立一個(gè)新的工程,工程名為full_adder,目標(biāo)器件為EPF10K10LC84-4,再完成其他一些必要的設(shè)置。所得工程設(shè)計(jì)信息如圖3-49所示。圖3-49工程設(shè)置信息顯示3.5.2電路模塊設(shè)計(jì)
1位全加器的設(shè)計(jì)包括三個(gè)模塊,即底層兩輸入或門模塊orm2.vhd、半加器模塊half_adder.vhd以及頂層全加器模塊full_adder.bdf。其中orm2.vhd和half_adder.vhd使用VHDL編寫,full_adder.bdf則采用原理圖實(shí)現(xiàn)。全加器是通過(guò)調(diào)用一個(gè)orm2.vhd和兩個(gè)half_adder.vhd組裝成一個(gè)完整的設(shè)計(jì)實(shí)體full_adder而實(shí)現(xiàn)的。下面我們首先實(shí)現(xiàn)orm2.vhd,half_adder.vhd兩個(gè)模塊的VHDL編寫,然后生成兩個(gè)電路模塊以供頂層調(diào)用。
在QutartusⅡ的集成環(huán)境中,點(diǎn)擊按鈕,或選擇菜單“File”→“New”→“VHDLFile”,出現(xiàn)如圖3-50所示的文本編輯窗口。圖3-50文本編輯窗口
【例3.2】?jī)奢斎牖蜷T的源程序orm2.vhd。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYorm2IS
PORT(a,b:INSTD_LOGIC;
c:OUTSTD_LOGIC);
ENDENTITYorm2;
ARCHITECTURErtlOForm2IS
BEGIN
c<=aORb;
ENDARCHITECTURErtl;輸入完畢后,選擇菜單“File”→“Save”,即出現(xiàn)如圖3-51所示的對(duì)話框。保存文件名為orm2.vhd,點(diǎn)擊“保存”按鈕即可。
文件保存后,為了能在圖形編輯器中調(diào)用orm2,需要為orm2.vhd創(chuàng)建一個(gè)元件圖形符號(hào)。選擇“File”→“Create/Update”
→“CreateSymbolFilesforCurrentFile”,QuartusⅡ調(diào)出編譯器對(duì)orm2.vhd進(jìn)行編譯,編譯后生成orm2的圖形符號(hào)。圖3-51保存文件orm2.vhd
【例3.3】半加器的VHDL源程序half_adder.vhd。
LIBRARYIEEE;
USEIEEE.STD_LOGIC_1164.ALL;
ENTITYhalf_adderIS
PORT(a,b:INSTD_LOGIC;
co,so:OUTSTD_LOGIC);
ENDENTITYhalf_adder;
ARCHITECTURErtlOFhalf_adderIS
BEGIN
so<=(aORb)AND(aNANDb);
co<=NOT(aNANDb);
ENDARCHITECTURErtl;3.5.3頂層設(shè)計(jì)
選擇菜單“File”→“New”,出現(xiàn)如圖3-52所示的對(duì)話框,選擇“BlockDiagram/SchematicFile”,點(diǎn)擊“OK”按鈕,即可出現(xiàn)原理圖編輯窗口?,F(xiàn)按照以下給出的方法在原理圖編輯窗口中繪出如圖3-55所示的原理圖。圖3-52輸入文件類型選擇對(duì)話框
(1)添加元件。先在圖形編輯器中的任何位置雙擊鼠標(biāo),將出現(xiàn)如圖3-53所示的“Symbol”對(duì)話框。通過(guò)鼠標(biāo)選擇一個(gè)元件符號(hào),或直接在“Name”框中輸入元件符號(hào)名。按“OK”按鈕,選中元件符號(hào)立即出現(xiàn)在圖形編輯窗中雙擊過(guò)鼠標(biāo)的位
置上。圖3-53輸入元件對(duì)話框從圖3-53可以看出,在“Libraries”的當(dāng)前項(xiàng)目(Project)下已有兩個(gè)元件符號(hào):orm2和half_adder,即為剛才輸入的兩個(gè)VHDL文件所對(duì)應(yīng)的元件符號(hào)。用鼠標(biāo)選擇其中一個(gè)元件,并雙擊該元件,即進(jìn)入原理圖編輯窗口。然后重復(fù)此操作,將一個(gè)orm2、兩個(gè)half_adder元件調(diào)入原理圖編輯器。用鼠標(biāo)左鍵按在元件上拖動(dòng),即可移動(dòng)元件,安排好它們的位置,如圖
3-54所示。接著可為一個(gè)orm2、兩個(gè)half_adder元件加上輸入/輸出接口。輸入/輸出接口符號(hào)名為“input”和“output”。在庫(kù)“primitives”下,點(diǎn)擊“pin”左邊的“+”符號(hào),出現(xiàn)輸入/輸出接口符號(hào),選擇“input”和“output”元件使其進(jìn)入原理圖編輯器。圖3-54原理圖編輯窗口
(2)符號(hào)之間連線。在圖3-54所示的編輯窗口中,將鼠標(biāo)箭頭移到元件符號(hào)的輸入/輸出引腳上,鼠標(biāo)箭頭形狀會(huì)變成“+”形狀,然后可以按住鼠標(biāo)左鍵拖動(dòng)鼠標(biāo),繪出一條線,松開鼠標(biāo)按鍵即可完成一次操作。將鼠標(biāo)箭頭放在連線的一端,鼠標(biāo)光標(biāo)也會(huì)變成“+”形狀,此時(shí)可以接著畫線。
(3)設(shè)置輸入/輸出引腳名。full_adder.bdf中有三個(gè)輸入引腳:ain、bin和cin;兩個(gè)輸出引腳:sout和cout。雙擊輸入/輸出元件的左端文字,即可修改其名稱,這樣完成的頂層原理圖設(shè)計(jì)如圖3-55所示。最后選擇“File”→“Save”菜單,將此頂層原理圖取名為full_adder.bdf并保存。圖3-551位全加器的頂層原理圖3.5.4仿真驗(yàn)證
選擇菜單“File”→“New”,在“New”窗口中選擇“OtherFiles”頁(yè)面中的“VectorWaveformFile”選項(xiàng),點(diǎn)擊“OK”按鈕,即出現(xiàn)波形編輯窗口。然后根據(jù)前面介紹的方法,將輸入/輸出信號(hào)加入波形編輯器,使用波形編輯窗口中的各種波形賦值快捷鍵,編輯各輸入信號(hào)的激勵(lì)波形如圖3-56所示。圖3-56設(shè)置了輸入信號(hào)的波形編輯器這里設(shè)定仿真模式選擇為功能仿真,選擇菜單“Processing”→“StartSimulation”,或者點(diǎn)擊按鈕,即啟動(dòng)仿真器工作。仿真完成后,可通過(guò)查看輸出波形檢驗(yàn)所設(shè)計(jì)電路的功能是否正確。如不正確,可修改設(shè)計(jì),重新執(zhí)行以上的過(guò)程,直到完全滿足自己的設(shè)計(jì)要求為止。1位全加器的功能仿真波形如圖3-57所示。圖3-571位全加器的功能仿真波形3.5.5引腳分配
(1)依次選擇“Assignments”→“AssignmentEditor”菜單命令,在分配編輯器的“Category”列表中選擇“LocationsPin”,或直接選擇“Assignments”→“Pins”菜單命令,出現(xiàn)如圖3-58所示的引腳分配界面。圖3-58AssignmentEditor的引腳分配界面
(2)在AssignmentEditor的引腳分配界面中,雙擊“To”單元,將彈出包含所有引腳的下拉列表框,從中選擇一個(gè)引腳名。
(3)雙擊“Location”單元,從下拉列表框中可以指定目標(biāo)器件引腳號(hào),如圖3-59所示。圖3-59目標(biāo)器件引腳號(hào)指定界面
(4)完成所有設(shè)計(jì)中引腳的指定,關(guān)閉AssignmentEditor界面,當(dāng)提示保存分配時(shí),選擇“是”保存分配。
(5)圖3-60所示為引腳鎖定的器件平面視圖。
(6)在進(jìn)行編輯之前,檢查引腳分配是否合法。選擇“Processing”→“Start”→“StartI/OAssignmentAnalysis”菜單命令,當(dāng)提示I/O分配分析成功時(shí),單擊“OK”按鈕關(guān)閉提示。圖3-60器件平面視圖3.6調(diào)用宏功能模塊設(shè)計(jì)方法
3.6.1宏功能模塊概述
1.?LPM宏功能模塊
AlteraLPM宏功能模塊是一些復(fù)雜或高級(jí)的構(gòu)建模塊,可以在QuartusⅡ設(shè)計(jì)文件中與門、觸發(fā)器等基本單元一起使用,這些模塊的功能一般都是通用的,如Counter、FIFO、RAM等。
Altera提供的可參數(shù)化LPM宏功能模塊和LPM函數(shù)均針對(duì)Altera器件結(jié)構(gòu)做了優(yōu)化,而且必須使用宏功能模塊才可以使用一些Altera特定器件的功能,例如存儲(chǔ)器、鎖相環(huán)PLL、串并收發(fā)單元SERDES、DDIO電路等。
2.?Altera的IP核
Altera除了提供一些基本宏功能模塊以外,還提供了一些比較復(fù)雜、相對(duì)比較通用的功能模塊,如UART、PCI、SDRAM等。這些就是Altera可提供的IP庫(kù),也稱MegaCore。
Altera的MegaCore主要有數(shù)字信號(hào)處理、通信、接口和外設(shè)以及微處理器四類。
Altera或AMPP的IP使用統(tǒng)一的IPToolbench界面來(lái)定制和生成IP文件。所有的IP核可以支持功能仿真模型,絕大部分IP核支持OpenCorePlus,即用戶可以免費(fèi)在實(shí)際器件中驗(yàn)證所用的IP核(用戶必須把所有器件通過(guò)JTAG電纜連到PC機(jī)上,否
則IP核電路不會(huì)工作),直到用戶覺得沒有問(wèn)題,再購(gòu)買IP許可證。
Altera需要授權(quán)使用的知識(shí)產(chǎn)權(quán)MegaCore,專門針對(duì)Altera的可編程器件進(jìn)行過(guò)優(yōu)化和測(cè)試,一般需要用戶付費(fèi)購(gòu)買才能使用。這些模塊可以從Altera網(wǎng)站上下載,安裝后就可以在QuartusⅡ軟件以及實(shí)際系統(tǒng)中進(jìn)行使用和評(píng)估。用戶對(duì)需用的IP核滿意后,可以聯(lián)系A(chǔ)ltera以購(gòu)買使用權(quán)許可證。3.6.2文本方式調(diào)用功能模塊
1.創(chuàng)建工程
利用“NewProjectWizard”建立一個(gè)新的工程,工程名為counter24,目標(biāo)器件為EPF10K10LC84-4,再完成其他一些必要的設(shè)置。所得工程設(shè)計(jì)信息如圖3-61所示。圖3-61創(chuàng)建工程信息顯示
2.定制功能模塊
(1)打開“MegaWizardPlug-InManager”初始對(duì)話框。在“Tools”菜單中選擇“MegaWizardPlug-InManager”,產(chǎn)生如圖3-62所示的界面,選擇“Createanewcustommegafunctionvariation”項(xiàng),即定制一個(gè)新的模塊。單擊“Next”按鈕后,產(chǎn)
生如圖3-63所示的對(duì)話框,在左欄選擇“arithmetic”項(xiàng)下的LPM_COUNTER”,再選擇FLEX10K器件和VHDL語(yǔ)言方式,單擊“Next”按鈕。圖3-62定制新的功能模塊圖3-63LPM功能模塊設(shè)定
(2)選擇計(jì)數(shù)器的輸出數(shù)據(jù)總線寬度及計(jì)數(shù)方式,這里設(shè)定為5位,計(jì)數(shù)方式為加法計(jì)數(shù),如圖3-64所示。圖3-64設(shè)定輸出數(shù)據(jù)總線寬度和計(jì)數(shù)方式
(3)點(diǎn)擊“Next”按鈕后,出現(xiàn)如圖3-65所示的界面,在“Whichtypeofcounterdoyouwant?”欄,將計(jì)數(shù)器設(shè)置為模
24計(jì)數(shù)器;在選擇附加選項(xiàng)中選擇進(jìn)位輸出端(Carry-out)。圖3-65選擇計(jì)數(shù)器類型及其他附加選項(xiàng)
(4)點(diǎn)擊“Next”按鈕,出現(xiàn)如圖3-66所示的界面,進(jìn)行可選輸入端的設(shè)置,這里選擇異步清零端。圖3-66可選輸入端設(shè)置
(5)點(diǎn)擊圖3-66中的“Next”按鈕,出現(xiàn)如圖3-67所示的定
制信息顯示界面,點(diǎn)擊“Finish”按鈕,即可完成對(duì)計(jì)數(shù)模塊的定制。圖3-67LPM_COUNTER定制信息顯示
3.文本方式輸入
在QuartusⅡ5.0管理器界面中選擇菜單“File”→“New”,或單擊新建文件圖標(biāo),出現(xiàn)“New”對(duì)話框,如圖3-68所示。在對(duì)話框中選擇“VHDLFile”,點(diǎn)擊“OK”按鈕,打開文本編輯器。圖3-68新建文本文件對(duì)話框選擇菜單“File”→“Save”或單擊保存文件圖標(biāo),保存文件,選中對(duì)話框下端的可選項(xiàng)“Addfiletocurrentproject”,如圖3-69所示,文件在保存的同時(shí)被添加到項(xiàng)目count中,作為頂層實(shí)體文件。圖3-69保存文本文件counter24.vhd
【例3.4】模2
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年度冷鏈物流空調(diào)清洗消毒與防凍服務(wù)合同2篇
- 2025年度企業(yè)內(nèi)部員工保密協(xié)議(新修訂)5篇
- 二零二五年度國(guó)際會(huì)議兼職同聲傳譯及外教聘請(qǐng)協(xié)議3篇
- 2025年香港建筑工程合同正規(guī)范本標(biāo)準(zhǔn)版6篇
- 二零二五年度城市污水處理廠承包管理服務(wù)協(xié)議4篇
- 二零二五年度大型活動(dòng)現(xiàn)場(chǎng)解說(shuō)配音合作協(xié)議4篇
- 2025年噴灌系統(tǒng)節(jié)水技術(shù)創(chuàng)新合作合同4篇
- 2025年度農(nóng)產(chǎn)品供應(yīng)鏈金融合作協(xié)議-@-1
- 二零二五年度展覽館場(chǎng)地租賃與展會(huì)組織服務(wù)合同3篇
- 2025年金融科技支付系統(tǒng)開發(fā)與運(yùn)營(yíng)合同3篇
- 茉莉花-附指法鋼琴譜五線譜
- 結(jié)婚函調(diào)報(bào)告表
- SYT 6968-2021 油氣輸送管道工程水平定向鉆穿越設(shè)計(jì)規(guī)范-PDF解密
- 冷庫(kù)制冷負(fù)荷計(jì)算表
- 肩袖損傷護(hù)理查房
- 設(shè)備運(yùn)維管理安全規(guī)范標(biāo)準(zhǔn)
- 辦文辦會(huì)辦事實(shí)務(wù)課件
- 大學(xué)宿舍人際關(guān)系
- 2023光明小升初(語(yǔ)文)試卷
- GB/T 14600-2009電子工業(yè)用氣體氧化亞氮
- 申請(qǐng)使用物業(yè)專項(xiàng)維修資金征求業(yè)主意見表
評(píng)論
0/150
提交評(píng)論