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

正文內(nèi)容

基于fpga的數(shù)字調(diào)制解調(diào)器設(shè)計畢業(yè)設(shè)計(編輯修改稿)

2024-07-15 15:43 本頁面
 

【文章內(nèi)容簡介】 alTap II 嵌入式邏輯分析器,提供了芯片測試的一個很好的途徑。通過 SignalTap II 測試芯片無需外接專用儀器,它在器件內(nèi)部捕獲節(jié)點進行分析和判斷系統(tǒng)故障。本文通過對 Cyclone EP2C35F672C6 器件的實驗證實該測試手段大大提高系統(tǒng)的調(diào)試能力,具有很好的效果。圖 是 SignalTap II 嵌入到 FPGA 的結(jié)構(gòu)圖: 12圖 將邏輯分析儀嵌入到 FPGA中使用 SignalTap II 的一般流程是:設(shè)計人員在完成設(shè)計并編譯工程后,建立 SignalTap II (.stp)文件并加入工程、配置 STP 文件、編譯并下載設(shè)計到 FPGA、在 Quartus II 軟件中顯示被測信號的波形、在測試完畢后將該邏輯分析儀從項目中刪除。以下描述設(shè)置 SignalTap II 文件的基本流程:(1)設(shè)置采樣時鐘:采樣時鐘決定了顯示信號波形的分辨率,它的頻率要大于被測信號的最高頻率,否則無法正確反映被測信號波形的變化。SignalTap II 在時鐘上升沿將被測信號存儲到緩存。(2)設(shè)置被測信號:可以使用 Node Finder 中的 SignalTap II 濾波器查找所有預綜合和布局布線后的 SignalTap II 節(jié)點,添加要觀察的信號。邏輯分析器不可測試的信號包括:邏輯單元的進位信號、PLL 的時鐘輸出、JTAG 引腳信號、LVDS(低壓差分)信號。(3)配置采樣深度、確定 RAM 的大小。(4)設(shè)置 buffer acquisition mode:buffer acquisition mode 包括循環(huán)采樣存儲、連續(xù)存儲兩種模式。循環(huán)采樣存儲也就是分段存儲,將整個緩存分13成多個片段(segment) ,每當觸發(fā)條件滿足時就捕獲一段數(shù)據(jù)。該功能可以去掉無關(guān)的數(shù)據(jù),使采樣緩存的使用更加靈活。(5)觸發(fā)級別: SignalTap II 支持多觸發(fā)級的觸發(fā)方式,最多可支持 10級觸發(fā)。(6)觸發(fā)條件:可以設(shè)定復雜的觸發(fā)條件用來捕獲相應(yīng)的數(shù)據(jù),以協(xié)助調(diào)試設(shè)計。當觸發(fā)條件滿足時,在 signalTap 時鐘的上升沿采樣被測信號。完成 STP 設(shè)置后,將 STP 文件同原有的設(shè)計下載到 FPGA 中,在 Quartus II 中 SignalTap II 窗口下查看邏輯分析儀捕獲結(jié)果。 SignalTap II 可將數(shù)據(jù)通過多余的 I/O 引腳輸出,以供外設(shè)的邏輯分析器使用;或輸出為csv、tbl、vcd、vwf 文件格式以供第三方仿真工具使用。 VHDL語言簡介VHDL 的英文全名是 VeryHighSpeed Integrated Circuit Hardware Description Language,誕生于 1982 年。1987 年底,IEEE 將 VHDL 替代了原有的非標準的硬件描述語言,并被美國國防部確認為標準硬件描述語言。VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu),行為,功能和接口。除了含有許多具有硬件特征的語句外,VHDL 的語言形式和描述風格與句法十分類似于一般的計算機高級語言。VHDL 的程序結(jié)構(gòu)特點是將一項工程設(shè)計,或稱設(shè)計實體(可以是一個元件,一個電路模塊或一個系統(tǒng))分成外部(或稱可視部分, 及端口) 和內(nèi)部(或稱不可視部分) ,既涉及實體的內(nèi)部功能和算法完成部分。在對一個設(shè)計實體定義了外部界面后,一旦其內(nèi)部開發(fā)完成后,其他的設(shè)計就可以直接調(diào)用這個實體。這種將設(shè)計實體分成內(nèi)外部分的概念是VHDL 系統(tǒng)設(shè)計的基本點。14VHDL 語言的基本結(jié)構(gòu):一個完整的 VHDL 語言程序通常包括實體聲明(Entity Declaration) 、結(jié)構(gòu)體(Architecture Body) 、配置(Configuration) 、程序包(Package )和庫( Library)五個組成部分。其中實體和結(jié)構(gòu)體是不可缺少的。前 4 種分別是編譯的源設(shè)計單元。庫存放已編譯的實體,結(jié)構(gòu)體,配置和包;實體用于描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為;包存放各設(shè)計模塊都能共享的數(shù)據(jù)類型,常數(shù)和子程序等;配置用于從庫中選取所需要單元來支持系統(tǒng)的不同設(shè)計,即對庫的使用。庫可由用戶生成或芯片制造商提供,以便共享。實體是描述系統(tǒng)的外部端口,實體說明用于描述設(shè)計系統(tǒng)的外部端口輸入、輸出特征;結(jié)構(gòu)體是描述系統(tǒng)內(nèi)部的結(jié)構(gòu)和行為,即用于描述設(shè)計系統(tǒng)的行為、系統(tǒng)數(shù)據(jù)的流程和系統(tǒng)內(nèi)部的結(jié)構(gòu)及其實現(xiàn)的功能。配置為屬性選項,描述層與層之間、實體與結(jié)構(gòu)體之間的連接關(guān)系,比如高層設(shè)計需要將低層實體作為文件加以利用,這就要用到配置說明,用于從庫中選取所需設(shè)計單元來組成系統(tǒng)設(shè)計的不同版本。程序包為屬性選項,用于把共享的定義放置其中,具體地說主要用來存放各種設(shè)計的模塊都能共享的數(shù)據(jù)類型、常量和子程序等。庫主要用于存放已經(jīng)編譯的實體、結(jié)構(gòu)體、程序包和配置,可由用戶自主生成或有 ASIC 芯片制造商提供相應(yīng)的庫,以便于設(shè)計中為大家所共享。 VHDL的基本結(jié)構(gòu) 一個VHDL設(shè)計由若干個VHDL文件構(gòu)成,每個文件主要包含如下三個部分中的一個或全部: 15(1)程序包(Package); (2) 庫(library)(3)實體(Entity); (4)結(jié)構(gòu)體(Architecture)。 VHDL組成示意圖一個完整的VHDL設(shè)計必須包含一個實體和一個與之對應(yīng)的結(jié)構(gòu)體,一個實體可對應(yīng)多個結(jié)構(gòu)體,以說明采用不同方法來描述電路。(1)程序包(Package) 程序包是用來單純羅列VHDL語言中所要用到的信號定義、常數(shù)定義、數(shù)據(jù)類型、元件語句、函數(shù)定義和過程定義等,它是一個可編譯的設(shè)計單元,也是庫結(jié)構(gòu)中的一個層次。要使用程序包時,可以用USE語句說明。例如: USE ; 該語句表示在VHDL程序中要使用名為STD_LOGIC_1164的程序包中所有定義或說明項。 一個程序包由兩大部分組成:包頭(Header)和包體(Package Body),其中包體是一個可選項,也就是說,程序包可以只由包頭構(gòu)成。一般包頭列出所有項的名稱,而在包體具體給出各項的細節(jié)。 (2)庫(Library) 庫是專門存放預先編譯好的程序包(package)的地方。在VHDL語言中,庫的說明總是放在設(shè)計單元的最前面: LIBRARY 庫名; VHDL 設(shè)計VHDL 文件程序包(Packages)聲明在設(shè)計或?qū)嶓w中將要用到的常數(shù),數(shù)據(jù)類型,元件及子程序等實體(Entities)聲明到其他實體及其他設(shè)計的接口,即定義本設(shè)計輸入輸出端口結(jié)構(gòu)體(Architectures)定義了實體的實現(xiàn),即電路的具體描述16這樣,在設(shè)計單元內(nèi)的語句就可以使用庫中的數(shù)據(jù)。由此可見,庫的好處就在于使設(shè)計者可以共享已經(jīng)編譯過的設(shè)計結(jié)果。在VHDL語言中可以存在多個不同的庫,但是庫和庫之間是獨立的,不能互相嵌套。實際中一個庫就對應(yīng)一個目錄,預編譯程序包的文件就放在此目錄中。用戶自建的庫即為設(shè)計文件所在目錄,庫名與目錄名的對應(yīng)關(guān)系可在編譯軟件中指定。庫說明語句的作用范圍從一個實體說明開始到它所屬的構(gòu)造體、配置為止。當一個源程序中出現(xiàn)兩個以上的實體時,兩條作為使用庫的說明語句應(yīng)在每個實體說明語句前重復書寫?!皊td”與“ieee”中所包含的程序包的簡單解釋。 STD與IEEE的程序包庫名 程序包名 包中預定義內(nèi)容std standard VHDL類型,如bit, bit_vectorieee std_logic_1164 定義std_ logic, std_ logic_ vector等ieee numeric std 定義了一組基s td_logic_1164中定 義的類型上的算術(shù)運算符,如“+”、“”、SHL、SHR等ieee std_ logic arith 定義有符號與無符 號類型,及基于這些類型上的算術(shù)運算17ieee std_ logic_ signed 定義了基于std_logic與 std_logic_vector 類型上的有符號的算術(shù)運算ieee std_ logic_ unsigned 定義了基于std_logic與std_logic_vector 類型上的無符號的算術(shù)運算(3)實體(entity)實體是VHDL設(shè)計中最基本的模塊,VHDL表達的所有設(shè)計均與實體有關(guān)。設(shè)計的最頂層是頂層實體。如果設(shè)計分層次,那么在頂層實體中將包含較低級別的實體。 實體中定義了該設(shè)計所需的輸入/輸出信號,信號的輸入/輸出類型被稱為端口模式,同時實體中還定義他們的數(shù)據(jù)類型。 任何一個基本設(shè)計單元的實體說明都具有如下的結(jié)構(gòu): Entity entity_name 實體名 is port ( 信號名{,信號名}:端口模式 端口類型; …… 信號名{,信號名}:端口模式 端口類型 ); End entity_ name。 每個端口所定義的信號名在實體中必須是唯一的,說明信號名的屬性包括端口模式和端口類型,端口模式?jīng)Q定信號的流向,端口類型決定端口所采用的數(shù)據(jù)類型。 端口模式(MODE)有以下幾種類型: 18IN 信號進入實體但并不輸出; OUT 信號離開實體但并不輸入;并且不會在內(nèi)部反饋使用;INOUT 信號是雙向的(既可以進入實體,也可以離開實體);BUFFER 信號輸出到實體外部,但同時也在實體內(nèi)部反饋。 端口類型(TYPE)有以下幾種類型: Integer:可用作循環(huán)的指針或常數(shù),通常不用于I/O信號; Bit:可取值“0”或“1”; std_ logic:工業(yè)標準的邏輯類型,取值“0”,“1”,“X” 和“Z” ; std_ logic_ vector:std_ logic的組合,工業(yè)標準的邏輯類型。 由此看出,實體(ENTITY)類似于原理圖中的符號,它并不描述模塊的具體功能。實體的通信點是端口(PORT),它與模塊的輸入/輸出或器件的引腳相關(guān)聯(lián)。 (4)結(jié)構(gòu)體(architecture)結(jié)構(gòu)體是VHDL設(shè)計中最主要部分,它具體地指明了該基本設(shè)計單元的行為、元件及內(nèi)部的連接關(guān)系,也就是說它定義了設(shè)計單元具體的功能。結(jié)構(gòu)體對其基本設(shè)計單元的輸入輸出關(guān)系可以用3種方式進行描述,即行為描述(基本設(shè)計單元的數(shù)學模型描述)、寄存器傳輸描述(數(shù)據(jù)流描述)和結(jié)構(gòu)描述(邏輯元件連接描述)。不同的描述方式,只體現(xiàn)在描述語句上,而結(jié)構(gòu)體的結(jié)構(gòu)是完全一樣的。 一個完整的、能被綜合實現(xiàn)的VHDL設(shè)計必須有一個實體和對應(yīng)的結(jié)構(gòu)體,一個實體可以對應(yīng)一個或多個結(jié)構(gòu)體,由于結(jié)構(gòu)體是對實體功能的具體描述,因此它一定要跟在實體的后面,通常先編譯實體后才能對結(jié)構(gòu)體進行編譯。19 VHDL的基本語法 (1) VHDL語言的客體及其分類 在VHDL語言中凡是可以賦予一個值的對象就稱為客體(Object)。客體主要包括以下3種:信號、常數(shù)、變量(Signal、Constant、Variable)。在電子線路中,這3類客體通常都具有一定的物理含義。 ① 常數(shù)(Constant) 常數(shù)是一個固定的值。所謂常數(shù)說明就是對某一常數(shù)名賦予一個固定的值。通常賦值在程序開始前進行,該值的數(shù)據(jù)類型則在說明語句中指明。常數(shù)說明的一般格式如下: Constant 常數(shù)名:數(shù)據(jù)類型:=表達式; 常量在定義時賦初值,賦值符號為“:=”。 ② 變量(Variable) 變量只能在進程語句、函數(shù)語句和過程語句中使用,它是一個局部量。在仿真過程中它不像信號那樣,到了規(guī)定的仿真時間才進行賦值,變量的賦值是立即生效的。變量說明語句的格式如下: Variable 變量名:數(shù)據(jù)類型 約束條件:=表達式; 變量的賦值符號“:=”。 ③ 信號(Signal) 信號是電子線路內(nèi)部硬件連接的抽象。它除了沒有數(shù)據(jù)流動方向說明外,其它性質(zhì)幾乎和“端口”一致。信號通常在構(gòu)造體、程序包和實體中說明。信號說明語句的格式如下: Signal 信號名:數(shù)據(jù)類型 約束條件=表達式; 20信號的賦值符號為“=”。 (2) VHDL的運算符 在VHDL語言中共有4類運算符,可以分別進行邏輯運算(Logical)、關(guān)系運算(Relational)、算術(shù)運算(Arithmetic)和并置運算(Concatenation)。被運算符所運算的數(shù)據(jù)應(yīng)該與運算符所要求的類型相一致。另外,運算符是有優(yōu)先級的,例如邏輯運算符NOT,在所有的運算符中優(yōu)先級最高。 (3) VHDL常用語句VHDL 常用語句分并行(Concurrent)語句和順序(Sequential)語句: 并行語句(Concurrent):并行語句總是處于進程(PROCESS)的外部。所有并行語句都是并行執(zhí)行的,即與它們出現(xiàn)的先后次序無關(guān)。如when .else語句。 順序語句(Sequential):順序語句總是處于進程的內(nèi)部,并且從仿真的角度來看是順序執(zhí)行的。如ifthenelse語句21 ASK的調(diào)制與解調(diào)振幅鍵控是正弦載波的幅度隨數(shù)字基帶信號而變化的數(shù)字調(diào)制。當數(shù)字基帶信號為二進制時,則為二進制振幅鍵控。 ASK調(diào)制原理二進制幅移鍵控 ASK 信號是利用二進制數(shù)字基帶脈沖序列中的 “1”、“0”碼去控制載波輸出的有或無得到的。對單極性不歸零的矩形脈沖序列而言, “1”碼打開通路,送出載波;“0”碼關(guān)閉通路,輸出零電平,所以又稱為通斷鍵控 OOK(onoff Keying)。一般情況下,調(diào)制信號是具有一定波形形狀的二進制序列,即 ()式 31 中 Ts 為碼元間隔;g(t)為調(diào)制信號的脈沖形狀表達式,為討論方便,這里設(shè)其為單極性不歸零的矩形脈沖; 為二進制符號,見公式 : ()?????????ns
點擊復制文檔內(nèi)容
畢業(yè)設(shè)計相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1