基于82C52功能仿真驗(yàn)證的研究
出處:東方未明 發(fā)布于:2011-02-15 18:49:47
摘 要:首先介紹了利用仿真工具進(jìn)行電路功能仿真驗(yàn)證的過程與方法,以及仿真方案的確定,并以82C52為例詳細(xì)闡述了仿真驗(yàn)證中激勵(lì)文件的編寫和對(duì)82C52進(jìn)行功能驗(yàn)證的具體步驟。簡單介紹了82C52的功能及其中各種寄存器的作用以及對(duì)寄存器的編程。
1 引 言
功能仿真主要驗(yàn)證被驗(yàn)證電路功能的正確性,主要分RTL級(jí)仿真與netlist的仿真。Netlist又分為DC輸出和As 輸出。由于neflist的仿真帶sdf文件(延時(shí)信息),所以要比RTL的仿真準(zhǔn)確,而且越到流程的后端,仿真的延時(shí)信息越真實(shí),仿真結(jié)果越接近實(shí)際。
2 驗(yàn)證方案的確定
本次設(shè)計(jì)的驗(yàn)證方案是根據(jù)單片機(jī)對(duì)外部串口電路的控制來實(shí)現(xiàn)的,驗(yàn)證方案的基本框圖如圖1所示。

圖1 82C52測試平臺(tái)
3 仿真所要準(zhǔn)備的文件
RTL(Pre sire):testbench(仿真激勵(lì)),Design(被仿真的設(shè)計(jì))DC_ netlist:testbench(仿真激勵(lì)),Design(被仿真的設(shè)計(jì)),saf(延時(shí)信息,由DC寫出),Simulationlibrary
Astro_ netlist(post sim):testbench(仿真激勵(lì)),Design(被仿真的設(shè)計(jì)),Sdf(延時(shí)信息,由 寫出),Simulation library
仿真的主要工具是VCS,主要命令是:>VC$testbeneh.v design.v—RI—M,同時(shí)還要進(jìn)行代碼覆蓋率的分析。由于在開始的時(shí)候?qū)懙膖estbench覆蓋率一定不全,所以需要后來的不斷完善來提高代碼覆蓋率以達(dá)到設(shè)計(jì)要求。用VCS做代碼覆蓋率分析的主要命令是:在編譯時(shí)加入可選項(xiàng)一cmline+tsl+FSM+eond,這是四種覆蓋率,可以根據(jù)需要只選其中的一個(gè)或幾個(gè);VCS—cm—PP gui察看覆蓋率的結(jié)果。
4 testbench的編寫
把82C52與8032以及一些外圍接口電路連接在一起組成一個(gè)簡單的系統(tǒng),通過匯編程序來控制82C52以達(dá)到仿真的目的。所以testbeneh的編寫也主要是完成這個(gè)簡單系統(tǒng)的搭建,讀取事先編好的單片機(jī)匯編指令就可以了。
5 82C52功能描述
(1)復(fù)位
上電后,復(fù)位輸人為高,82C52在兩個(gè)Ix時(shí)鐘周期內(nèi)進(jìn)行初始化并進(jìn)入空閑模式直到程序?qū)懭恕?/P>
復(fù)位輸人為高電平時(shí),復(fù)位內(nèi)部波特率發(fā)生電路的時(shí)鐘計(jì)數(shù)器和位計(jì)數(shù)器。BRSR不受影響(第7位除外);清零USR(TC和TBRE除外);清零MCR;全部的離散信號(hào)、內(nèi)存單元和各種邏輯寄存器位都被清零和關(guān)閉。接著清除復(fù)位狀態(tài)(RST=0),82C52仍然保持空閑模式直到程序?qū)懭恕?/P>
仿真時(shí),首先驗(yàn)證Reset的正確性:
Hardware Reset:上電后,82C52的Reset輸人端必須保證至少兩個(gè)時(shí)鐘周期的高電平來初始化82C52使它進(jìn)人空閑模式。復(fù)位引起的操作有:
?、購?fù)位內(nèi)部波特率發(fā)生器的時(shí)鐘計(jì)數(shù)和位計(jì)數(shù),將Band Rate Select Register(BRSR)的第七位復(fù)位為0。@USR中除了TC和TBRE兩位被置位其余位被清零,MCR被清零,其它相關(guān)的存儲(chǔ)器、寄存器等也都被清零或設(shè)為無效,但要注意復(fù)位不影響UCR。復(fù)位后空閑模式會(huì)一直保持直到對(duì)82C52編程改變它的這種模式。此種復(fù)位不影響B(tài)RSR、UCR。
Software Reset:首先讀出USR、RBR中的數(shù)據(jù)來清除殘余的數(shù)據(jù)和狀態(tài),以免造成并發(fā)或重復(fù)控制,然后通過設(shè)置UCR、BRSR、MCR三個(gè)寄存器的值,使82C52恢復(fù)到空閑狀態(tài)。
(2)編程
編程前需要設(shè)置的寄存器有BRSR、MCR和UCR來初始化82C52,但要注意MCR要設(shè)置。
UCR:設(shè)置幀格式,DO位設(shè)置停止位的位數(shù),當(dāng)DO=0時(shí),停止位是1位,當(dāng)DO=1時(shí),如果數(shù)據(jù)是8位的,停止位是1.5位,數(shù)據(jù)位是5位,停止位是1位,數(shù)據(jù)位是6、7位,停止位是2位。D3、D2、D1位設(shè)置奇偶校驗(yàn)位。D5、D4為設(shè)置數(shù)據(jù)位數(shù),00=5bits,01=6bits,10:7bits,11=8bits。兩位為保留位設(shè)置為0。
BRSR:設(shè)置波特率,D1、Do兩位控制次分頻,00=/1,01=/3,10=/4,11=/5,D6到D2位控制第二次分頻有18種,所以一共有72種分頻方法,經(jīng)兩次分頻后的頻率為82C52用的頻率的16倍。
MCR:可以選擇82C52的工作模式、中斷控制、接收發(fā)送申請等命令。DO為請求發(fā)送控制位,低有效。Dl為終端準(zhǔn)備好控制位低有效。D2為允許中斷控制位,l為允許中斷。D5為允許接收控制位,1為允許接收,software Reset時(shí)此位設(shè)無效(0)。D6為允許終端中斷控制位,1允許中斷。D7必須設(shè)置為0保證82C52被正常設(shè)置。D3、D2為模式選擇控制位,00=Normal,01=Transmit Break,10=Echo mode。
到這里,82C52編程前的設(shè)置工作就完成了,并且這些設(shè)置都是通過匯編指令完成的。與接收和發(fā)送有關(guān)的寄存器有RBR和TBR,它們從DO 位到D7位依次為bitO到bit7,數(shù)據(jù)位數(shù)少于8時(shí),RBR中有效數(shù)據(jù)外的其它高位被置成0,TBR中則被忽略。
SDI的數(shù)據(jù)串行進(jìn)入接收寄存器然后并行進(jìn)入接收緩沖寄存器,然后DR輸出端和USR中的標(biāo)志位DR都被置位。TRB的狀態(tài)由TBRE輸出端和USR中的flag TBRE標(biāo)志,TRB和TC都是空時(shí)由USR中的TC flag標(biāo)志。
USR:UART狀態(tài)寄存器,這個(gè)寄存器中的數(shù)據(jù)可以通過CPU讀取來清空并保持直到狀態(tài)再次發(fā)生改變。
MSR:終端狀態(tài)寄存器。
編程結(jié)束,82C52將準(zhǔn)備執(zhí)行通信功能。
控制寄存器可以被寫進(jìn)任何命令。MCR被寫入,因?yàn)樗刂浦袛嗍鼓埽h(yuǎn)程設(shè)備控制輸出和接收使能位。一旦82C52編程且工作時(shí),這些寄存器立即發(fā)送或接收數(shù)據(jù)。表1示意了82C52內(nèi)部寄存器的控制信號(hào)。

表1 82C52內(nèi)部寄存器的控制信號(hào)
82C52中斷結(jié)構(gòu):
82C52有一個(gè)中斷輸出引腳,在MCR中有兩個(gè)控制位:MIEN和INTEN。如果這兩個(gè)標(biāo)志位設(shè)為無效,將不會(huì)引起中斷,如果MIEN無效,INTEN有效,則引起中斷的信號(hào)有RBRK、TC、OE、FE、PE(此時(shí)檢查上升沿),如果兩個(gè)都設(shè)為有效,則引起中斷的信號(hào)除了上面的還有DSR\和CTS\(上升沿和下降沿都有效)。
82C52可能發(fā)生中斷的條件有:
(1)SDI引腳接收到數(shù)據(jù)(RBRK??)。
(2)發(fā)送數(shù)據(jù)完成(TC)。
(3)接收數(shù)據(jù)時(shí)發(fā)生錯(cuò)誤,有錯(cuò)誤信息產(chǎn)生(OE、FE、PE)。
(4)終端控制信號(hào)發(fā)生變化(DSR\、CTS\)。
以上各個(gè)部分功能可以通過對(duì)8032的編程逐個(gè)驗(yàn)證,驗(yàn)證時(shí)準(zhǔn)備把輸出的數(shù)據(jù)保存與輸入的數(shù)據(jù)進(jìn)行比較,正確就可以pass,不正確也可以定位是那一個(gè)寄存器或數(shù)據(jù)出錯(cuò)。
6 結(jié)束語
一般的簡單接口電路,本人認(rèn)為都可以通過類似單片機(jī)的控制器來做驗(yàn)證。這樣激勵(lì)就可以通過控制器給出,可以不必考慮給出激勵(lì)的時(shí)序關(guān)系是否正確,即簡單又方便。
參考文獻(xiàn):
[1]. 82C52 datasheet http://www.hbjingang.com/datasheet/82C52_104075.html.
版權(quán)與免責(zé)聲明
凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責(zé)任。
本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點(diǎn)或證實(shí)其內(nèi)容的真實(shí)性,不承擔(dān)此類作品侵權(quán)行為的直接責(zé)任及連帶責(zé)任。其他媒體、網(wǎng)站或個(gè)人從本網(wǎng)轉(zhuǎn)載時(shí),必須保留本網(wǎng)注明的作品出處,并自負(fù)版權(quán)等法律責(zé)任。
如涉及作品內(nèi)容、版權(quán)等問題,請?jiān)谧髌钒l(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。
- 單片機(jī)技術(shù)特性與嵌入式開發(fā)實(shí)踐指南2026/1/7 10:00:02
- 單片機(jī)(MCU)與數(shù)字信號(hào)處理器(DSP)分類及選型技術(shù)指南2025/12/30 10:02:37
- 工業(yè)級(jí)DSP信號(hào)處理系統(tǒng):硬件適配與抗干擾工程方案2025/12/15 14:41:00
- HOLTEK推出HT32F65533G/733G內(nèi)建N/N預(yù)驅(qū)電機(jī)專用SoC單片機(jī)2025/11/26 14:11:41
- 什么是C51數(shù)據(jù)類型擴(kuò)充定義2025/10/27 13:59:22
- 高速PCB信號(hào)完整性(SI)設(shè)計(jì)核心實(shí)操規(guī)范
- 鎖相環(huán)(PLL)中的環(huán)路濾波器:參數(shù)計(jì)算與穩(wěn)定性分析
- MOSFET反向恢復(fù)特性對(duì)系統(tǒng)的影響
- 電源IC在惡劣環(huán)境中的防護(hù)設(shè)計(jì)
- 連接器耐腐蝕性能測試方法
- PCB電磁兼容(EMC)設(shè)計(jì)與干擾抑制核心實(shí)操規(guī)范
- 用于相位噪聲測量的低通濾波器設(shè)計(jì)與本振凈化技術(shù)
- MOSFET在高頻開關(guān)中的EMI問題
- 電源IC在便攜式設(shè)備中的設(shè)計(jì)要點(diǎn)
- 連接器結(jié)構(gòu)設(shè)計(jì)常見問題分析









