版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、帶有48字節(jié)RAM的日歷時鐘芯片的設(shè)計摘要:介紹了一種帶有48字節(jié)RAM的日歷時鐘芯片的設(shè)計,該芯片具有振蕩、分頻、可編程的計時計數(shù)、定時鬧響和中斷輸出等功能。該芯片基于Verilog HDL描述,采用模塊化設(shè)計,可擴(kuò)展性好;并利用Synopsys公司的VCS和DC工具分別對設(shè)計進(jìn)行了成功的系統(tǒng)仿真和綜合;同時還簡單介紹了ASIC設(shè)計的整個流程。 關(guān)鍵詞:Verilog HDL 系統(tǒng)仿真 邏輯綜合 數(shù)字電子系統(tǒng)日歷時鐘芯片應(yīng)用非常廣泛,例如在IC卡電子門鎖中,可利用日歷時鐘芯片的定時時鐘計數(shù)功能,在IC卡內(nèi)輸入客人住房時的時間段,只有當(dāng)時間段所包含的時間與日歷時鐘所記
2、錄的時間一致時,方可開門,否則IC卡為無效卡。利用Synopsys公司提供的集成電路設(shè)計工具VCS和DC,設(shè)計了一個帶有48字節(jié)RAM的日歷時鐘芯片,包括該芯片RTL級代碼的編寫、功能仿真和綜合,達(dá)到了預(yù)期的目標(biāo)。該芯片的具體性能指標(biāo)是:工作電源電壓為2.56V;日歷時鐘工作電源和RAM數(shù)據(jù)保持電源電壓為16V;工作電流最大為50A;四年日歷時鐘,24或12小時格式,32.768kHz時基;48字節(jié)RAM,自動字節(jié)位置增量;具有可編程的鬧鐘、定時和中斷功能。1 ASIC設(shè)計概述隨著深亞微米技術(shù)的發(fā)展,數(shù)字集成電路的規(guī)模已經(jīng)發(fā)展到上百萬門。未來的二十多年里,一塊ASIC芯片中將會達(dá)到上千萬門的規(guī)
3、模。這樣的電路規(guī)模,仿真和綜合優(yōu)化在開發(fā)過程中發(fā)函來發(fā)函重要。較復(fù)雜的數(shù)字電子系統(tǒng)設(shè)計往往采用自頂向下(Top-Down)的方法,設(shè)計流程可以分為以下幾個主要的部分:系統(tǒng)級設(shè)計、設(shè)計實(shí)現(xiàn)、設(shè)計驗(yàn)證和流片封裝。深亞微米工藝下的ASIC設(shè)計流程2如圖1所示。圖1 本文主要介紹芯片的系統(tǒng)級設(shè)計和所有邏輯設(shè)計,生成可供物理設(shè)計的經(jīng)過驗(yàn)證的門級網(wǎng)表文件。2 芯片的系統(tǒng)級設(shè)計系統(tǒng)級設(shè)計是芯片設(shè)計的第一步,也是關(guān)鍵的一步。首先根據(jù)設(shè)計要求提出設(shè)計構(gòu)想,然后再對這一構(gòu)想進(jìn)行細(xì)化。本設(shè)計把整個系統(tǒng)分成幾大模塊,即產(chǎn)生32.768kHz的振蕩器(這個模塊不用設(shè)計)、256分頻器
4、、48字節(jié)RAM和位置寄存器。設(shè)計構(gòu)想如圖2所示。RAM中的000FH單元是一些帶有特殊功能的寄存器,00H單元是控制芯片所有功能和操作的狀態(tài)寄存器,通過設(shè)置狀態(tài)寄存器,可以選擇32.768kHz時鐘模式或計數(shù)模式。在日歷時鐘模式中,1/128秒、秒、分、小時、年/日期、星期/月都是以BCD碼分別存放在01H06H單元的寄存器中;而在事件計數(shù)模式中,則對輸入到振蕩器輸入端(OSCI)的脈沖計數(shù),事件計數(shù)器為6位BCD碼。07H單元是能存儲最大數(shù)為99天的定時器。08H是控制定鬧、定時和中斷輸出功能的鬧鐘控制寄存器。09H0FH單元用于儲存用戶信息。對于這樣的設(shè)計,傳統(tǒng)的方法是使用中小規(guī)模集成電
5、路來構(gòu)成,本文則用Verilog HDL描述來實(shí)現(xiàn)。整個芯片采用模塊化設(shè)計方式和Top-Down設(shè)計方法,根據(jù)寄存器的不同劃分成模塊,然后用測試程序TestBench對頂層模塊進(jìn)行仿真;仿真通過后利用廠家提供的工藝庫及時序約束腳本文件對其進(jìn)行綜合;綜合通過后生成門級網(wǎng)表文件,然后再用廠家提供的仿真庫對門級網(wǎng)表進(jìn)行綜合后仿真。本文設(shè)計用到的工藝庫是臺灣旺宏公司(Macronix,MXIC)提供的基本單元庫(slow.db和fast.db)、基本符號單元庫(slow.sdb)和用于綜合后仿真的庫文件仿真庫(models.v)。 這是一個同步時序電路的設(shè)計,所以保
6、證正確的時序是設(shè)計的關(guān)鍵,本設(shè)計中有四個時鐘:(1)系統(tǒng)時鐘clksys,是外部微控制器提供的時鐘信號,用作寄存器讀、寫時鐘信號;(2)測試時鐘clktest,是整個芯片的測試時鐘信號,一般限于廠家使用。(3)時基時鐘clk32,定時方式時,外部石英晶振提供的32.768kHz振蕩信號經(jīng)過256分頻后得到時鐘信號(evt128),作為RAM前16字節(jié)特殊寄存器的同步時鐘信號。(4)計數(shù)時鐘clkevt,計數(shù)模式時的外部計數(shù)脈沖信號。圖3是日歷時鐘頂層模塊端口示意圖,讀選通信號w、寫選通信號r、片選信號csn和RAM位置控制信號addr5:0是由外部微處理器提供的。當(dāng)寫信號w為真時,將輸入數(shù)據(jù)d
7、atin7:0寫入存儲器被選中的位置;當(dāng)讀信號r為真時,將從存儲器被選中的位置中輸出數(shù)據(jù)datu7:0。當(dāng)滿足下面兩個條件之一時,中斷請求信號intz輸出低電平:00H單元中的第0位為1,并且08H單元的第3位為1。由于篇幅有限,在這里只寫出頂層模塊rtc的部分設(shè)計程序,具體如下:timescale 10ns/10ps /模擬時間定標(biāo);module rtc (clktest,clksys,clk32,clkevt,csn,rstz,w,r, addr,datin, datu, intz);input clktest,clkysy,clk32,clkevt,csn,rstz,w,r; /輸入輸出
8、端口說話input7:0 datin;input5:0 addr;output7:0 datu;output intz;reg7:0 datu; /設(shè)定變量的數(shù)據(jù)結(jié)構(gòu);ctl_status c0 ( clksys,evt128,rstz,w,cs00,); /調(diào)用00H單元子模塊;sec128 c1 (clksys, clktest, evt128, rstz,); /調(diào)用01H單元子模塊;sec c2 (clksys, evt128, clktest,rstz,); /調(diào)用02H單元子模塊;int c20 ( timer_flag,alarm_flag,); /調(diào)用產(chǎn)生中斷模塊;always
9、 ( addr or stop_soft or ) begin if(cs & r) begin /根據(jù)控制位置信號而輸出RAM中各寄存器的數(shù)據(jù);case (addr)0:datu=stop_soft,hold_flag,func_mode,mask_flag,alarm_en,alarm_flag,time_flag;1:datu=data_latch15:8;47:datu=data_ram255:248;default:datu=8h00;endcaseendelsedatu=8h00;endendmodule在頂層模塊中調(diào)用了根據(jù)不同功能而編寫的20個子模塊,如ctl_stat
10、us.v、sec.v和ram.v等。其中RAM存儲器的1F2FH單元是模擬電路,要用全定制的方法生成。而在數(shù)字集成電路設(shè)計中,仿真時經(jīng)常要用到存儲器的行為模型,這里給出的行為模型ram.v用于仿真。3 利用EDA工具進(jìn)行系統(tǒng)仿真設(shè)計人員利用先進(jìn)的EDA工具作為測試平臺,以驗(yàn)證數(shù)字電子系統(tǒng)設(shè)計模塊的邏輯功能和時序功能。雖然不同的EDA工具提供的平臺不同,但都可以對被測試對象加載激勵信號,并通過波形輸出、文件記錄輸出等方式觀察和比較仿真結(jié)果。加載激勵信號需要設(shè)計人員設(shè)計測試程序(TestBench)3,對于較大規(guī)模的系統(tǒng)設(shè)計,測試程序的設(shè)計有時比本身的程序設(shè)計還要復(fù)雜。在本文的設(shè)計中,首先對每一個
11、子模塊設(shè)計一個測試程序,單獨(dú)進(jìn)行邏輯仿真,然后再設(shè)計一個測試程序?qū)φ麄€設(shè)計進(jìn)行邏輯仿真。由于篇幅有限,在這里僅寫出sec.v的部分測試程序,具體如下:timescale 10ns/10psmodule sec_test;reg clksys,evt128,clktest,carry_sec128,rstz,datin,datoout,w;reg7:0datin,datout;reg1:0func_mode;sec c2 (clksys,evt128,clktest,carry_sec128,rstz,datin, datout,func_mode,w,);always #10 clksys =
12、 clksys;always #30 evt128 = evt128;always #50 clktest = clktest;always #80 carry_sec128 = carry_sec128; /產(chǎn)生輸入激勵;initialbeginrstz = 0;#90 rstz = 1;end /產(chǎn)生復(fù)位信號initialbeginw = 0;#100 w = 1;#5 w = 0;#1100 w = 1;#5 w = 0;end /產(chǎn)生寫信號initialbeginfunc_mode= 0 ;#1000 func_mode = 1;end /功能模式的選擇;initialbegindat
13、in= 0 ;#20 datin = 00100101h;#1000 datin = 00010010;end /輸入數(shù)據(jù);always (func_mode or datin of datout) display ("At time %t,func_mode=%b,datin is %b%b,datout is %b",time,func_mode,datin,datout); /輸出模擬結(jié)果。利用Synopsys公司的仿真工具VCS進(jìn)行仿真,無論在功能上還是在時序上,都完全符合要求。4 利用EDA工具進(jìn)行綜合和優(yōu)化綜合是利用芯片制造商提供的基于電路單元(綜合庫)實(shí)現(xiàn)用硬
14、件描述語言描述的電路功能。現(xiàn)在許多優(yōu)秀的綜合工具都能借助現(xiàn)有的綜合庫將Verilog HDL源代碼進(jìn)行綜合,轉(zhuǎn)化成門級電路圖,并且可以根據(jù)設(shè)計者施加的約束條件對電路進(jìn)行優(yōu)化,產(chǎn)生面積或者速度達(dá)到最優(yōu)的結(jié)構(gòu),并生成相應(yīng)的邏輯網(wǎng)表以供后端設(shè)計使用。綜合時要進(jìn)行延時計算和設(shè)計規(guī)則檢查,需要設(shè)置的相關(guān)內(nèi)容主要包括:操作環(huán)境、導(dǎo)線負(fù)載模型、設(shè)計約束、設(shè)計規(guī)則約束。通常情況,設(shè)計者要先編輯一個包括這些設(shè)置的腳本文件(例如本文編輯的腳本文件rtc.tcl),啟動邏輯綜合工具DC后就可,執(zhí)行文件中的各條指令了。綜合的過程如圖4所示。下面利用日歷時鐘實(shí)例簡單介紹這一過程。(1)建立設(shè)計環(huán)境臺灣旺宏公司的0.35
15、m CMOS標(biāo)準(zhǔn)單元綜合庫slow.db和fast.db包含了與非、或非、非門等基本邏輯單元,還有選擇器、與或非、或與非等較復(fù)雜的組合邏輯以及DFF(D觸發(fā)器)等時序邏輯單元。利用該庫可以這樣來建立環(huán)境:set target_library slow.db fast.dbset link_library *slow.db fast.dbset search_path "/home/tools/synopsys/library"(2)讀入HDL描述如果讀入多個模塊,首先應(yīng)該讀入的是頂層模塊。要將當(dāng)前的設(shè)計設(shè)置為頂層模塊,可以這樣來設(shè)置:read_verilog "h
16、ome/design/rtl/rtc.v"read_verilog "home/design/rtl/see.v"current_design rtc(3)定義環(huán)境變量環(huán)境變量輸出網(wǎng)表和輸出報告等路徑設(shè)置可以這樣來定義:netlist_path = "home/design/netlist"report_path = "home/design/report"(4)定義性能約束、時序約束和面積約束性能約束主要包括創(chuàng)建時鐘、輸入延遲和輸出延遲等;綜合的目標(biāo)是得到最小的面積??梢赃@樣來設(shè)置:creat_clock-period 7
17、0-name my_clock get_ports clksysset ex_clkremove_from_collectionall_inputsget_ports clksysset_input_delay 4 -clock my_clock ex_clkset_output_delay 3 -clock my_clock all_outputsset_max_area 1(5)編譯用compile命令進(jìn)行編譯即可。 (6)寫門級網(wǎng)表綜合后的門級網(wǎng)表可以用edif文件形式保存,也可以用.V文件形式存放,采用如下命令:write-format verilog-hierarchy-output $netlist_path/rtc.vg此外,還需要保存延時信息,以便綜合后仿真,延時信息一般放在.sdf文件中,采用如下命令:write_sdf netlist_path/rtc.sdf-version 1.4(7)給出報告可以報告綜合出的面積、時序信息、違反約束路徑以及單元的個數(shù)等,并存放到定義的目錄文件中,下面舉幾個例子:report_area >$report_path/area.rptreport_timing &
溫馨提示
- 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)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年集體土地租賃修建公園協(xié)議
- 2024年陜西省規(guī)范化離婚合同范本一
- 2025年度大巴車租賃合同(含車輛改裝服務(wù))2篇
- 2025年度智能家電產(chǎn)品全國銷售總代理協(xié)議3篇
- 2024年門店合規(guī)與法律風(fēng)險管理合同
- 重癥監(jiān)護(hù)及ICU護(hù)理質(zhì)量控制
- 2024瓷磚直銷協(xié)議范本版B版
- 2024年版美食廣場聯(lián)營合同
- 2024年精裝修浴室工程承包合同版B版
- 2024短期財務(wù)周轉(zhuǎn)貸款協(xié)議范本一
- 2025年蛇年春聯(lián)帶橫批-蛇年對聯(lián)大全新春對聯(lián)集錦
- 小學(xué)六年級數(shù)學(xué)計算題100道(含答案)
- 護(hù)士聘用證明表下載
- 燃料油需求專題(二):航線與運(yùn)費(fèi)
- 2019年同等學(xué)力(教育學(xué))真題精選
- 《中外資產(chǎn)評估準(zhǔn)則》課件第2章 資產(chǎn)評估DNA透視
- 【框架完整】快樂卡通風(fēng)十歲成長禮紀(jì)念相冊PPT模板(PPT 24頁)
- 煤礦井下供電三大保護(hù)整定細(xì)則
- 1986考研英語真題及答案解析
- [轉(zhuǎn)載]鄭桂華《安塞腰鼓》教學(xué)實(shí)錄
- 熱電偶、熱電阻產(chǎn)品選型樣本
評論
0/150
提交評論