版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第5章EDA實(shí)踐入門5.1可編程邏輯器件與QuartusII軟件簡介5.2
QuartusII軟件的基本操作5.3基于FPGA的組合邏輯電路實(shí)驗(yàn)5.4基于FPGA的時(shí)序邏輯電路實(shí)驗(yàn)5.5基于FPGA的數(shù)字電子鐘設(shè)計(jì)5.1可編程邏輯器件與QuartusⅡ軟件簡介
大規(guī)模PLD器件大致包含兩種類型的器件:
(1)內(nèi)部結(jié)構(gòu)以基本門單元為基礎(chǔ),構(gòu)成門單元
陣列,可編程的連線分布在門單元與門單元之間的布線區(qū)。這種結(jié)構(gòu)一般稱為FPGA(FieldProgrammableGateArray,現(xiàn)場可編程門陣列)。(2)內(nèi)部結(jié)構(gòu)以可編程的宏邏輯單元為基礎(chǔ),可編程的連線集中在一個(gè)全局布線區(qū)。這種結(jié)構(gòu)一般稱為CPLD
(ComplexProgrammableLogicDevice,復(fù)雜的可編程邏輯器件)。
制作ASIC的方法可粗略分為兩類:
(1)一類是掩膜方法,即由集成電路廠商制造,這種方法要求設(shè)計(jì)非常成熟,且研究開發(fā)初期費(fèi)用大,設(shè)計(jì)周期也較長,適用于需求量很大的場合。(2)另一類則是現(xiàn)場可編程方法,也就是由數(shù)字系統(tǒng)的設(shè)計(jì)者借助于集成電路設(shè)計(jì)工具軟件和PLD空白芯片在實(shí)驗(yàn)室中自行制作ASIC。顯然,這種方法設(shè)計(jì)時(shí)間短,費(fèi)用低,一個(gè)不太大的系統(tǒng)可能只需數(shù)天即可完成。因而適用于產(chǎn)量不大,升級換代迅速的產(chǎn)品。
QuartusⅡ包括以下功能:系統(tǒng)級設(shè)計(jì),嵌入式軟件開發(fā),可編程邏輯器件(PLD)設(shè)計(jì)、綜合、布局和布線、驗(yàn)證和仿真,支持Altera公司主流CPLD/FPGA全部系列硬件。使用QuartusⅡ軟件進(jìn)行基于CPLD/FPGA的數(shù)字系統(tǒng)開發(fā)的過程中,在支持的器件種類、編譯選項(xiàng)、優(yōu)化選項(xiàng)、IP(數(shù)字系統(tǒng)設(shè)計(jì)方面的知識產(chǎn)權(quán))模塊、適配速度及準(zhǔn)確性等方面得到了極大的提高。它提供原理圖輸入和硬件描述語言輸入等多種描述方式。
QuartusⅡ提供了可編程片上系統(tǒng)(SOPC)設(shè)計(jì)的一個(gè)綜合開發(fā)環(huán)境,是進(jìn)行SOPC設(shè)計(jì)的基礎(chǔ)。QuartusⅡ與多種第三方EDA工具軟件的文件格式兼容,從而形成了一個(gè)完整的可編程、可重構(gòu)的SOPC設(shè)計(jì)平臺。
5.2
QuartusⅡ軟件的基本操作
對于一般的數(shù)字電路部件或數(shù)字系統(tǒng)設(shè)計(jì),
QuartusⅡ的基本流程如圖5-1所示。如果FPGA安裝在實(shí)驗(yàn)裝置上,在項(xiàng)目編譯前必須規(guī)劃引腳分配,否則可由QuartusⅡ任意分配輸入、輸出端口引腳。圖5-1
QuartusⅡ應(yīng)用基本流程5.2.1創(chuàng)建一個(gè)新的設(shè)計(jì)項(xiàng)目
1.啟動(dòng)QuartusⅡ
啟動(dòng)QuartusⅡ9.0,出現(xiàn)如圖5-2所示界面。圖5-2
QuartusⅡ9.0軟件界面
QuartusⅡ9.0軟件界面的右上方為常用工具條,其中的圖標(biāo)如圖5-3所示。當(dāng)鼠標(biāo)定位在快捷圖標(biāo)上時(shí),圖標(biāo)下顯示功能名稱。如果界面中沒有顯示工具條,可以執(zhí)行菜單命令Tools→Customize...,切換到Toolbars標(biāo)簽頁,在常用工具條StandardQuartusⅡ選項(xiàng)前打勾。圖5-3常用工具條部分圖標(biāo)說明
2.新建項(xiàng)目
(1)點(diǎn)擊File→NewProjectWizard...(新建項(xiàng)目向?qū)В?,或者File→New→NewQuartusⅡProject,點(diǎn)擊Next,彈出如圖5-4所示對話框。圖5-4指定項(xiàng)目路徑、項(xiàng)目名(2)在圖5-4界面的第一欄內(nèi)鍵入盤符、子目錄和項(xiàng)目目錄,如d:\12345\fa。一般子目錄存放在某數(shù)據(jù)盤的根目錄下(C盤受保護(hù)),子目錄名應(yīng)具有個(gè)人的特征。建議為每個(gè)項(xiàng)目單獨(dú)建一個(gè)項(xiàng)目目錄,名字最好有實(shí)際含義。也可點(diǎn)擊該欄右的瀏覽按鈕選擇已經(jīng)存在的目錄路徑。(3)在圖5-4界面的第二欄內(nèi)鍵入項(xiàng)目名稱,則第三欄內(nèi)會自動(dòng)出現(xiàn)與項(xiàng)目名同名的頂層源文件名。如建立全加器fa項(xiàng)目,頂層源文件名也為fa。項(xiàng)目名和頂層源文件名不能與軟件自帶的器件同名,最好采用英文字母和數(shù)字、符號的組合,不要使用中文字符,不要有空格。(4)點(diǎn)擊Next,如果項(xiàng)目目錄原來不存在,則彈出提示框,提醒是否要?jiǎng)?chuàng)建這個(gè)目錄。點(diǎn)擊Yes,QuartusⅡ會自動(dòng)創(chuàng)建新目錄,并彈出圖5-5所示的添加文件選項(xiàng)框。如果需要導(dǎo)入其它路徑下已存在的源文件或用戶庫,可點(diǎn)擊Filename欄旁的瀏覽按鈕進(jìn)行查找選擇。本項(xiàng)目的所有設(shè)計(jì)文件和用戶庫在后面一一建立,所以現(xiàn)在無需添加。圖5-5添加設(shè)計(jì)文件、用戶庫(5)點(diǎn)擊Next,彈出圖5-6所示的界面,選擇器件系列FLEX10K和具體的芯片型號EPF10K10TC144-4,右邊的三個(gè)約束選項(xiàng)框Package(封裝形式)、Pincount(引腳數(shù)
目)和Speedgrade(速度)若均選Any,則沒有約束,顯示所有的型號;如Pincount選擇144,則只顯示有144個(gè)引腳的型號。需要注意的是,若項(xiàng)目設(shè)置的器件系列和型號與用戶系統(tǒng)中的可編程器件系列和型號不同,則設(shè)計(jì)編程文件不能下載到器件中。本項(xiàng)目所使用的硬件平臺(LP-2900實(shí)驗(yàn)儀)上,F(xiàn)PGA芯片已經(jīng)選定了EPF10K10TC144-4,所以必須選定這一款芯片。在一般設(shè)計(jì)場合可以僅選定器件系列,而具體的型號可以讓軟件自動(dòng)選擇最適合該項(xiàng)目的器件,也可以自己選定一個(gè)具體型號。圖5-6選擇器件系列和器件型號(6)點(diǎn)擊Next,出現(xiàn)添加第三方EDA工具的選項(xiàng)框,一般不需選擇直接進(jìn)入下一步。
(7)點(diǎn)擊Next,顯示所建項(xiàng)目的所有信息。
(8)點(diǎn)擊Finish,則新建項(xiàng)目完成。
(9)新項(xiàng)目創(chuàng)建也可以在如圖5-4所示的項(xiàng)目目錄和頂層文件名后就點(diǎn)擊Finish完成。其它項(xiàng)目設(shè)置可隨時(shí)在如圖5-7所示的Settings選項(xiàng)框進(jìn)行。圖5-7工程設(shè)置對話框圖5-7左邊種類(Category)框中的部分功能如表5-1
所示。5.2.2源文件輸入
一個(gè)設(shè)計(jì)項(xiàng)目由一個(gè)或多個(gè)源文件組成,這些源文件有多種不同的輸入方式,對應(yīng)不同的文件格式,如表5-2所示。本例采用圖形輸入方式中的原理圖輸入。
1.新建一個(gè)原理圖文件
選擇File→New...菜單,或者點(diǎn)擊工具欄中圖標(biāo),彈出如圖5-8所示的新建設(shè)計(jì)文件選擇窗口。創(chuàng)建圖形設(shè)計(jì)文件時(shí),應(yīng)選擇DesignFiles下的BlockDiagram/SchematicFile,點(diǎn)擊OK按鈕,打開圖形編輯器,如圖5-9所示,圖中標(biāo)明了每個(gè)按鈕的功能。圖5-8新建設(shè)計(jì)文件選擇窗口圖5-9圖形編輯器窗口(1)圖形編輯器的環(huán)境參數(shù)設(shè)置。選擇Tools→Options進(jìn)入Options窗口,選中Block/SymbolEditor選項(xiàng)進(jìn)行背景和符號顏色(Colors)、文字字體和大小(Fonts)的修改,也可切換編輯區(qū)柵格顯示/隱藏(Show
guidelines)、設(shè)置柵格間距(GuidelineSpacing)、引腳分配顯示/隱藏(Showlocationassignments)等。
2.符號輸入
(1)在圖5-9所示的圖形編輯器窗口的工作區(qū)中雙
擊鼠標(biāo)左鍵,或點(diǎn)擊“符號工具”按鈕,或選擇菜單Edit→InsertSymbol...,則彈出如圖5-10所示的Symbol對
話框。圖5-10
Symbol對話框(2)在Name欄直接輸入元件名稱,或用鼠標(biāo)點(diǎn)擊單元庫前面的加號(+),直到使所有庫中的元件以列表的方式顯示出來;選擇所需要的元件符號,該符號就顯示在Symbol對話框的右邊;回車或點(diǎn)擊OK按鈕或雙擊鼠標(biāo)左鍵,所選符號將顯示在圖5-9的圖形文件編輯區(qū)并粘在光標(biāo)上,在合適的位置點(diǎn)擊鼠標(biāo)左鍵即可放置該符號。(3)重復(fù)放置或復(fù)制相同的元件符號。當(dāng)Symbol框左下方重復(fù)輸入(Repeatinsertmode)項(xiàng)有效時(shí),元件符號放置后,鼠標(biāo)上會自動(dòng)出現(xiàn)新的符號,可以反復(fù)放置直到按下Esc鍵或點(diǎn)擊快捷圖標(biāo)或點(diǎn)擊鼠標(biāo)右鍵,執(zhí)行Cancel命令取消重復(fù)放置符號操作。(4)在圖形編輯區(qū)分別放置符號名稱為xor、and2、2個(gè)input和2個(gè)output的符號。
QuartusⅡ的常用元件命名如表5-3所示。邏輯門名稱后的數(shù)字表示門的輸入端數(shù)。觸發(fā)器以ff命名,前冠觸發(fā)器激勵(lì)屬性,如sr、d、jk、t等。元件命名具有以下特點(diǎn):當(dāng)邏輯門或功能元件名稱前加“n”,表示邏輯門反相輸出或功能元件低電平輸出有效。
當(dāng)邏輯門或觸發(fā)器名稱前加“b”,表示邏輯門或觸發(fā)器的輸入反相。
當(dāng)邏輯門或觸發(fā)器名稱前加“d”,表示邏輯門或觸發(fā)器有兩個(gè)互補(bǔ)的輸出。當(dāng)邏輯門或觸發(fā)器名稱前加“t”,表示邏輯門或觸發(fā)器為三態(tài)輸出。
當(dāng)功能模塊名稱后加“b”,表示輸入、輸出信號以總線形式表示。
當(dāng)74系列信號后加“m”或“o”,表示符號為芯片上的一個(gè)元件。比如,74153m是雙四選一數(shù)據(jù)選擇器74LS153中的一個(gè)選擇器,74112o是雙JK觸發(fā)器74LS112中的一個(gè)JK觸發(fā)器。
(1)基本元件庫(primitives)?;驹靹澐譃榫彌_器(buffer)、邏輯門(logic)、其它符號(other)、端口(pin)、觸發(fā)器(storage)五個(gè)子庫。其中端口(pin)子庫中有三種類型的端口:數(shù)據(jù)可以輸入輸出的雙向端口(bidir)、數(shù)據(jù)只能輸入的端口(input)和數(shù)據(jù)只能輸出的端口(output)。另外四個(gè)庫的常用元件及名稱見表5-4所示。
(2)其它元件庫(others)。others庫中主要包含了與Altera的可編程器件初級開發(fā)平臺maxplus2兼容的所有邏輯器件,包括邏輯門、觸發(fā)器和一些中規(guī)模功能元件,還包括了幾乎所有74系列的數(shù)字邏輯器件,設(shè)計(jì)者可以根據(jù)需要輸入型號調(diào)出元件。比如,輸入“74138”調(diào)出3線-8線譯碼器。表5-5列出了部分元件的名稱。
(3)宏功能元件庫(megafunctions)。宏功能元件庫中包含了很多可修改參數(shù)的宏功能模塊。模塊由Altera的技術(shù)人員開發(fā),用戶可以使用MegaWizardPlugInManager功能自定義變量將它們實(shí)例化,創(chuàng)建符合設(shè)計(jì)需要的自定義模塊符號。宏功能元件庫分為算術(shù)組件子庫(arithmetic)、邏輯門子庫(Gates)、端口子庫(IO)和存儲器子庫(Storage)四個(gè)子庫。庫中的元件屬性名前一般冠有庫參數(shù)模塊(LibraryofParameterizedModules)特征字“l(fā)pm”。算術(shù)組件子庫arithmetic中主要有數(shù)據(jù)位寬可以設(shè)定的加法器(add)、加-減運(yùn)算器(addsub)、乘法器(mult)、除法器(divide)、取絕對值(abs)、數(shù)據(jù)比較器(compare)、累加器(accum)、乘-加運(yùn)算(multadd)及其它一些綜合算術(shù)功能。另外還有計(jì)數(shù)位數(shù)、模
值、計(jì)數(shù)方向(加、減、可逆)、使能控制(無、時(shí)鐘使能、計(jì)數(shù)使能)、預(yù)置清零方式(無、同步、異步)都可根據(jù)需要選擇設(shè)置的計(jì)數(shù)器(counter)。邏輯門子庫(gates)中主要有信號位寬可以設(shè)定的總線選擇器(busmux)、三態(tài)總線(bustri)、譯碼器(decode)、邏輯常量(constant)、數(shù)據(jù)選擇器(mux)和邏輯門(除反相器為inv外,其它邏輯門的屬性名與表5-3相同)。還有位寬(wide)、移位方向(左移、右移、雙
向移位)、移位范圍(distance)可以根據(jù)需要選擇的移位寄存器。其中移位方式可選擇循環(huán)移位、邏輯移位(logic)或算術(shù)移位(arithmetic)。端口子庫(IO)中主要有位寬可以設(shè)定的輸入、輸出端口和雙向端口。
存儲器子庫(Storage)中主要有各類字?jǐn)?shù)、位數(shù)、控制方式可設(shè)定的存儲器,如隨機(jī)存儲器(ram)、閃存(flash)、只讀存儲器(rom)、先入、先出存儲器(fifo)。還有位數(shù)和控制方式可選擇的移位寄存器(shift)、鎖存器(latch)、觸發(fā)器(ff)等。
3.電路連線
(1)點(diǎn)擊圖標(biāo)或或,將鼠標(biāo)放在需要連線的邏輯符號端口處,當(dāng)光標(biāo)呈“十”字形時(shí),按住鼠標(biāo)左鍵拖動(dòng)到連線終點(diǎn)釋放鼠標(biāo)鍵即可。
(2)當(dāng)橡皮筋功能有效時(shí),把兩個(gè)需要相連的元件
符號端口碰在一起后再拉開,兩個(gè)端口之間就自動(dòng)連上了導(dǎo)線。
(3)同大多數(shù)EDA工具相同,QuartusⅡ也支持引線或端口命名設(shè)置網(wǎng)標(biāo)(Netlable)的功能,即命名相同的引線和端口在電路中相連。
引線命名的方法是:在需要命名的引線上點(diǎn)擊一下鼠標(biāo)左鍵,引線變成藍(lán)色,兩端出現(xiàn)小方塊,此時(shí)引線處于被“選中”狀態(tài),然后輸入網(wǎng)標(biāo)名稱。名稱可以是字母、字母組合或字母與數(shù)字組合的形式,如A1、E、BW等。若兩個(gè)需要相連端口為位寬不同的總線,可采用方括號以升序或降序的形式說明各端口或總線的位寬。比如位寬為n,網(wǎng)標(biāo)名為A,則命名可以是
A[n-1..0]或A[0..n-1]。端口是每個(gè)設(shè)計(jì)文件的對外信號,端口符號是基本元件庫(primitives)的pin子庫中的bidir、input和output。端口命名的方法是:選中端口符號,雙擊其默認(rèn)名稱pin_
name,鍵入該端口名稱。也可雙擊輸入、輸出端口符號,彈出端口屬性(PinProperties)對話框,在Pinname[s]中輸入端口名稱。端口也分為單信號或多位寬總線端口,命名規(guī)則與引線相同。半加器電路中我們定義輸入信號為A、B,輸出信號為S、C。
連線完成的半加器電路原理圖文件如圖5-11所示。
原理圖中常用的接地和接電源符號,直接在符號名稱中輸入GND、VCC。圖5-11半加器原理圖
4.保存源文件
選擇File→Save或直接點(diǎn)擊工具條上左起第三個(gè)快捷按鈕,彈出保存文件對話框,如圖5-12所示,選擇好目錄,在文件名欄內(nèi)輸入設(shè)計(jì)文件名ha,選中Addfiletocurrentproject復(fù)選框(一般默認(rèn)已選好),單擊保存按鈕即可保存文件。圖5-12保存文件對話框我們在創(chuàng)建項(xiàng)目時(shí)定義頂層源文件名同項(xiàng)目名fa,現(xiàn)在半加器電路的文件名為ha,所以需要將半加器源文件暫時(shí)設(shè)置成項(xiàng)目的頂層文件,在左上方的項(xiàng)目導(dǎo)航窗口中,切換到File(文件)界面,選中ha.bdf,點(diǎn)擊鼠標(biāo)右鍵,選擇SetasTop-LevelEntity命令即可,見圖5-13所示。圖5-13設(shè)置頂層文件項(xiàng)目導(dǎo)航窗口下方有三個(gè)可以互相切換的標(biāo)簽,分別表示層次(Hierarchy)、文件(Files)和設(shè)計(jì)單元(DesignUnits)。
點(diǎn)擊Hierarchy圖標(biāo),出現(xiàn)實(shí)體窗口Entity,顯示當(dāng)前項(xiàng)目設(shè)計(jì)實(shí)體所選的目標(biāo)器件型號和頂層文件名。點(diǎn)擊頂層文件名,可以拉出其下的各層文件。項(xiàng)目中的文件排列呈樹形結(jié)構(gòu),反映了項(xiàng)目中的文件層次關(guān)系。每個(gè)設(shè)計(jì)文件中使用的邏輯單元(LogicCells)和存儲元數(shù)(LCRegisters)也在窗口中列出。
Files窗口中顯示當(dāng)前項(xiàng)目下的所有設(shè)計(jì)源文件。DesignUnits窗口中顯示當(dāng)前項(xiàng)目下的所有設(shè)計(jì)單元。5.2.3分析與綜合和仿真
1.分析與綜合
(1)啟動(dòng)分析與綜合處理。QuartusⅡ的分析與綜合(Analysis&Synthesis)處理功能僅針對項(xiàng)目進(jìn)行,即處理從項(xiàng)目中的頂層設(shè)計(jì)文件開始。啟動(dòng)QuartusⅡ進(jìn)行分析與綜合處理的方法有以下幾種:
①直接點(diǎn)擊主工具條上的快捷按鈕。
②執(zhí)行主菜單命令Processing→Start→StartAnalysis&Synthesis。
(2)處理過程顯示。在處理過程中若發(fā)現(xiàn)文件有編輯錯(cuò)誤,則彈出如圖5-14所示的窗口,提示Analysis&
Synthesiswasnotsuccessful(αerrors,βwarnings),α和β分別為錯(cuò)誤和警告的個(gè)數(shù)。若信息窗口(Messages)開啟,則在下方顯示處理信息,其中綠色文字為處理功能、頂層文件等說明,藍(lán)色文字為警告提示,紅色文字為錯(cuò)誤報(bào)告。若信息窗口沒有開啟,可執(zhí)行View→UtilityWindows→
Messages命令打開。圖5-14分析與綜合中的錯(cuò)誤信息
(3)編輯錯(cuò)誤查找。當(dāng)分析與綜合未通過時(shí),在信息窗口(Messages)中會顯示相關(guān)的錯(cuò)誤信息,用左鍵雙擊紅色的錯(cuò)誤信息;或選中錯(cuò)誤信息,單擊右鍵,從彈出的右鍵菜單中執(zhí)行Locate→LocateinDesignFile操作,鼠標(biāo)將定位于設(shè)計(jì)文件中的錯(cuò)誤所在處。若對錯(cuò)誤原因不了解,可將鼠標(biāo)定位于錯(cuò)誤信息處后點(diǎn)擊右鍵,在彈出的選項(xiàng)框中選擇Help查看錯(cuò)誤信息說明,以便修改錯(cuò)誤。處理結(jié)果若沒有錯(cuò)誤(α=0),分析與綜合通過,
彈出如圖5-15的窗口,提示“Analysis&Synthesiswassuccessful”,并產(chǎn)生報(bào)告文件Report。僅有警告提示(Warning)并不會影響分析與綜合的通過。圖5-15(4)處理報(bào)告。分析與綜合處理完畢后自動(dòng)彈出編譯總結(jié)數(shù)據(jù),顯示處理時(shí)間、QuartusⅡ版本、項(xiàng)目名、頂層文件名、目標(biāo)器件系列和型號、電路或系統(tǒng)消耗的邏輯單元數(shù)、端口數(shù)和存儲單元數(shù)。
2.設(shè)計(jì)項(xiàng)目的仿真驗(yàn)證
源文件設(shè)計(jì)完成并通過分析與綜合以后,可以通過仿真來驗(yàn)證設(shè)計(jì)是否符合預(yù)定要求。仿真開始前,需要做一個(gè)仿真文件,其中定義一連串的輸入信號,作為設(shè)計(jì)系統(tǒng)的輸入激勵(lì),仿真器會給出系統(tǒng)的響應(yīng),根據(jù)系統(tǒng)的響應(yīng)可以判斷問題所在。仿真在整個(gè)項(xiàng)目設(shè)計(jì)中起到相當(dāng)大的作用,可幫助我們及早發(fā)現(xiàn)設(shè)計(jì)中的錯(cuò)誤。QuartusⅡ的仿真平臺支持對設(shè)計(jì)項(xiàng)目的功能仿真和時(shí)序仿真。功能仿真僅測試設(shè)計(jì)項(xiàng)目的邏輯功能,而時(shí)序仿真還測試設(shè)計(jì)項(xiàng)目在目標(biāo)器件中的最大信號延時(shí)。功能仿真前需通過分析與綜合處理,產(chǎn)生電路的網(wǎng)表關(guān)系。(1)創(chuàng)建新的矢量波形文件。其步驟如下:
①選擇File→New...菜單,或者點(diǎn)擊工具欄中圖標(biāo),在新建文件對話框中Verification/DebuggingFiles下選擇VectorWaveformFile,點(diǎn)擊OK按鈕,則打開一個(gè)空的波形編輯器窗口,左方為節(jié)點(diǎn)列表區(qū),右方為波形顯示區(qū),如圖5-16所示。②波形編輯器默認(rèn)的仿真結(jié)果時(shí)間為1μs,根據(jù)仿真需要,可以自由設(shè)置仿真文件的結(jié)束時(shí)間。選擇Edit→EndTime,彈出結(jié)束時(shí)間對話框,在Time框內(nèi)輸入仿真結(jié)束時(shí)間,時(shí)間單位可選為s、ms、μs、ns和ps。點(diǎn)擊OK按鈕完成設(shè)置。③選擇File→SaveAs...命令,在文件名框中輸入文件名ha,保存類型為*.vwf,選中Addfiletocurrentproject復(fù)選框,然后點(diǎn)擊Save按鈕存盤。圖5-16
QuartusⅡ波形編輯器
(2)在矢量波形文件中加入輸入、輸出節(jié)點(diǎn)。其步驟
如下:
①顯示節(jié)點(diǎn)查找框。通過節(jié)點(diǎn)查找對話框可以搜索設(shè)計(jì)文件中所有的輸入和輸出端口、寄存器、設(shè)計(jì)實(shí)體信號。
彈出節(jié)點(diǎn)查找窗口(NodeFinder)的方法有幾種:
方法一:在波形編輯器左邊Name欄下的空白處雙擊鼠標(biāo)左鍵,即彈出如圖5-17所示的InsertNodeorBus對話框,點(diǎn)擊NodeFinder...按鈕,則彈出NodeFinder界面。圖5-17
InsertNodeorBus對話框方法二:選擇Edit→Insert→InsertNodeorBus...命令,彈出InsertNodeorBus對話框,點(diǎn)擊NodeFinder...按鈕,彈出NodeFinder界面。
方法三:選擇View→UtilityWindows→NodeFinder命令,彈出NodeFinder界面,查找要加入波形文件中的節(jié)
點(diǎn)名。②選擇節(jié)點(diǎn)。選擇節(jié)點(diǎn)的方法有以下兩種:
方法一:在NodeFinder界面的Filter列表中選擇Pins:all,點(diǎn)擊List按鈕,則NodesFound欄內(nèi)出現(xiàn)源設(shè)計(jì)文件里所有的輸入輸出節(jié)點(diǎn)名。方法二:點(diǎn)擊按鈕,則所有節(jié)點(diǎn)均顯示在SelectedNodes欄內(nèi)。若僅需要仿真部分節(jié)點(diǎn),則用鼠標(biāo)選中這些節(jié)點(diǎn),點(diǎn)擊按鈕,將這些節(jié)點(diǎn)顯示在SelectedNodes欄內(nèi)即可,如圖5-18所示。圖5-18查找節(jié)點(diǎn)
(3)編輯輸入信號。在波形編輯器中編輯輸入信號的波形,即指定輸入節(jié)點(diǎn)的邏輯電平變化。使用工具條進(jìn)行節(jié)
點(diǎn)波形的輸入十分方便,如果工具條不顯示,可以執(zhí)行菜單命令Tools→Customize
WaveformEditor...,切換到Toolbars標(biāo)簽頁,在波形編輯器WaveformEditor選項(xiàng)前打勾。各工具的編輯功能如圖5-19所示。圖5-19波形編輯器工具條①為節(jié)點(diǎn)輸入時(shí)鐘波形。在Name欄內(nèi)點(diǎn)擊一個(gè)節(jié)點(diǎn)B,則此節(jié)點(diǎn)連同波形顯示區(qū)一起被選中,呈淡藍(lán)色;然后點(diǎn)擊工具條上(時(shí)鐘)快捷按鈕,則彈出時(shí)鐘信號設(shè)置對話框,如圖5-20所示;直接輸入時(shí)鐘周期、初始相位和占空比;點(diǎn)擊OK,則設(shè)置的時(shí)鐘波形顯示在波形顯示區(qū),如圖5-21中的輸入節(jié)點(diǎn)B。圖5-20時(shí)鐘信號設(shè)置圖5-21編輯輸入節(jié)點(diǎn)波形②為節(jié)點(diǎn)輸入任意波形。用拖動(dòng)鼠標(biāo)左鍵的方法在波形顯示區(qū)選中需要編輯的區(qū)域,則該區(qū)域變?yōu)榈{(lán)色,然后點(diǎn)擊工具條上相應(yīng)的快捷按鈕。本例是選中輸入節(jié)點(diǎn)A的一段區(qū)域,點(diǎn)擊工具條上快捷按鈕,則此區(qū)域被設(shè)置為高電平,如圖5-21所示。③保存文件(*.vwf),F(xiàn)ile/Save。
(4)啟動(dòng)仿真器。
選擇Processing→SimulatorTool命令,打開仿真器工具窗口,如圖5-22所示。
①在Simulationmode(仿真模式)欄選擇Functional(功能仿真)。
②選擇或核對Simulationinput欄中列出的仿真波形文件名(*.vwf)。③點(diǎn)擊GenerateFunctionalSimulationNetlist按鈕,根據(jù)項(xiàng)目頂層設(shè)計(jì)文件產(chǎn)生功能仿真的電路網(wǎng)表以及編譯報(bào)告文件CompilationRoport,完成后彈出仿真成功提示框,
點(diǎn)擊確定按鈕退回仿真工具窗。
④若希望根據(jù)仿真結(jié)果重寫仿真輸入矢量波形文件,選擇Overwritesimulationinputfilewithsimulationresults項(xiàng)。⑤點(diǎn)擊Start,仿真開始,進(jìn)度條顯示仿真進(jìn)度及消耗時(shí)間。
⑥仿真完成后,點(diǎn)擊Report按鈕,打開只讀的仿真波形報(bào)告窗口。如果要編輯波形,從Open按鈕打開編輯波形窗口。圖5-22仿真器工具窗口
(5)仿真結(jié)果分析。
①分析驗(yàn)證仿真波形的邏輯功能:在給定的輸入節(jié)
點(diǎn)信號下,分析仿真的輸出節(jié)點(diǎn)波形是否符合設(shè)計(jì)的邏輯功能。
②調(diào)整仿真波形。選擇Edit→GridSize命令,改變波形顯示區(qū)的網(wǎng)格尺寸。在節(jié)點(diǎn)上點(diǎn)擊鼠標(biāo)右鍵,選擇Properties,可以選擇節(jié)點(diǎn)顯示基數(shù)(Radix),如二進(jìn)制、十六進(jìn)制、八進(jìn)制、有符號十進(jìn)制以及無符號十進(jìn)制。
如果對仿真結(jié)果不滿意,需要重新編輯輸入信號,可以返回仿真輸入矢量波形文件窗口。若在只讀的波形報(bào)告窗口中進(jìn)行信號編輯操作,將彈出如圖5-23所示的編輯輸入矢量文件選項(xiàng)框:若選擇第一項(xiàng),仿真結(jié)果將被傳輸?shù)椒抡孑斎胧噶坎ㄐ卧募幸怨┍4妫抡娼Y(jié)束后可通過Open按鈕打開原文件觀察仿真結(jié)果;若選擇第二項(xiàng),仿真輸入矢量波形文件不會被修改,必須通過Report按鈕打開仿真報(bào)告文件觀察仿真結(jié)果。圖5-23編輯輸入矢量文件對話框圖5-24為半加器的仿真波形。圖5-24半加器的仿真波形
3.創(chuàng)建元件符號
在層次化工程設(shè)計(jì)中,經(jīng)常需要將通過分析與綜合、驗(yàn)證仿真結(jié)果正確的設(shè)計(jì)源文件創(chuàng)建成一個(gè)模塊符號文件(BlockSymbolFiles,擴(kuò)展名為.bsf)作為功能模塊符號。
該符號就像QuartusⅡ軟件自帶的基本單元符號和宏功能模塊一樣,在高一層的圖形設(shè)計(jì)文件中可直接調(diào)用。
(1)將設(shè)計(jì)文件創(chuàng)建成模塊符號。其過程如下:
①將源文件ha打開,選擇File→Create/Update→CreateSymbolFilesforCurrentFile,彈出提示信息:符號創(chuàng)建完成,如圖5-25(a)所示,點(diǎn)擊確定按鈕,即可創(chuàng)建一個(gè)代表當(dāng)前文件功能的符號文件(擴(kuò)展名為.bsf)。②如果該文件對應(yīng)的符號文件已經(jīng)建立過,則執(zhí)行該操作時(shí)會彈出一個(gè)提示信息,詢問是否要覆蓋現(xiàn)存的符號文件,如果選擇“是(Y)”,則現(xiàn)存符號文件的內(nèi)容就會被新的符號文件覆蓋。
③雙擊圖形編輯器窗口,打開Symbol對話框,點(diǎn)擊左上角工程目錄庫(Project)前的“+”,即可找到與該設(shè)計(jì)文件同名的模塊符號,如圖5-25(b)。圖5-25
(2)頂層源文件輸入。
①頂層源文件與下層設(shè)計(jì)文件在同一項(xiàng)目下。在原來的項(xiàng)目下新建頂層源文件fa:選擇File→New...菜單,選擇DesignFiles下的BlockDiagram/SchematicFile,點(diǎn)擊OK按鈕,打開圖形編輯器,雙擊工作區(qū),打開Symbol對話框,在工程目錄庫中(Project下)直接調(diào)用半加器模塊符號,輸入全加器原理圖,保存文件為fa.bdf,如圖5-26所示。圖5-26頂層原理圖文件fa.bdf②頂層源文件與下層設(shè)計(jì)文件在不同項(xiàng)目、不同目錄下。用新建項(xiàng)目向?qū)В‵ile→NewProjectWizard...)新建頂層設(shè)計(jì)項(xiàng)目,工程目錄為D:/12345/aaa/,工程名和頂層文件名均為fa。在出現(xiàn)如圖5-5所示的添加文件選項(xiàng)框時(shí),將需要添加的ha源文件加入到當(dāng)前項(xiàng)目中來。添加其它項(xiàng)目下的文件到當(dāng)前項(xiàng)目里的步驟如下:
①點(diǎn)擊圖5-5中FileName窗口右邊的文件瀏覽按鈕,彈出SelectFile對話框,切換目錄找到源文件ha.bdf。
②選中ha.bdf,點(diǎn)擊打開,再點(diǎn)Add按鈕,則此文件出現(xiàn)在文件列表中。
③點(diǎn)擊Next。在當(dāng)前項(xiàng)目下調(diào)用其它項(xiàng)目下創(chuàng)建的模塊符號步驟如下:①新建一個(gè)圖源文件。
②在圖形編輯器窗口的工作區(qū)中雙擊鼠標(biāo)左鍵,彈出圖5-10的Symbol對話框。
③點(diǎn)擊Name欄右邊的瀏覽按鈕,彈出打開文件對話框,目錄切換到D:/12345/fa。④選中符號文件ha.bsf,點(diǎn)擊打開,符號ha顯示在Symbol對話框的右邊,點(diǎn)擊OK。
將全加器原理圖文件進(jìn)行分析與綜合,波形仿真,正確的仿真波形如圖5-27所示。圖5-27全加器的仿真波形5.2.4鎖定引腳和編譯
1.引腳分配(鎖定)
由于實(shí)驗(yàn)裝置上FPGA的各I/O端口已被連接到特定的器件(如按鍵、發(fā)光二極管、顯示器等),所以必須根據(jù)設(shè)計(jì)需要指定電路的輸入、輸出端口引腳。為設(shè)計(jì)中的輸入、輸出端口指定器件(EPF10K10TC144-4)的引腳號碼,稱為引腳分配或引腳鎖定。
LP-2900實(shí)驗(yàn)裝置上LED發(fā)光二極管L1~L12的共陰極端受FPGA的I/O端口ACOM控制,如圖5-28所示。所以設(shè)計(jì)時(shí)要使ACOM端口內(nèi)置高電平Vcc(經(jīng)反相后為低電平)。增加一個(gè)輸出端口符號output控制發(fā)光二極管的陰極公共端ACOM。導(dǎo)入電源符號“Vcc”連接COM輸出端口使之為高電平(經(jīng)外部反相器使發(fā)光二極管陰極為低電平),如圖5-29所示。再次分析與綜合。圖5-28
LP-2900實(shí)驗(yàn)裝置的L1~L12與FPGA的電路連接圖5-29添加公共端口后的全加器電路圖(1)點(diǎn)擊主快捷工具欄中圖標(biāo)或執(zhí)行主菜單Assignments→AssignmentEditor命令進(jìn)入如圖5-30所示的AssignmentEditor(分配編輯器)窗口,在窗口上方的Category(類別)列表中選擇Pin。如果Category列表不顯示,點(diǎn)擊View→CategoryBar。圖5-30分配編輯器的引腳配置對話框(2)雙擊窗口下方的To欄下的New格,出現(xiàn)包含全部端口的下拉滾動(dòng)框,其中呈斜體的端口名已被分配,可逐個(gè)選擇呈正體的端口名,直到全部列出。(3)雙擊To欄中未分配端口名旁Location欄下的空格,出現(xiàn)包含全部引腳編號的下拉滾動(dòng)框,其中呈斜體的引腳已被分配,可根據(jù)用戶系統(tǒng)接口關(guān)系選擇特定編號的引腳。全部引腳分配完畢后執(zhí)行文件保存操作,然后關(guān)閉AssignmentEditor窗口。全加器電路中,假設(shè)輸入信號為A、B、Ci,分別選擇LP-2900實(shí)驗(yàn)裝置上數(shù)字開關(guān)(J區(qū))的按鍵SW1、SW2、SW3。根據(jù)附錄C表C-1查閱得SW1與EPF10K10TC144的引腳Pin47連接,SW2與引腳Pin48連接,SW3與引腳Pin49連接,假設(shè)輸出信號Co、S分別選擇LP-2900實(shí)驗(yàn)裝置上LED發(fā)光二極管(A區(qū))的L1、L2,根據(jù)附錄C表C-5查閱得L1與引腳Pin7連接,L2與引腳Pin8連接,A區(qū)發(fā)光二極管共陰極端ACOM與引腳Pin141連接。端口分配后在圖形設(shè)計(jì)源文件中可以顯示各端口編號,示例項(xiàng)目全加器的圖形設(shè)計(jì)文件如圖5-31所示。圖5-31引腳分配后的fa圖形設(shè)計(jì)源文件
2.編譯
QuartusⅡ編譯器的主要功能是配置可編程器件的邏輯資源,實(shí)現(xiàn)項(xiàng)目設(shè)計(jì)文件分析與綜合后產(chǎn)生的邏輯關(guān)系。點(diǎn)擊工具條上的按鈕可直接啟動(dòng)編譯過程,或者執(zhí)行主菜單命令Processing→StartCompilation,在編譯過程中如果出現(xiàn)配置錯(cuò)誤,也可參考查找分析與綜合錯(cuò)誤的方法尋找錯(cuò)誤源,修改后重新編譯,直到編譯成功為止。僅有警告提示(Warning)不會影響編譯通過。說明:如圖5-32所示,在狀態(tài)(Module)窗口中顯示全編譯過程中各個(gè)編譯模塊和整個(gè)編譯進(jìn)程的進(jìn)度和所用時(shí)間;在信息窗口中顯示編譯過程中的信息;最后的編譯結(jié)果在報(bào)告窗口中顯示出來。圖5-32編譯結(jié)果查看編譯報(bào)告:編譯過程中,編譯報(bào)告窗口自動(dòng)顯示出來,給出了當(dāng)前編譯過程中各個(gè)功能模塊的詳細(xì)信息。在編譯報(bào)告左邊窗口點(diǎn)擊要查看部分前的加號“+”。
選擇要查看的部分,報(bào)告內(nèi)容顯示在右邊窗口。5.2.5器件編程(下載)
1.打開編程窗口
直接點(diǎn)擊主工具條上的快捷按鈕或執(zhí)行主菜單Tools→Programmer命令,彈出如圖5-33所示的編程器窗口,自動(dòng)打開一個(gè)名為〈項(xiàng)目名〉.cdf的鏈?zhǔn)矫枋鑫募ó?dāng)前項(xiàng)目的編程文件以及所選目標(biāo)器件等信息。圖5-33編程器窗口
2.編程器設(shè)置
編程器的下載模式根據(jù)不同的下載電纜選擇。如果是在安裝QuartusⅡ后首次進(jìn)行下載或下載模式改變,需要對編程器進(jìn)行設(shè)置,一般情況下不是每次下載前都需進(jìn)行設(shè)置。以LP-2900為例,編程器設(shè)置方法如下:(1)下拉編程器窗口上方中間的Mode列表,選擇JTAG模式。
(2)點(diǎn)擊編程硬件設(shè)置(HardwareSetup)按鈕,彈出如圖5-34所示的硬件設(shè)置對話框HardwareSetup。
(3)點(diǎn)擊硬件設(shè)置對話框中的AddHardware按鈕,彈出圖5-34下方所示的AddHardware對話框。(4)在AddHardware對話框的Hardwaretype列表中選擇ByteBlasterMVorByteBlasterⅡ,點(diǎn)擊OK確認(rèn),HardwareSetup對話框下方的Availablehardwareitems(有
效硬件項(xiàng))欄中出現(xiàn)所選的硬件名稱和PC通信端口等信息,如圖5-35所示。點(diǎn)擊Close按鈕關(guān)閉窗口,回到編程器頁面。圖5-34添加硬件設(shè)置圖5-35下載電纜模式選擇
3.添加編程文件
編程文件(*.sof)一般會自動(dòng)顯示,如果用戶系統(tǒng)中有多個(gè)形成下載鏈的可編程器件,QuartusⅡ會自動(dòng)識別它們的連接順序,點(diǎn)擊AddFile...按鈕可以添加各器件的編程
文件,點(diǎn)擊AddDevice...按鈕可以添加目標(biāo)器件。
4.器件編程
(1)將下載電纜連接PC通信端口(并行口)和FPGA實(shí)驗(yàn)裝置的下載端口,實(shí)驗(yàn)裝置接通電源。
(2)在如圖5-33所示的編程窗口中選擇需要下載的編程文件〈項(xiàng)目名〉.sof。點(diǎn)擊下載文件名旁對應(yīng)Program/
Configure(編程/配置)選項(xiàng)下的小方框,使之選中出現(xiàn)勾號。然后點(diǎn)擊Start按鈕,開始下載器件編程文件。(3)編程過程中目標(biāo)器件的所有I/O端口均為高阻狀態(tài)直到編程結(jié)束。FPGA實(shí)驗(yàn)裝置LP-2900在下載編程文件過程中,其主芯片板上四周的I/O口紅色LED指示燈全亮,編程結(jié)束后實(shí)驗(yàn)裝置芯片板上的OK綠色LED點(diǎn)亮,編程器件即具有設(shè)計(jì)要求的邏輯功能。5.3基于FPGA的組合邏輯電路實(shí)驗(yàn)
5.3.1全加器的N種實(shí)現(xiàn)方法
1.用基本門電路實(shí)現(xiàn)全加器電路
1)參考實(shí)驗(yàn)步驟
(1)首先分析圖5-36的電路,從理論上證明它是一個(gè)全加器。圖5-36用與非門實(shí)現(xiàn)的全加器電路
(2)新建項(xiàng)目工程,新建圖形文件,輸入用“二輸入與非門NAND2”設(shè)計(jì)的全加器電路fa1,如圖5-36所示。
(3)分析與綜合通過后,新建一個(gè)矢量波形仿真文件,仿真全加器電路。
(4)功能仿真驗(yàn)證仿真結(jié)果正確后,創(chuàng)建全加器邏輯符號fa1。
(5)增加輸出端口ACOM連接高電平Vcc,分析與綜合通過后,分配引腳,全編譯通過后下載檢查結(jié)果。
2)注意事項(xiàng)
(1)本實(shí)驗(yàn)的輸入信號A、B、Ci可在數(shù)字開關(guān)(J區(qū))SW1~SW8中任選三個(gè)按鍵,SW1~SW8是帶LED顯示的帶鎖按鍵。按下為1,燈亮;按出為0,燈滅。
輸出信號Co、S可在LED發(fā)光二極管A區(qū)的L1~L12中任選兩個(gè)LED發(fā)光二極管,L1~L12為一組紅、黃、綠三色的LED,高電平有效;ACOM為共陰極端,高電平有效。
(2)由于LP-2900實(shí)驗(yàn)裝置上FPGA器件EPF10K10TC144-4的141腳經(jīng)非門接在發(fā)光二極管L1~L12的共陰極點(diǎn)上,故要點(diǎn)亮發(fā)光二極管L1~L12,需將141腳置為高電平。
2.用譯碼器和與非門實(shí)現(xiàn)全加器電路
1)參考實(shí)驗(yàn)步驟
(1)首先分析圖5-37的電路,從理論上證明它是一個(gè)全加器。
(2)新建一個(gè)圖形文件,輸入用譯碼器74138、四輸入與非門NAND4設(shè)計(jì)的全加器電路fa2,如圖5-37所示。
(3)設(shè)置fa2為項(xiàng)目的頂層文件,分析與綜合通過后,仿真全加器電路。
(4)功能仿真驗(yàn)證正確后,創(chuàng)建全加器邏輯符號fa2。
(5)增加輸出端口ACOM,分析與綜合,分配引腳,編譯通過后下載檢查設(shè)計(jì)結(jié)果。圖5-37用譯碼器、與非門實(shí)現(xiàn)的全加器電路
3.用數(shù)據(jù)選擇器實(shí)現(xiàn)全加器電路
1)參考實(shí)驗(yàn)步驟
(1)首先分析圖5-38的電路,從理論上證明它是一個(gè)全加器。
(2)新建一個(gè)圖形文件,輸入用數(shù)據(jù)選擇器74153、非門NOT設(shè)計(jì)的全加器電路fa3,如圖5-38所示。圖5-38用數(shù)據(jù)選擇器、非門實(shí)現(xiàn)的全加器電路
(3)設(shè)置fa3為項(xiàng)目的頂層文件,分析與綜合通過后,仿真全加器電路。
(4)功能仿真驗(yàn)證正確后,創(chuàng)建全加器邏輯符號fa3。
(5)增加輸出端口ACOM,分析與綜合,分配引腳,編譯通過后下載檢查設(shè)計(jì)結(jié)果。
4.用ROM實(shí)現(xiàn)全加器電路
(1)新建一個(gè)圖形文件,用ROM設(shè)計(jì)全加器電路fa4。其實(shí)質(zhì)就是將一位全加器的真值表放入ROM。
(2)設(shè)置fa4為項(xiàng)目的頂層文件,分析與綜合通過后,仿真全加器電路。
(3)功能仿真驗(yàn)證正確后,創(chuàng)建全加器邏輯符號fa4。(4)增加輸出端口ACOM,分析與綜合,分配引腳,編譯通過后下載檢查設(shè)計(jì)結(jié)果。
1.建立ROM的存儲數(shù)據(jù)文件
(1)選擇File→New...命令,選擇MemoryFiles下Hexadecimal(Intel-Format)File或MemoryInitializationFile。(2)點(diǎn)擊OK確認(rèn),彈出如圖5-39所示的字?jǐn)?shù)(Numberofwords)、字長(Wordsize)對話框。其中字?jǐn)?shù)表示存儲信息個(gè)數(shù)或數(shù)據(jù)個(gè)數(shù),字長表示二進(jìn)制存儲信息或數(shù)據(jù)的位數(shù)。根據(jù)本例要求確定字?jǐn)?shù)為8,字長為2。圖5-39設(shè)定存儲數(shù)據(jù)文件的參數(shù)(3)填入字?jǐn)?shù)和字長后按OK確認(rèn),彈出數(shù)據(jù)文件編輯頁面,如圖5-40所示,默認(rèn)數(shù)據(jù)內(nèi)容為全0。頁面的左上角顯示文件名。Hexadecimal(IntelFormat)File格式的文件擴(kuò)展名為.hex,MemoryInitializationFile格式的文件擴(kuò)展名為.mif。圖5-40數(shù)據(jù)文件頁面(4)數(shù)據(jù)文件的顯示格式可以通過菜單View選擇,各有關(guān)選項(xiàng)說明如圖5-41所示。圖5-40的文件顯示形式為每行8個(gè)單元,地址為十進(jìn)制碼,數(shù)據(jù)格式為二進(jìn)制。圖5-41數(shù)據(jù)文件的顯示方式選擇(5)數(shù)據(jù)信息輸入完成后保存文件。選擇主菜單File→Save或SaveAs...命令,一般默認(rèn)文件保存在當(dāng)前項(xiàng)目目錄下,默認(rèn)文件名與項(xiàng)目名相同,將默認(rèn)文件添加到當(dāng)
前項(xiàng)目中(Addfiletocurrentproject)。文件保存后,項(xiàng)目導(dǎo)航器中出現(xiàn)所建文件名。全加器數(shù)據(jù)文件如圖5-42所示。該文件的內(nèi)容就是一位全加器的真值表。三位地址線代表輸入變量A、B和Ci,二位數(shù)據(jù)線代表輸出變量S和Co。圖5-42全加器數(shù)據(jù)文件
2.創(chuàng)建ROM元件
(1)新建原理圖(Schematic)文件。在圖形編輯器中雙擊鼠標(biāo)左鍵彈出Symbol對話框,從宏功能函數(shù)庫Megafunctions的存儲器件子庫Storage中選擇Ipm_rom,
并選中LaunchMegaWizardPlug_In框,如圖5-43所示。圖5-43選擇宏功能函數(shù)符號Ipm_rom(2)選擇ROM的語言描述輸出文件的類型和名稱,菜單如圖5-44所示。文件的語言類型可以任選,但注意輸出文件一定要存放在本項(xiàng)目所在的路徑中,可以通過Browse瀏覽查詢路徑。圖5-44
ROM輸出文件類型和名稱選擇(3)點(diǎn)擊Next>,彈出如圖5-45所示的模塊定義向?qū)У?頁進(jìn)行參數(shù)設(shè)置。窗口右上方的使用器件系列默認(rèn)與項(xiàng)目設(shè)置的器件系列相同,選中Matchproject/default,一般不需修改。
ROM輸出數(shù)據(jù)總線的寬度(數(shù)據(jù)位數(shù))為2,ROM的存儲字單元數(shù)為8。圖5-45設(shè)置ROM的字長、字?jǐn)?shù)(4)ROM的輸入、輸出都可以由時(shí)鐘脈沖控制,選擇菜單如圖5-46所示。而本實(shí)驗(yàn)中ROM的地址和數(shù)據(jù)端口都不需要寄存,所以取消原選中框內(nèi)的勾,使建立的ROM器件沒有輸入、輸出時(shí)鐘。圖5-46
ROM的控制脈沖選擇(5)圖5-47所示菜單選擇是否需要為存儲器設(shè)定數(shù)據(jù)。由于本實(shí)驗(yàn)采用的是只讀存儲器ROM,所以必須建立存儲數(shù)據(jù)文件,文件的類型為HEXFiles(擴(kuò)展名.hex)。可以通過瀏覽查詢到文件名(也可以選MIF文件)。圖5-47選擇存儲器鏈接的數(shù)據(jù)文件(6)檢查確認(rèn)ROM的存儲數(shù)據(jù)文件路徑后點(diǎn)擊Next>,彈出產(chǎn)生仿真模式文件的頁面,再點(diǎn)擊Next>,出現(xiàn)模塊創(chuàng)建總結(jié)Summary,列出了由模塊參數(shù)設(shè)置生成的所有文件。(7)點(diǎn)擊“Finish”按鈕完成宏模塊設(shè)計(jì),出現(xiàn)詢問你是否將模塊添加到項(xiàng)目中,點(diǎn)擊“Yes”按鈕,模塊粘在光標(biāo)上,點(diǎn)擊鼠標(biāo)左鍵可放置在圖形編輯區(qū)域。
此時(shí),當(dāng)前項(xiàng)目的元件庫library中出現(xiàn)了一個(gè)項(xiàng)目子庫Project,創(chuàng)建的模塊lpm_rom0存放在該子庫中。模塊lpm_rom0可作為庫元件被反復(fù)置入圖形編輯區(qū)。若在設(shè)計(jì)過程中發(fā)現(xiàn)宏模塊參數(shù)需要修改,可在圖形編輯區(qū)的宏模塊上雙擊鼠標(biāo)左鍵,將直接彈出宏功能插入管理器的參數(shù)設(shè)置首頁。
圖5-48為用ROM器件實(shí)現(xiàn)的全加器電路。圖5-48用ROM實(shí)現(xiàn)的全加器電路5.3.2三位二進(jìn)制加法器
1.要求
利用全加器的邏輯符號設(shè)計(jì)一個(gè)三位串行進(jìn)位加法器電路,進(jìn)行功能仿真驗(yàn)證結(jié)果。圖5-49為三位加法器參考設(shè)計(jì)框圖。圖5-49三位加法器參考設(shè)計(jì)框圖
2.參考設(shè)計(jì)步驟
(1)建立項(xiàng)目工程并添加全加器設(shè)計(jì)源文件。
建立新的項(xiàng)目工程,當(dāng)?shù)?步出現(xiàn)如圖5-5的對話框時(shí),點(diǎn)擊Filename欄旁的瀏覽按鈕,打開全加器項(xiàng)目目錄,查找選擇5.3.1節(jié)中任一全加器設(shè)計(jì)源文件,添加入本項(xiàng)目。(2)設(shè)計(jì)三位加法器電路。
①新建圖形文件(如add3.bdf),調(diào)用添加的全加器設(shè)計(jì)源文件對應(yīng)的全加器邏輯符號。
②導(dǎo)入6個(gè)輸入端口符號和4個(gè)輸出端口符號作為加法器輸入、輸出。連接加法器電路并定義端口名為A2、A1、A0、B2、B1、B0、Co、S2、S1、S0。③對電路進(jìn)行分析與綜合(Analysis&Synthesis)。(3)仿真三位加法器電路。
①新建一個(gè)矢量波形仿真文件。設(shè)置仿真觀察點(diǎn)。分別把輸入信號A2、A1、A0和B2、B1、B0以及輸出信號Co、S2、S1、S0進(jìn)行信號編組A、B、S,顯示方式為UnsignedDesimal(無符號十進(jìn)制)。②以計(jì)數(shù)方式對輸入信號組A、B進(jìn)行波形編輯,使每組分別有“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”八種數(shù)值,并組合成六十四種狀態(tài)。保存波形圖文件。
③對項(xiàng)目進(jìn)行功能仿真。仿真結(jié)束后返回波形文件,對照預(yù)習(xí)所列的三位加法器真值表驗(yàn)證仿真結(jié)果。圖5-50為三位加法器仿真波形圖。圖5-50三位加法器仿真波形圖
(4)仿真驗(yàn)證正確后,創(chuàng)建三位加法器的邏輯符號。在設(shè)計(jì)文件打開的情況下,執(zhí)行File→Create/Updata→
CreateSymbolFilesforCurrentFile命令,將當(dāng)前文件創(chuàng)建
成元件邏輯符號。(1)信號編組時(shí),若被選信號有位序關(guān)系,碼組中各信號按波形窗口高位到低位從上往下的順序排列。可以用鼠標(biāo)左鍵點(diǎn)擊窗口中節(jié)點(diǎn)列表Name下要移動(dòng)的信號名,被選擇信號呈淡藍(lán)色,然后按住鼠標(biāo)左鍵拖動(dòng)該信號名,使信號以藍(lán)線形式在節(jié)點(diǎn)列表區(qū)移動(dòng),移到目標(biāo)位置后釋放鼠標(biāo)左鍵,信號位置即被改變。本例中加數(shù)A信號按照高位到低位A2、A1、A0順序排列。(2)可按住Ctrl鍵或Shift鍵并點(diǎn)擊鼠標(biāo)左鍵逐個(gè)選擇需編組的信號,被選擇信號呈淡藍(lán)色。執(zhí)行主菜單Edit→Grouping→Group命令;或在信號列表中點(diǎn)擊鼠標(biāo)右鍵,在彈出的菜單中選擇編組命令Grouping→Group,彈出如圖5-51所示的信號組屬性選項(xiàng)框。在Groupname欄填入任取的組名(比如A),在Radix欄選擇碼值顯示類型,可選擇Binary(二進(jìn)制)、Octal(八進(jìn)制)、Hexadecimal(十六進(jìn)制)、SignedDesimal(有符號十進(jìn)制)或UnsignedDesimal(無符號十進(jìn)制)。圖5-51信號編組設(shè)置(3)點(diǎn)擊OK,波形窗口的被選信號歸成一個(gè)組信號,如圖5-50所示。用鼠標(biāo)左鍵點(diǎn)擊組信號名前的“+”框,框中的符號變?yōu)椤埃碧?,組中的各位信號波形同時(shí)分別
顯示。(4)如果要更改信號組的名稱或數(shù)值顯示類型,可在信號名列表區(qū)選中信號組,點(diǎn)擊鼠標(biāo)右鍵,在彈出的選項(xiàng)框中選擇最下一行屬性Properties,打開NodeProperties(節(jié)點(diǎn)屬性)窗口,可改變信號組名稱(Name)、端口特性(Type)、數(shù)值顯示類型(Radix)、位寬(Buswidth)等。(5)若要取消信號編組,可選中信號組并點(diǎn)擊鼠標(biāo)右鍵,選擇Grouping→Ungroup,組信號即被轉(zhuǎn)換成獨(dú)立信號。5.3.3用AHDL語言描述的七段顯示譯碼器
1.要求
采用AHDL硬件描述語言設(shè)計(jì)七段顯示譯碼邏輯并創(chuàng)建元件符號。元件的輸入為4位二進(jìn)制碼,輸出可控制共陰七段顯示器顯示十進(jìn)制數(shù)符0~9及A、B、C、D、E、F6個(gè)字母。
2.參考設(shè)計(jì)步驟
(1)新建一個(gè)AHDL文本文件。
在5.3.2節(jié)的項(xiàng)目下,選擇File→New...菜單,選擇DesignFiles下的AHDLFile,出現(xiàn)AHDL文件編輯區(qū)以及文本編輯TextEditor的工具條,如圖5-52所示。(2)AHDL文件編輯。
AHDL文件必須以英文輸入方式編輯,基本描述分為三個(gè)部分:實(shí)體名、實(shí)體對外端口、實(shí)體內(nèi)部的邏輯描述。語句注釋可以以兩段以上的中劃線導(dǎo)出,程序中注釋內(nèi)容應(yīng)為綠色文字。如圖5-52所示。圖5-52七段顯示譯碼邏輯的AHDL真值表描述①AHDL文件以關(guān)鍵字“SUBDESIGN”導(dǎo)出設(shè)計(jì)實(shí)體名,本例以7seg命名要設(shè)計(jì)的七段顯示譯碼器。②AHDL文件以括號“(”、“)”限定設(shè)計(jì)實(shí)體的輸入、輸出端口。端口名后用冒號“:”導(dǎo)出端口屬性關(guān)鍵字:INPUT定義輸入屬性,OUTPUT定義輸出屬性。相同屬性的不同端口用逗號分隔。多個(gè)端口可以以總線形式用同一名稱命名,并在端口名稱后的方括號內(nèi)以升序或降序說明端口位寬。每條端口定義語句用分號“;”結(jié)束。③實(shí)體內(nèi)部邏輯描述必須以關(guān)鍵字BEGIN、END限定。描述語句有多種形式,利用快捷方式可以導(dǎo)出不同的模板。本例的七段顯示譯碼邏輯可以很方便地利用真值表模板形式設(shè)計(jì)。
在文件編輯區(qū)輸入邏輯段限定語句BEGIN和END。將鼠標(biāo)定位在兩語句之間,點(diǎn)擊快捷工具,彈出插入模板對話框(InsertTemplate)。點(diǎn)擊AHDL前的“+”號,再點(diǎn)擊Architecture前的“+”號,選擇真值表描述(TruthTableStatement),右方預(yù)覽框preview中出現(xiàn)真值表的模板形式。點(diǎn)擊Insert確認(rèn),模板被插入邏輯段限定語句中。④真值表以關(guān)鍵字TABLE、和ENDTABLE限定,輸入、輸出信號用“”區(qū)別,左側(cè)為輸入,右側(cè)為輸出。每行邏輯語句也以“;”結(jié)束。⑤表中數(shù)據(jù)格式有兩種:若變量以總線形式命名如data_in[3..0],則表中數(shù)據(jù)應(yīng)以雙引號形式出現(xiàn)b"0000";若為單個(gè)變量的集合形式,a,b,c,...,則表中數(shù)據(jù)也應(yīng)以“,”隔開,每行數(shù)據(jù)結(jié)束時(shí),也應(yīng)以“;”結(jié)尾。表格中第12行起的空白部分,是留給讀者做練習(xí)的,請讀者根據(jù)顯示邏輯補(bǔ)全,完成這個(gè)文件。⑥在當(dāng)前項(xiàng)目目錄下保存文件,并把文件加入當(dāng)前項(xiàng)目工程中。注意文件名要與AHDL文件中的實(shí)體名相同,擴(kuò)展名為.tdf。然后先把7seg.tdf設(shè)置為項(xiàng)目的頂層文件,對設(shè)計(jì)文件進(jìn)行分析與綜合,然后仿真查看邏輯功能是否正確。⑦在設(shè)計(jì)文件打開的情況下,執(zhí)行File→Create/Updata
→CreateSymbolFilesforCurrentFile命令,將當(dāng)前文件創(chuàng)建成元件圖形符號。調(diào)用方法與原理圖創(chuàng)建的模塊符號一樣。圖5-53為七段顯示譯碼元件符號。圖5-53七段顯示譯碼元件符號5.3.4兩個(gè)三位二進(jìn)制數(shù)相加并顯示結(jié)果
1.要求
利用5.3.2節(jié)和5.3.3節(jié),三位加法器相加結(jié)果用七段數(shù)碼管以十六進(jìn)制形式顯示。兩個(gè)三位的二進(jìn)制加數(shù)由6個(gè)按鍵輸入。相加后的和最大是二進(jìn)制數(shù)1110,可以用十六進(jìn)制數(shù)“E”表示。采用LP-2900實(shí)驗(yàn)裝置實(shí)現(xiàn)設(shè)計(jì),其LED數(shù)碼管為共陰顯示器。六個(gè)顯示器的七個(gè)段控制a~g及小數(shù)點(diǎn)dp分別對應(yīng)相連,各顯示器的共陰極分別由一個(gè)3線-8線譯碼器74LS138的輸出Y0~Y5控制。譯碼器的3位輸入碼分別由FPGA的I/O端口DE3、DE2、DE1控制,如圖5-54所示。圖5-54LP-2900開發(fā)裝置FPGA與LED數(shù)碼顯示器的電路連接
3線-8線譯碼器的3位輸入碼DE3、DE2、DE1為000~101時(shí),輸出Y0~Y5中有一個(gè)為0,F(xiàn)PGA的a~g端口將控制共陰極為0的數(shù)碼管顯示。比如,當(dāng)DE3、DE2、DE1為011時(shí),Y3=0,數(shù)碼管C4顯示。由于本設(shè)計(jì)只需一位顯示,所以可任意選擇DE3、DE2、DE1為000~101中的一
組碼。
2.參考設(shè)計(jì)步驟
(1)在5.3.2節(jié)建立的項(xiàng)目下,新建一個(gè)圖形文件,調(diào)用三位加法器、譯碼器邏輯符號,建立三位加法器譯碼顯示電路。圖5-55為三位加法器譯碼顯示參考設(shè)計(jì)框圖。圖5-55三位加法器譯碼顯示參考設(shè)計(jì)框圖(2)設(shè)置當(dāng)前圖形文件為頂層文件,對電路進(jìn)行分析與綜合(Analysis&Synthesis)。
(3)增加3個(gè)輸出端口控制3線-8線譯碼器的輸入DE3~DE1。根據(jù)所選顯示器連接3個(gè)輸出端口的邏輯電平。導(dǎo)入符號VCC連接輸出1的DEi端口,導(dǎo)入符號GND連接輸出0的DEi端口。例如:選左起第3個(gè)數(shù)碼管點(diǎn)亮,DE3和DE1接地,DE2接Vcc。
5.4基于FPGA的時(shí)序邏輯電路實(shí)驗(yàn)5.4.1脈沖分頻電路
1.要求
設(shè)計(jì)一個(gè)8級倍率為10的分頻電路,將FPGA實(shí)驗(yàn)裝置上的基準(zhǔn)時(shí)鐘OSC(10MHz)分成輸出頻率分別為1Hz、10Hz、100Hz、1kHz、10kHz、100kHz、1MHz、10MHz八組占空比為50%的脈沖信號。
2.參考步驟
(1)新建項(xiàng)目,用74LS90構(gòu)成5421BCD碼十進(jìn)制計(jì)數(shù)器,實(shí)現(xiàn)十分頻電路。
(2)分析與綜合通過后,仿真十分頻電路,驗(yàn)證輸出信號與計(jì)數(shù)脈沖是否滿足十分頻關(guān)系、分頻信號占空是否為50%。(3)功能仿真驗(yàn)證正確后,用74LS90級聯(lián)實(shí)現(xiàn)八級十分頻電路,分析與綜合通過后,創(chuàng)建邏輯符號div8在以后需要不同頻率信號的設(shè)計(jì)項(xiàng)目中使用。圖5-56為脈沖分頻div8邏輯符號。
3.用74LS90構(gòu)成占空為50%的十進(jìn)制計(jì)數(shù)器
74LS90是二—五—十進(jìn)制加計(jì)數(shù)器,片上有一個(gè)二進(jìn)制計(jì)數(shù)器和一個(gè)異步五進(jìn)制計(jì)數(shù)器,其器件符號如圖5-57所示。圖5-57
7490器件符號
74LS90是二—五—十進(jìn)制加計(jì)數(shù)器,片上有一個(gè)二進(jìn)制計(jì)數(shù)器和一個(gè)異步五進(jìn)制計(jì)數(shù)器,其器件符號如圖5-57所示。CLKA和CLKB分別是兩個(gè)計(jì)數(shù)器的脈沖輸入端,下降沿觸發(fā)有效;CLRA和CLRB是兩個(gè)計(jì)數(shù)器的復(fù)位清零端,同為高電平時(shí)有效;SET9A和SET9B分別是兩個(gè)計(jì)數(shù)器的置9控制端,當(dāng)同為高電平時(shí),QD、QC、QB、QA被預(yù)置為1001。74LS90的邏輯功能如表5-6所示。
74LS90片上的兩個(gè)計(jì)數(shù)器級聯(lián)后可實(shí)現(xiàn)十進(jìn)制計(jì)數(shù)器。當(dāng)計(jì)數(shù)脈沖CP控制二進(jìn)制計(jì)數(shù)器的時(shí)鐘CLKA,并以二進(jìn)制計(jì)數(shù)器輸出QA控制五進(jìn)制計(jì)數(shù)器的時(shí)鐘CLKB,即構(gòu)成8421BCD碼十進(jìn)制計(jì)數(shù)器,輸出碼從高位至低位順序?yàn)镼D、QC、QB、QA。在每個(gè)計(jì)數(shù)脈沖的下降沿QA翻轉(zhuǎn);而在QA的下降沿,五進(jìn)制計(jì)數(shù)器加一。每10個(gè)計(jì)數(shù)脈沖QD~QA狀態(tài)循環(huán)變化一周,計(jì)數(shù)時(shí)序波形如圖5-58(a)所示。如果計(jì)數(shù)脈沖CP控制五進(jìn)制計(jì)數(shù)器的時(shí)鐘CLKB,并以五進(jìn)制計(jì)數(shù)器的最高位輸出QD控制二進(jìn)制計(jì)數(shù)器的時(shí)鐘CLKA,即構(gòu)成5421BCD碼十進(jìn)制計(jì)數(shù)器,輸出碼從高位至低位順序?yàn)镼A、QD、QC、QB。在每個(gè)計(jì)數(shù)脈沖的下降沿五進(jìn)制計(jì)數(shù)器加一;而每個(gè)QD的下降沿QA翻轉(zhuǎn)。每
10個(gè)計(jì)數(shù)脈沖周期計(jì)數(shù)器輸出狀態(tài)循環(huán)一周,計(jì)數(shù)時(shí)序波形如圖5-58(b)所示。圖5-58
74LS90分頻信號波形顯然,兩種連接方式的計(jì)數(shù)器最高位輸出信號頻率都為計(jì)數(shù)脈沖頻率的1/10,但前者分頻信號QD的占空比為20%(8個(gè)CP周期為低電平、2個(gè)為高電平),后者分頻信號QA的占空比為50%(5個(gè)CP周期為低電平、5個(gè)為高電平)。5.4.2用D觸發(fā)器設(shè)計(jì)彩燈控制電路
1.參考設(shè)計(jì)步驟
(1)新建項(xiàng)目工程,當(dāng)出現(xiàn)如圖5-5所示的對話框時(shí),點(diǎn)擊Filename欄旁的瀏覽按鈕,打開脈沖分頻項(xiàng)目目錄,查找選擇5.4.1節(jié)中脈沖分頻電路設(shè)計(jì)源文件,添加入本項(xiàng)目。用“D觸發(fā)器DFF”組成的移位寄存器設(shè)計(jì)彩燈控制電路light1,如圖5-59所示。圖5-59彩燈控制電路light1
2.注意事項(xiàng)
圖5-59中PS輸入信號可選用LP-2900實(shí)驗(yàn)裝置上的負(fù)脈沖鍵PS1或PS2,CP輸入信號可選用5.4.1節(jié)創(chuàng)建的div8模塊符號中的1Hz信號。例2要求四個(gè)彩燈按亮燈規(guī)律:1000→1100→1110→1111→0111→0011→0001→0000→1000…依次循環(huán)。
1.參考設(shè)計(jì)步驟
(1)新建圖形文件,用“D觸發(fā)器DFF”、“反相器NOT”設(shè)計(jì)彩燈控制電路light2,如圖5-60所示。圖5-60彩燈控制電路light2(2)調(diào)用div8模塊符號,CP接1Hz,設(shè)置light2為項(xiàng)目的頂層文件,分析與綜合通過后,仿真彩燈控制電路。(3)功能仿真驗(yàn)證正確后,增加輸出端口ACOM,分析與綜合,分配引腳,編譯通過后下載檢查設(shè)計(jì)結(jié)果。5.4.3用74LS194設(shè)計(jì)彩燈控制電路
1.集成移位寄存器
移位寄存器在時(shí)鐘控制脈沖有效時(shí),寄存器中存儲的數(shù)碼同時(shí)順序向高位(左移)或向低位(右移)移動(dòng)一位。所以,移位寄存器的各觸發(fā)器狀態(tài)同時(shí)變化,為同步時(shí)序電路。移位寄存器數(shù)據(jù)可以按序逐位從最低位或最高位串行輸入寄存器,也可以通過置數(shù)端并行輸入寄存器。所以移位寄存器的數(shù)據(jù)輸入、輸出方式有:并行輸入/并行輸出、并行輸入/串行輸出、串行輸入/并行輸出、串行輸入/串行輸出。移位寄存器可以構(gòu)成環(huán)形計(jì)數(shù)器或扭環(huán)計(jì)數(shù)器。
n位移位寄存器構(gòu)成的環(huán)形計(jì)數(shù)器有n個(gè)有效狀態(tài),2n-n個(gè)無效狀態(tài)。將移位寄存器的第n位輸出反相后連到串行輸入端,可以構(gòu)成2n進(jìn)制的扭環(huán)計(jì)數(shù)器;而將移位寄存器的第n位輸出和第n-1位輸出通過與非門綜合后連到串行輸入端,可以構(gòu)成2n-1進(jìn)制的扭環(huán)計(jì)數(shù)器。圖5-61集成計(jì)數(shù)器74LS194引腳排列圖
2.四位移位寄存器74LS194
四位移位寄存器74LS194的引腳排列如圖5-61所示,邏輯功能如表5-7所示。在方式信號S1、S0控制下,74LS194可以實(shí)現(xiàn)右移(串行數(shù)據(jù)從DSR輸入)、左移(串行數(shù)據(jù)從DSL輸入)、置數(shù)(并行數(shù)據(jù)從D0、D1、D2、D3輸入)及保持(輸出不變)功能。圖5-61(a)為常規(guī)74LS194的引腳圖,圖5-61(b)為在QuartusⅡ軟件的器件庫中的74LS194引腳圖,二者在引腳命名上稍有區(qū)別,如A、B、C、D對應(yīng)D0、D1、D2、D3。5.4.4二十四進(jìn)制計(jì)數(shù)器
2.參考設(shè)計(jì)步驟
(1)新建項(xiàng)目工程,用計(jì)數(shù)器74LS160或74LS161設(shè)計(jì)二十四進(jìn)制計(jì)數(shù)器電路。
(2)分析與綜合通過后,仿真二十四進(jìn)制計(jì)數(shù)器電路。(3)功能仿真驗(yàn)證正確后,創(chuàng)建二十四進(jìn)制計(jì)數(shù)器邏輯符號。
3.四位十進(jìn)制同步計(jì)數(shù)器74LS160
四位十進(jìn)制同步計(jì)數(shù)器74LS160模為10,輸出狀態(tài)為0000~1001,管腳如圖5-62所示圖5-62
74LS160邏輯符號
LDN:同步預(yù)置數(shù)控制端,低電平有效,優(yōu)先級別僅次于清零端。
CLRN:異步清零端,低電平有效,優(yōu)先級別最高。ENT,ENP:計(jì)數(shù)使能端,高電平有效,兩者
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024醫(yī)療期間勞動(dòng)合同履行與員工健康檔案管理協(xié)議3篇
- 2024年度智能安防系統(tǒng)建設(shè)外包工程合同3篇
- 2024年離婚雙方財(cái)產(chǎn)贈與合同范本版B版
- 2024年設(shè)計(jì)工作室創(chuàng)意成果保密合同3篇
- 2024年泵車設(shè)備維護(hù)與管理合同
- 模特大賽媒體贊助合同
- 智能教育醫(yī)療設(shè)備維護(hù)服務(wù)合同
- 銷售合同補(bǔ)貨協(xié)議
- 安徽行業(yè)實(shí)習(xí)勞動(dòng)合同樣本
- 建設(shè)工程提前終止合同范本3篇
- 客戶管理系統(tǒng)技術(shù)服務(wù)合同
- 中國HDMI高清線行業(yè)市場動(dòng)態(tài)分析及未來趨勢研判報(bào)告
- 活雞運(yùn)輸合同范例
- DB22T 277-2011 建筑電氣防火檢驗(yàn)規(guī)程
- 2024年基本公共衛(wèi)生服務(wù)工作計(jì)劃(三篇)
- 某物流公司投標(biāo)書
- 2024-2030年中國錸行業(yè)供需趨勢及發(fā)展規(guī)模分析報(bào)告
- 2023-2024學(xué)年《軟件設(shè)計(jì)與體系結(jié)構(gòu)》模擬試卷及答案解析
- 上海曹楊二中2025屆物理高二第一學(xué)期期末調(diào)研試題含解析
- 2024-2025學(xué)年八年級上學(xué)期地理期中模擬試卷(湘教版+含答案解析)
- 北京郵電大學(xué)《大數(shù)據(jù)技術(shù)與應(yīng)用實(shí)踐》2023-2024學(xué)年期末試卷
評論
0/150
提交評論