【文章內(nèi)容簡介】
相比它更適合大規(guī)模系統(tǒng)的設(shè)計。 VHDL 是一種應(yīng)用非常廣泛的硬件描述語言 , 其語法與 C 語言類似 , 非常容易上手,使用靈活且方便。它可以用簡潔明確的代碼描述來進(jìn)行復(fù)雜控制邏輯的設(shè)計 可借助高級語言的精巧結(jié)構(gòu)來簡化電路的描述具有電路仿真與驗證機(jī) 制,從而保證設(shè)計的正確性。 方案三 使用硬件描述語言和畫層次原理圖相結(jié)合的 方法,來實現(xiàn)電路的整體設(shè)計,此方案針對本課題 來說,是最簡捷、最高效的途徑。 所以該系統(tǒng)采用了硬件描述語言與畫層次圖相結(jié)合的方法。 顯示功能 方案一 使用液晶顯示,如果我們只需要顯示數(shù)字可以選擇字符型液晶,但是液晶在控制方面比較復(fù)雜,規(guī)格繁多、接口方面不易選擇,價格比較昂貴。所以此課題沒有選擇該方案。 方案二 使用數(shù)碼管顯示,因為我們只需要顯示數(shù)字且沒有什么特殊的要求。基于數(shù)碼管的價格便宜,使用方便,易于控制等特點所以采用了該方案。 語音功能 方案一 采用自動存儲的語言芯片進(jìn)行語音的提醒和 錄制,但在實現(xiàn)時不能較好的與 FPGA 部分進(jìn)行兼容,而且語音的提醒音樂也較為單一。 方案二 采用單片機(jī)控制 ISD2560 語言芯片來實現(xiàn)語音的錄放,該方案能夠較好的與 FPGA 部分兼容而且該語音芯片自帶有存儲空間不需要外擴(kuò)存儲設(shè)備?;诖颂攸c 本 課題采用了 該 方案。 天津工程師范學(xué)院 2020 屆 本科生 畢業(yè)設(shè)計 5 3 原理概述 原理框圖及原理簡述 原理框圖 該課題的原理框圖如圖 31 所示 F P G A 顯 示 功 能 模 塊單 片 機(jī) 功 能 模 塊語 音功 能 模 塊揚 聲 器時 鐘信 號輸 出提 醒信 號輸 出控 制信 號輸 出圖 31 原理框圖 原理簡述 語音定時提醒系統(tǒng)是指在計時的同時進(jìn)行語音 定時提醒功能,應(yīng)用 FPGA 芯片進(jìn)行時鐘設(shè)計和模式轉(zhuǎn)換。 FPGA 芯片內(nèi)部的時鐘設(shè)計主要是通過分頻器把較高的外部時鐘頻率分頻成每一 秒 計一次數(shù)的時鐘脈沖,從而實現(xiàn)計時功能。而提醒時間設(shè)計主要是通過寄存器和控制器來對提醒時間進(jìn)行設(shè)計和存儲。時間的顯示主要是通過顯示器來顯示當(dāng)前時間或用戶設(shè)計的提醒時間,同時還 要 進(jìn)行當(dāng)前時間是否與提醒時間相符 的比較,如果相同 則 FPGA 輸出提醒信號。 顯示模塊的上電復(fù)位初值是 12:30 分,顯示結(jié)果是由 FPGA 芯片內(nèi)部的程序定義的,顯示的值根據(jù) FPGA 所給的信號不同發(fā)生改變,可以顯示正常 的時間、提醒時間、還有閃爍的調(diào)整時間。 單片機(jī)模塊在接收到 FPGA 輸出的提醒信號后開始工作,控制語音芯片發(fā)出提醒聲音。 語音模塊的可以單獨進(jìn)行錄音操作,但是必須注意的是在錄音時必須按下錄音鍵的同時再按下啟停按鍵才可以進(jìn)行錄音。錄音時如果想讓新的錄音覆蓋原來已經(jīng)天津工程師范學(xué)院 2020 屆 本科生 畢業(yè)設(shè)計 6 存儲的錄音,要首先按下復(fù)位鍵后再進(jìn)行錄音操作。錄音結(jié)束后一定要再次按錄音鍵使該鍵處于放音狀態(tài)。 天津工程師范學(xué)院 2020 屆 本科生 畢業(yè)設(shè)計 7 4 系統(tǒng)組成 FPGA 芯片簡介 FPGA 芯片的發(fā)展 本 課題中采用了 ALTER 公司的 EP1C6T144C8 芯片 ,以下 對 FPGA 芯片進(jìn)行簡單的介紹。 早期的數(shù)字系統(tǒng)多采用試湊法設(shè)計,此法無固定的套路可循,主要憑借設(shè)計者的經(jīng)驗。所設(shè)計出的電路,雖然不乏構(gòu)思巧妙者,但交流和修改不方便,設(shè)計所花費時間也較長。隨著 FPGA 器件的發(fā)展,自身與開發(fā)手段上的完善,以及推廣應(yīng)用方面的成就,不僅為 ASIC 的做出了貢獻(xiàn),而且使數(shù)字系統(tǒng)邏輯設(shè)計的觀念、模式、方法面臨又一次新的沖擊。以往采用通用邏輯芯片 (TTL, CMOS, MOS 等 )堆砌的模式面臨新的挑戰(zhàn)。人們今后做邏輯設(shè)計,不再是通用系列芯片的選用 、搭配、堆砌,也不是對商品化的未封裝芯片做內(nèi)部連線與組裝 (例如 GA),而是對己封裝好的商品化的 FPGA 器件進(jìn)行外部編程固化 (與 EPROM 固化的過程相類似 ),使之具備由若干通用邏輯電路芯片組成的邏輯單元的同等功能,可以含組合門邏輯、寄存器、時序邏輯等。于是形成了 購 買通用 FPGA 器件,經(jīng)用戶編程而實現(xiàn)專用化的特殊設(shè)計過程。 EP1C6T144C8 芯片結(jié)構(gòu) 介紹 FPGA 基本由 6 個部分組成,分別為可編程輸入 /輸出單元、基本可編程邏輯單元、嵌入式模塊 RAM、豐富的布線資源、底層嵌入功能單元和內(nèi)嵌專用 硬核等。芯片結(jié)構(gòu)圖如圖 41 所示。 (1) I/O 單元,它們是芯片與外界電路的接口部分,完成不同電氣特性下對輸入 /輸出信號的驅(qū)動與匹配需求。為了使 FPGA 有更靈活的應(yīng)用,目前大多數(shù) FPGA 的 I/O單元設(shè)計為可編程模式,即通過軟件的靈活配置,可以適配不同的電氣標(biāo)準(zhǔn)與 I/O物理特性;可以調(diào)整匹配阻抗特性,上下拉電阻;可以調(diào)整輸出驅(qū)動電流的大小等。 (2) 基本可編程邏輯單元,是可編程邏輯的主體,可以根據(jù)設(shè)計靈活地改變其內(nèi)部連接與配置,完成不同的邏輯功能。 (3) 嵌入式塊 RAM,目前大多數(shù) FPGA 都有內(nèi)嵌的 RAM, FPGA 內(nèi)部嵌入可編程RAM 模塊,大大拓寬了 FPGA 的應(yīng)用范圍和使用的靈活性。 (4) 豐富的布線資源,是用來連通 FPGA 內(nèi)部所有單元,連線的長度和工藝決定著信號在連線上的驅(qū)動能力和傳輸速度。 (5) 底層嵌入功能單元,他的概念比較籠統(tǒng),這里指的是那些通用程度較高的嵌入天津工程師范學(xué)院 2020 屆 本科生 畢業(yè)設(shè)計 8 式功能模塊,如 DSP、 CPU 等,隨著 FPGA 的發(fā)展,這些模塊被越來越多地嵌入到FPGA 的內(nèi)部,以滿足不同場合的需求。 (6) 內(nèi)嵌專用硬核,使指那些通用性相對較弱,不是所有 FPGA 器件都包含硬核的,該課題中用的 FPGA 是通用器件,是區(qū)分專 用集成電路而言的。 1122334455667788D DC CB BA AT i t l eN um be r R e vi s i onS i z eA2D a t e : 2020 5 31 S he e t of F i l e : E : \ 畢業(yè)設(shè)計 \ ..\ 畢業(yè)設(shè)計的圖紙 .s c hdoc D r a w n B y :IO1IO2IO3IO4IO5IO6IO7V C C I O 18GND9IO10IO11I O / nC S O12D A T A 013nC O N F I G14V C C A _P L L 115G C L K 016G C L K 117G N D A _P L L 118G N D G _P L L 119nC E O20nC E21M S E L 022M S E L 123D C L K24I O / A S D O25IO26IO27IO28V C C I O 129GND30IO31IO32IO33IO34IO35IO36IO37IO38IO39IO40IO41IO42GND43VCCIO444GND45VCCINT46IO47IO48IO49IO50IO51IO52IO53GND54VCCINT55IO56IO57IO58IO59IO60IO61IO62GND63VCCINT64GND65VCCIO466IO67IO68IO69IO70IO71IO72IO73IO74IO75IO76IO77IO78IO79GND80V C C I O 381IO82IO83IO84IO85C O N F _D O N E86nS T A T U S87T C K88T M S89T D O90G N D G _P L L 291G C L K 292G C L K 393V C C A _P L L 294T D I95IO96IO97IO98IO99IO100GND101V C C I O 3102IO103IO104IO105IO106IO107IO108IO109IO110IO111IO112IO113IO114VCCIO2115GND116VCCINT117GND118IO119IO120IO121IO122IO123IO124IO125VCCINT126GND127IO128IO129IO130IO131IO132IO133IO134VCCINT135GND136VCCIO2137GND138IO139IO140IO141IO142IO143IO144E P 1C 6T 144C 8I C 1 圖 41 EP1C6T144C8 結(jié)構(gòu)圖 FPGA 在 本 課題中的開發(fā)過程 FPGA 的開發(fā)工作多是在 PC 機(jī)上完成的, 也可在各種工作站平臺上進(jìn)行。系統(tǒng)設(shè)計者希望開發(fā) FPGA 的軟件容易使用、人機(jī)界面友好,能夠隨時得到 “在線求助”。開發(fā)過程主要包括如下幾個步驟。 (1)設(shè)計輸入。文本方式、圖形方式或兩者混合的設(shè)計輸入方式。對于簡單的 FPGA,天津工程師范學(xué)院 2020 屆 本科生 畢業(yè)設(shè)計 9 可用 ABEL, CUPL和 PALASM 等可編程邏輯設(shè)計 語言描述設(shè)計 ; 對于復(fù)雜的 FPGA可以用原理圖輸入方式,也可用 DSL 和 VHDL 等硬件描述 語言進(jìn)行設(shè)計輸入,以及采用 “自 頂向下”的層次式結(jié)構(gòu)設(shè)計方法,將多個輸入文件合并成一個設(shè)計文件。 在設(shè)計輸入時,可以規(guī)定器件的引腳分配 ; 也可以暫時不規(guī)定器件引腳分配,留在后續(xù)處理中自動定位,以提高器件適配的成功率。 (2)設(shè)計編譯和器件適配。這是開發(fā)過程中的重要部分。編譯軟件對 “設(shè)計文件”進(jìn)行邏輯化簡、綜合和優(yōu)化,并恰當(dāng)?shù)赜靡粋€或多個器件自動進(jìn)行適配,產(chǎn)生供器件編程用的編程文件。編程文件通常采用電子器件工程聯(lián)合委員會 (JEDEC)標(biāo)準(zhǔn)格式。編譯和適配自動進(jìn)行,消除了人工布局和布線的麻煩,還可通過設(shè)計規(guī)則檢查 ,標(biāo)出錯誤的位置和潛在的不可靠電路。在編譯和適配過程中,系統(tǒng)設(shè)計者可規(guī)定設(shè)計中任何部分的定時等約束條件,進(jìn)行人工干預(yù)。 (3)設(shè)計校驗。除了很簡單的 FPGA 設(shè)計外,至少要進(jìn)行“功能仿真”。功能仿真可在編譯前進(jìn)行,也可在編譯后進(jìn)行,以檢驗設(shè)計功能的正確性?!岸〞r仿真”可模擬在最不利的時間配合情況下器件內(nèi)各信號之間的時間關(guān)系 :“定時分析 可給出影響器件工作速度的性能的關(guān)鍵路徑。對于用多個器件實現(xiàn)的一個設(shè)計來說,進(jìn)行多個器件的聯(lián)合仿真是非常必要的。實踐證明,在 FPGA 開發(fā)過程中,解決好器件內(nèi)、外各信號之間的時間關(guān)系 是設(shè)計成敗的關(guān)鍵,甚至需要反復(fù)修改設(shè)計才能獲得成功。 FPGA 的編程方式 FPGA 的編程方式分為兩大類 :一類是一次性編程 ,另一類是可多次編程。 只允許對 FPGA 器件編程一次 的 ,編程后不能修改,其優(yōu)點是集成度高、工作頻率和可靠性高,可用于輻射較強(qiáng)的惡劣環(huán)境??啥啻尉幊痰?FPGA 的優(yōu)點是可多次修改設(shè)計,特別適合于系統(tǒng)樣機(jī)的研制 。 可多次編程 FPGA 的編程信息存儲在器件中用以控制器件內(nèi)部連線關(guān)系的 PROM, EEPROM, FLASH 存儲器或 SRAM 中。 FPGA 硬件電路組成 系統(tǒng)框 圖 FPGA 部分大致劃分為以下幾個模塊: (1) 狀態(tài)機(jī),系統(tǒng)有多種顯示模式(如顯示當(dāng)前時間,報時時間),如果把每種模式當(dāng)成一種狀態(tài),那么用狀態(tài)機(jī)來進(jìn)行模式的切換是最方便的,因此可以采用狀態(tài)機(jī)作為中心控制模塊。 (2) 計時模塊,本系統(tǒng)中有一部分功能類似于數(shù)字鐘,因此計時模塊是必不可少的。 (3)報時時間設(shè)定模塊,系統(tǒng)要求報時可調(diào),由于此功能相對對立,可以單獨用一天津工程師范學(xué)院 2020 屆 本科生 畢業(yè)設(shè)計 10 個模塊來實現(xiàn)。 (4)報時長度設(shè)定模塊,用以設(shè)定報時時間的長短。 (5)顯示控制及報時控制模塊,根據(jù)當(dāng)前時間(由計時模塊輸出)、報