freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的數(shù)字頻率計(jì)設(shè)計(jì)(已改無(wú)錯(cuò)字)

2023-03-19 06:26:51 本頁(yè)面
  

【正文】 FPGA 芯片的管腳輸入后進(jìn) 入可編程連線,然后作為地址線連到到 LUT, LUT 根據(jù)圖 33 中虛線框內(nèi)的邏輯關(guān)系通過(guò)編程已經(jīng)事先寫(xiě)入了所有可能的邏輯結(jié)果,所以 LUT 通過(guò)地址查找到相應(yīng)的數(shù)據(jù),然后輸出,這樣組合邏輯就實(shí)現(xiàn)了。電路中 D 觸發(fā)器是可利用 LUT 后面 D 觸發(fā)器來(lái)實(shí)現(xiàn)。時(shí)鐘信號(hào) CLK 由 I/O 腳輸入后進(jìn)入芯片內(nèi)部的時(shí)鐘專用通道,直接連接到觸發(fā)器的時(shí)鐘端。基于 FPGA的數(shù)字頻率計(jì)設(shè)計(jì) 11 圖 33 數(shù)字邏輯電路示例 觸發(fā)器的輸出與 I/O 腳相連,把結(jié)果輸出到芯片管腳。這樣 FPGA 就完成了圖 33所示電路的功能。這個(gè)電路是一個(gè)很簡(jiǎn)單的例子,只需要一個(gè) LUT 加上一個(gè)觸發(fā)器就可以完成。對(duì)于一個(gè) LUT 無(wú)法完成的電路,就需要通過(guò)進(jìn)位邏輯將多個(gè)單元相連,這樣 FPGA 就可以實(shí)現(xiàn)復(fù)雜的邏輯。 EDA 技術(shù)與 VHDL VHDL 語(yǔ)言 本文的電路設(shè)計(jì)語(yǔ)言采用了傳統(tǒng)的電路設(shè)計(jì)語(yǔ)言 —— VHDL。這是一種高級(jí)的、被廣泛應(yīng)用于設(shè)計(jì)電路的硬件開(kāi)發(fā)語(yǔ)言。此硬件語(yǔ)言最早在上世紀(jì)的八十年代浮現(xiàn)于人們眼前,在 VHDL 語(yǔ)言被設(shè)計(jì)之處,是美國(guó)的國(guó)防部為了國(guó)家軍隊(duì)提高硬件開(kāi)發(fā)的可靠性與縮短開(kāi)發(fā)時(shí)間而研發(fā)的一種硬件語(yǔ)言。在那個(gè)時(shí)候, VHDL 的使用范圍還是分有限。 VHDL 即 “VeryHighSpeed Integrated Circuit Hardware Description Language”。在漢文的意思中,是速度非??斓?、集成的、用來(lái)秒速電路硬件的語(yǔ)言。經(jīng)過(guò)多年的發(fā)展與使用,如今已經(jīng)被廣泛應(yīng)用于各個(gè)領(lǐng)域,尤其是在數(shù)字電路的設(shè)計(jì)方面應(yīng)用十分廣泛。在我國(guó)大陸地區(qū), VHDL 硬件語(yǔ)言主要被應(yīng)用于 FPGA/CPLD/EPLD 的開(kāi)發(fā)設(shè)計(jì)之中,只有一些非常有才能的企業(yè)應(yīng)用 VHDL 來(lái)設(shè)計(jì)開(kāi)發(fā) ASIC。 被主要使用在對(duì)系統(tǒng)結(jié)構(gòu)行為、功能接口的 VHDL 語(yǔ)言,是一種硬件特征明顯的語(yǔ)言,但它不僅僅包括了硬件特征的 語(yǔ)句,它描述語(yǔ)句的描述方式、語(yǔ)句風(fēng)格甚至到VHDL 的語(yǔ)法都是特別接近計(jì)算機(jī)程序設(shè)計(jì)高級(jí)語(yǔ)言的,這在使用 VHDL 進(jìn)行硬件程序設(shè)計(jì)之時(shí),十分的方便。如此一來(lái),通過(guò)使用 VHDL 所開(kāi)發(fā)設(shè)計(jì)的程序就具備了這樣一個(gè)特點(diǎn):可以把一個(gè)工程項(xiàng)目中 抑或 者是某個(gè)設(shè)計(jì)實(shí)體(譬如一個(gè)系統(tǒng)或者一個(gè)元基于 FPGA的數(shù)字頻率計(jì)設(shè)計(jì) 12 件)分成外部或者內(nèi)部,不但涉及實(shí)體的功能,還實(shí)現(xiàn)了算法部分。這么做的好處是:對(duì)已經(jīng)定義了外部界面的涉及實(shí)體,一旦這個(gè)實(shí)體的內(nèi)部完成了,那么其他的設(shè)計(jì)就能夠調(diào)用這個(gè)定義了外部界面的實(shí)體,這樣大大的減少了開(kāi)發(fā)時(shí)間,提高了開(kāi)發(fā)效率。在VHDL 程序 設(shè)計(jì)中,這一部分的優(yōu)勢(shì)與概念是 VHDL 系統(tǒng)的最基本的一個(gè)點(diǎn)。 EDA 設(shè)計(jì)方法 EDA 技術(shù)的發(fā)展從理念上顛覆了傳統(tǒng)的電子設(shè)計(jì)方法。傳統(tǒng)的電子設(shè)計(jì)方法通常是自底向上的,即首先確定構(gòu)成系統(tǒng)的最底層的電路模塊或元件的結(jié)構(gòu)和功能,然后根據(jù)主系統(tǒng)的功能要求,將它們組合成更大的功能塊,使它們的結(jié)構(gòu)和功能滿足高層系統(tǒng)的要求,以此流程,逐步向上遞推,直至完成整個(gè)目標(biāo)系統(tǒng)的設(shè)計(jì)。自底向上的設(shè)計(jì)方法的特點(diǎn)是必須首先關(guān)注并致力于解決系統(tǒng)最底層硬件的可獲得性,以及它們的功能特性方面的諸多細(xì)節(jié)問(wèn)題;在整個(gè)逐級(jí)設(shè)計(jì)和測(cè)試過(guò)程 中,始終必須顧及具體目標(biāo)器件的技術(shù)細(xì)節(jié)。在這個(gè)設(shè)計(jì)過(guò)程中的任一時(shí)刻,最底層目標(biāo)器件的更換,或某些技術(shù)參數(shù)不滿足總體要求,或缺貨,或由于市場(chǎng)競(jìng)爭(zhēng)的變化,臨時(shí)提出降低系統(tǒng)成本,提高運(yùn)行速度等不可預(yù)測(cè)的外圍因素,都可使前面的工作前功盡棄,工作又得重新開(kāi)始。由此可見(jiàn),在某些情況下,自底向上的設(shè)計(jì)方法是一種低效、低可靠性、費(fèi)時(shí)費(fèi)力、且成本高昂的設(shè)計(jì)方法。 在電子設(shè)計(jì)領(lǐng)域,自頂向下的設(shè)計(jì)方法在 EDA 技術(shù)得到快速發(fā)展和成熟應(yīng)用后才成為可能。自頂向下設(shè)計(jì)方法的有效應(yīng)用必須基于功能強(qiáng)大的 EDA 工具,具備集系統(tǒng)描述、行為描述和 結(jié)構(gòu)描述功能為一體的 VHDL 語(yǔ)言,以及先進(jìn)的 ASIC 制造工藝和 FPGA 開(kāi)發(fā)技術(shù)。當(dāng)今,自頂向下的設(shè)計(jì)方法已經(jīng)是 EDA 技術(shù)的首選設(shè)計(jì)方法,是 ASIC或 FPGA 開(kāi)發(fā)的主要設(shè)計(jì)手段。 自頂向下的設(shè)計(jì)方法,就是在整個(gè)設(shè)計(jì)流程中各設(shè)計(jì)環(huán)節(jié)逐步求精的過(guò)程。一個(gè)項(xiàng)目的設(shè)計(jì)過(guò)程包括從自然語(yǔ)言說(shuō)明到 VHDL 的系統(tǒng)行為描述,從系統(tǒng)的分解、 RTL( Register Transport Level,寄存器傳輸級(jí))模型的建立、門(mén)級(jí)模型產(chǎn)生到最終的可以物理布線實(shí)現(xiàn)的底層電路,就是從高抽象級(jí)別到低抽象級(jí)別的整個(gè)設(shè)計(jì)周期。后端設(shè)計(jì)還必須 包括涉及硬件的物理結(jié)構(gòu)實(shí)現(xiàn)方法和測(cè)試(仍然利用計(jì)算機(jī)完成)。 應(yīng)用 VHDL 進(jìn)行自頂向下的設(shè)計(jì),就是使用 VHDL 模型在所有綜合級(jí)別上對(duì)硬件設(shè)計(jì)進(jìn)行說(shuō)明、建模和仿真測(cè)試。(這里的綜合是指綜合器將用 VHDL 語(yǔ)言描述的電子基于 FPGA的數(shù)字頻率計(jì)設(shè)計(jì) 13 系統(tǒng),通過(guò) VHDL 到 RTL,從 RTL 到邏輯門(mén),從邏輯門(mén)最終轉(zhuǎn)換為可直接配置 FPGA 的配置網(wǎng)表文件或進(jìn)行 ASIC 設(shè)計(jì)所需的版圖文件的過(guò)程。)主系統(tǒng)和子系統(tǒng)最初的功能要求在 VHDL 里體現(xiàn)為可以被 VHDL 仿真程序驗(yàn)證的可執(zhí)行程序。由于綜合器(計(jì)算機(jī)軟件, EDA 工具之一)可以將高級(jí)別的模型轉(zhuǎn)化生成門(mén)級(jí)模型,所以整個(gè)設(shè)計(jì)過(guò)程基本是由計(jì)算機(jī)自動(dòng)完成的。人為介入的方式主要是根據(jù)仿真的結(jié)果和優(yōu)化的指標(biāo),控制邏輯綜合的方式和指向。因此,在設(shè)計(jì)周期中,要根據(jù)仿真的結(jié)果進(jìn)行優(yōu)化和升級(jí),以及對(duì)模型進(jìn)行及時(shí)修改,以改進(jìn)系統(tǒng)或子系統(tǒng)的功能,更正設(shè)計(jì)錯(cuò)誤,提高目標(biāo)系統(tǒng)的工作速度,較少面積耗用,降低功耗和成本等。在這些過(guò)程中,由于設(shè)計(jì)的下一步是基于當(dāng)前的設(shè)計(jì),即使發(fā)現(xiàn)問(wèn)題或做新的修改而需從頭開(kāi)始設(shè)計(jì),也不妨礙整體的設(shè)計(jì)效率。此外, VHDL 設(shè)計(jì)的可移植性、 EDA 平臺(tái)的通用性以及與硬件結(jié)構(gòu)的無(wú)關(guān)性,使得前期的設(shè)計(jì)可以很容易地應(yīng)用于新的設(shè)計(jì)項(xiàng)目,而且設(shè)計(jì)的周期可以顯著縮短。自頂向下的設(shè)計(jì)方法可以將系統(tǒng)分解為各個(gè)功能模塊,不同的模塊可以同時(shí)設(shè)計(jì)、仿真、測(cè)試,最后將不同的模塊集成為最終的系統(tǒng)模型,并對(duì)其進(jìn)行綜合測(cè)試和評(píng)價(jià)。 基于 EDA 工具的 FPGA 設(shè)計(jì)流程 一個(gè)完整的 EDA 設(shè)計(jì)流程既是自頂向下設(shè)計(jì)方法的具體實(shí)施途徑,也是 EDA 工具軟件本身的組成結(jié)構(gòu)。使用 VHDL 硬件描述語(yǔ)言對(duì)數(shù)字電路進(jìn)行設(shè)計(jì),一般的設(shè)計(jì)流程可用圖 34 表示。 具體 的設(shè)計(jì)流程為: 1. 設(shè)計(jì)要求的定義 在從事設(shè)計(jì)進(jìn)行編寫(xiě) VHDL 代碼之前,必須先對(duì)設(shè)計(jì)目的和要求有一個(gè)明確的認(rèn)識(shí)。例如,要設(shè)計(jì)的功能是什么?對(duì)所需的信號(hào)建立時(shí)間、時(shí)鐘 /輸出時(shí)間、最大系統(tǒng)工作頻率、關(guān)鍵的路徑等這些要求,要有一個(gè)明確的定義,然后再選擇適當(dāng)?shù)脑O(shè)計(jì)方式和相應(yīng)的邏輯器件,進(jìn)行總體方案的設(shè)計(jì)。 2. 設(shè)計(jì) VHDL 描述 按照 VHDL 的程序格式要求,用 VHDL 程序語(yǔ)言將設(shè)計(jì)方案表述出來(lái)。 VHDL 語(yǔ)言的代碼與其它計(jì)算機(jī)程序語(yǔ)言的代碼有很大的不同,它是和硬件相關(guān)的,編寫(xiě) VHDL 程序時(shí)必須清醒地認(rèn)識(shí)到是正在設(shè)計(jì) 硬件,編寫(xiě)的 VHDL 代碼必須能夠綜合到采用可編程邏輯器件來(lái)實(shí)現(xiàn)的數(shù)字邏輯之中。 基于 FPGA的數(shù)字頻率計(jì)設(shè)計(jì) 14 設(shè)計(jì)要求的定義設(shè)計(jì)的 V H D L 描述V H D L 文本編輯綜合F P G A 適配F P G A 器件和系統(tǒng)電路時(shí)序與功能門(mén)級(jí)電路功能仿真邏輯綜合器結(jié)構(gòu)綜合器F P G A 編程下載 圖 34 基于 FPGA的 EDA開(kāi)發(fā)流程 3. VHDL 文本編輯 使用編輯器將編寫(xiě)好的 VHDL 語(yǔ)言源程序輸入到計(jì)算機(jī)當(dāng)中。編輯器可以使用EDA 開(kāi)發(fā)環(huán)境自帶的編輯器,也可以使用計(jì)算機(jī)上任一款文本編輯器如記事本等。但是不要使用 office word,因?yàn)?word 中帶有一些隱形字符,不適合作為任一程序語(yǔ)言的編輯器。 4. 源代碼的功能仿真 功能仿真是直接對(duì) VHDL 描述的邏輯 功能進(jìn)行測(cè)試模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)要求。對(duì)于大型設(shè)計(jì),采用 VHDL 仿真軟件對(duì)其進(jìn)行功能仿真可以節(jié)省時(shí)間,可以在設(shè)計(jì)的早期階段檢測(cè)到設(shè)計(jì)中的錯(cuò)誤,從而進(jìn)行修正,以便盡可能地減少對(duì)設(shè)計(jì)日程計(jì)劃的影響。因?yàn)閷?duì)于大型設(shè)計(jì),其綜合優(yōu)化、配置往往要花費(fèi)好幾個(gè)小時(shí),在綜合之前對(duì)源代碼仿真,就可以大大減少設(shè)計(jì)重復(fù)次數(shù)和修正錯(cuò)誤的時(shí)間。但對(duì)于小型設(shè)計(jì),往往不需要先對(duì) VHDL 原代碼進(jìn)行功能仿真,即使做了,意義也不大。因?yàn)閷?duì)于小型設(shè)計(jì),其綜合優(yōu)化、配置花費(fèi)的時(shí)間不多,而且在綜合優(yōu)化之后,往往會(huì)發(fā)現(xiàn)為了實(shí)現(xiàn)性能目標(biāo) ,將需要修改原設(shè)計(jì)。在這種情況下,用戶事先在源代碼仿真時(shí)所花費(fèi)的時(shí)間是毫無(wú)意義的,因?yàn)橐坏└淖冊(cè)O(shè)計(jì),還必須重新再做仿真。 5. 綜合 基于 FPGA的數(shù)字頻率計(jì)設(shè)計(jì) 15 進(jìn)行綜合前要選擇最終使用的 FPGA 目標(biāo)器件,在輸入約束條件后, VHDL 綜合器將對(duì) VHDL 源代碼進(jìn)行綜合處理,最終產(chǎn)生 FPGA 的配置網(wǎng)表文件。整個(gè)的綜合過(guò)程就是將設(shè)計(jì)者輸入的 VHDL 語(yǔ)言源程序,依據(jù)給定的硬件結(jié)構(gòu)組件和約束控制條件進(jìn)行編譯、優(yōu)化、轉(zhuǎn)換和綜合,最終獲得門(mén)級(jí)電路甚至更底層的電路描述網(wǎng)表文件。 6. 適配 將綜合器產(chǎn)生的網(wǎng)表文件配置于指定的目標(biāo)器件中,使之產(chǎn)生最終 的下載文件,這一過(guò)程成為適配。完成適配的 EDA 工具稱為適配器,根據(jù)其功能也稱結(jié)構(gòu)綜合器。適配器將綜合后的網(wǎng)表文件針對(duì)某一具體的目標(biāo)器件進(jìn)行邏輯映射操作,其中包括底層器件配置、邏輯分割、邏輯優(yōu)化、邏輯布局布線操作。適配完成后可以利用適配所產(chǎn)生的仿真文件作精確的時(shí)序仿真,同時(shí)產(chǎn)生可用于編程的下載文件。 7. 時(shí)序仿真 時(shí)序仿真就是接近真實(shí)器件運(yùn)行特性的仿真,仿真文件中已包含了器件硬件特性參數(shù),因而,仿真精度高。但時(shí)序仿真文件必須來(lái)自針對(duì)具體器件的綜合器與適配器。綜合后所得的網(wǎng)表文件通常作為 FPGA 適配器的輸入 文件,產(chǎn)生的仿真網(wǎng)表文件中包含了精確的硬件延遲信息。 8. 編程下載 把適配后生成的下載或配置文件,通過(guò)編程器或編程電纜向 FPGA 下載,對(duì)目標(biāo) FPGA 器件進(jìn)行實(shí)際配置,以使其構(gòu)成所需要的電路系統(tǒng),便于進(jìn)行硬件測(cè)試和驗(yàn)證。 9. 硬件測(cè)試 最后將含有載入了設(shè)計(jì)的 FPGA 的硬件系統(tǒng)進(jìn)行統(tǒng)一測(cè)試,以便最終驗(yàn)證設(shè)計(jì)項(xiàng)目在目標(biāo)系統(tǒng)上的實(shí)際工作情況,以排除錯(cuò)誤,改進(jìn)設(shè)計(jì)。由以上 EDA 設(shè)計(jì)流程可知,這些 EDA 工具可以由 FPGA 器件廠商單獨(dú)提供,也可以統(tǒng)一包含在 EDA 的集成開(kāi)發(fā)環(huán)境當(dāng)中。本課題設(shè)計(jì)所用的 QuartusII 軟件包就是 Altera 公司提供的 FPGA/CPLD 開(kāi)發(fā)集成環(huán)境, Altera 公司是世界上最大的可編程邏輯器件供應(yīng)商之一。 頻率計(jì)的總體設(shè)計(jì)方案 對(duì)輸入源的信號(hào)進(jìn)行信號(hào)整形,然后在 FPGA 的 IO 口處采集輸入信號(hào)上升沿,若在一秒內(nèi)采集到的數(shù)據(jù)個(gè)數(shù)大于一個(gè),也即頻率輸入大于 1Hz,則對(duì)該信號(hào)計(jì)數(shù),在一秒內(nèi)采集到的數(shù)據(jù)個(gè)數(shù)記為當(dāng)前頻率;若采集到的信號(hào)不到 1Hz,也就是在 1s 內(nèi)沒(méi)有基于 FPGA的數(shù)字頻率計(jì)設(shè)計(jì) 16 一個(gè)有效信號(hào)采集到則開(kāi)始計(jì)數(shù),一直到下一個(gè)上升沿到來(lái),也就是一個(gè)信號(hào)周期時(shí)間T。然后用 1s 除以 T 得到當(dāng)前頻率值。最終值顯示到數(shù) 碼管上??傮w設(shè)計(jì)框圖如下圖35 所示: 信號(hào)輸入計(jì)數(shù)選擇頻率計(jì)數(shù)周期計(jì)數(shù)顯示單元 圖 35 總體設(shè)計(jì)框圖 頻率計(jì)各功能模塊的設(shè)計(jì)原理 本設(shè)計(jì)方案主要由計(jì)數(shù)單元設(shè)計(jì)、數(shù)碼管拆分過(guò)程、 LED 顯示除法器設(shè)計(jì)等幾部分模塊組成。下面將一一介紹其中的設(shè)計(jì)思路 。 計(jì)數(shù)單元設(shè)計(jì) 外部時(shí)鐘我們采用 50MHz 有源晶振,該設(shè)計(jì)可以提供穩(wěn)定且精準(zhǔn)的時(shí)鐘源。在此處我們?cè)O(shè)計(jì)方法上采用了同時(shí)計(jì)數(shù)法,就是在 50M 晶振的驅(qū)動(dòng)下,同時(shí)對(duì)輸入信號(hào)和時(shí)間計(jì)數(shù), 1s 的計(jì)數(shù)周期就是在 50M 晶振驅(qū)動(dòng) 50000000 次。 該部分代碼設(shè)計(jì)如下 。 計(jì)數(shù)單元外部時(shí)鐘部分代碼設(shè)計(jì) PROCESS (CLK_50M) BEGIN IF (CLK_50M39。EVENT AND CLK_50M = 39。139。) THEN IF ((NOT(RST_N)) = 39。139。) THEN T_t = 0000000000000000000000000。 TC_sel = 01。 T_1s_done = 00。 ELSE IF (T_t = to_stdlogicvector(ONE_SECOND_NUM, 25)) THEN T_t = 0000000000000000000000000。 基于 FPGA的數(shù)字頻率計(jì)設(shè)計(jì) 17 T_1s_done = 01。 IF (C_t 0000000000000000000000001) THEN TC_sel = 01。 ELSE TC_sel = 00。 END IF。 ELSE T_1s_done = 00。 T_t = T_t + 0000000000000000000000001。 END IF。 END IF。 END IF。 END PROCESS。 該部分設(shè)計(jì)同時(shí)做了仲裁功能,就是對(duì) 1s 時(shí)間內(nèi)的輸入信號(hào)做判斷,如果沒(méi)有輸入有效信號(hào),則認(rèn)定為低于 1Hz,此時(shí)進(jìn)入低頻邏輯過(guò)程。否則進(jìn)入高頻 —— 相對(duì)于低于 1Hz 的邏輯過(guò)程。 計(jì)數(shù)單元
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評(píng)公示相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1