基于EDA技術(shù)的單片機IP核設計
摘 要:本文介紹了利用EDA技術(shù)設計出與MCS-51系列微處理器指令集完全兼容的8位嵌入式微處理器芯片的IP核,并經(jīng)過(guò)驗證獲得了滿(mǎn)意的效果。
關(guān)鍵詞: 電子設計自動(dòng)化;知識產(chǎn)權核;設計
1. 引言
EDA(Electronic Design Automatic),簡(jiǎn)單的說(shuō)就是通過(guò)有關(guān)的開(kāi)發(fā)軟件,自動(dòng)完成用軟件的方式設計的電子系統到最終形成集成電子系統或專(zhuān)用集成芯片的一門(mén)新技術(shù)。其中, EDA關(guān)鍵技術(shù)之一就是可以用硬件描述語(yǔ)言(HDL)來(lái)描述具有廣泛應用前景、且具備自主知識產(chǎn)權的IP核(Intellectual Property)。這種IP核具有很高的通用性和靈活性,可以通過(guò)軟件編程完成不同特定的功能,可以任意使用在各種嵌入式微控制系統中。嵌入式IP核的應用,由于重用設計思想、設計知識,極大地降低了設計成本,縮短了設計周期,成為當今片上系統(SoC)的重要設計手段?!?】
MCS-51系列單片機是目前國內應用時(shí)間最長(cháng)、最普及、可獲得應用資料最多的功能強大的8位MCU,建立兼容MCS-51單片機IP核對于各種嵌入式系統和SoC的應用具有重要意義。針對MCS-51單片機的應用前景,筆者成功設計了與MCS-51系列微處理器指令集完全兼容且功能更強的8位嵌入式微處理器芯片,通過(guò)IP核重用技術(shù),可廣泛應用在各種SoC中。
2.系統簡(jiǎn)介
本課題采用Altera公司的MAX+plusⅡ10.0設計平臺,以超高速集成電路硬件描述語(yǔ)言VHDL為系統邏輯描述的唯一表達方式,采用自頂向下的設計原則,對MCS-51單片機進(jìn)行反相設計。同時(shí)選用 Altera 公司的 ACEX系列器件來(lái)實(shí)現最終的IP核。由于篇幅的關(guān)系,筆者不打算對開(kāi)發(fā)平臺、開(kāi)發(fā)工具以及最終實(shí)現硬件電路的FPGA芯片進(jìn)行介紹,而是著(zhù)重介紹整體的設計思想。圖1是本課題進(jìn)行設計的頂層設計層次圖。實(shí)線(xiàn)部分是MCS-51單片機的內核部分,虛線(xiàn)部分是外圍存儲電路部分。下面介紹各部分的實(shí)現方法。
圖1 MCS-51單片機頂層設計層次圖
3.系統現實(shí)
3.1 算術(shù)邏輯單元(ALU)的實(shí)現
算術(shù)、邏輯運算模塊的功能是按照控制單元給出的指令,對來(lái)自數據存儲器、程序存儲器、累加器A以及程序狀態(tài)字的相關(guān)位的數據,進(jìn)行相關(guān)的算術(shù)和邏輯運算。圖2是用VHDL語(yǔ)言對ALU模塊進(jìn)行描述的設計層次圖。由圖中可以看出整個(gè)ALU由6個(gè)模塊組成:加/減法器,乘法器、除法器、十進(jìn)制調整器、邏輯運算器以及一個(gè)多路選擇器。其中加/減法器又可以分成兩個(gè)子模塊。本模塊將用較為簡(jiǎn)單的純組合邏輯電路來(lái)實(shí)現。限于篇幅,具體的實(shí)現不再贅述,請讀者參閱參考文獻【2】。
圖 2 ALU設計層次圖
3.2定時(shí)器/計數器(Timer/Counter)模塊的實(shí)現
分析MCS-51單片機的定時(shí)器/計數器的功能和原理可知,本單元將必須以時(shí)序邏輯電路的方式來(lái)實(shí)現。圖3中的左圖就是本模塊設計完成后形成的符號文件。圖中的輸入除時(shí)鐘CLK、復位RESET、外部中斷0 INT0_I和外部中斷1 INT1_I直接來(lái)自芯片的外部輸入之外,其余的輸入信號全部來(lái)自控制器。其中的RELOAD_I[7 to 0]、WT_EN以及WT_I[7 to 0]用于重寫(xiě)定時(shí)器/計數器內部寄存器。所有的輸出信號全部送往控制器,用于及時(shí)更新特殊功能寄存器的內容。
定時(shí)器/計數器的兩種工作方式?jīng)Q定了要設計好定時(shí)器/計數器首先必須設計一個(gè)分頻器和兩個(gè)(因為有兩個(gè)定時(shí)器/計數器)負跳變的檢測器。負跳變的檢測器,可以用一個(gè)雙穩態(tài)的觸發(fā)器來(lái)實(shí)現;分頻器的實(shí)質(zhì)是計數器。觸發(fā)器和計數器都是時(shí)序邏輯電路中的基本單元,VHDL語(yǔ)言的實(shí)現方法請讀者參考相關(guān)書(shū)籍【1】。因此本設計實(shí)體的結構體將由3個(gè)進(jìn)程來(lái)實(shí)現。除了分頻器和兩個(gè)負跳變的檢測器各占用一個(gè)進(jìn)程外,第三個(gè)進(jìn)程用于實(shí)現時(shí)器/計數器的四種工作模式。對定時(shí)器/計數器的各種工作于模式的原理分析可知,要實(shí)現這樣一個(gè)電路,其VHDL語(yǔ)言的結構體應該包括兩個(gè)大的部分:一是置中斷標志位,二是改變計數寄存器的值。同時(shí),改變計數寄存器的值又可以細分為兩塊――寫(xiě)高8位寄存器和寫(xiě)低8位寄存器。各個(gè)進(jìn)程之間相互關(guān)聯(lián),內部信號將作為進(jìn)程之間傳輸信息的紐帶。
評論