新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計應(yīng)用 > 基于EDA技術(shù)的單片機IP核設(shè)計

基于EDA技術(shù)的單片機IP核設(shè)計

作者: 時間:2009-03-17 來源:網(wǎng)絡(luò) 收藏

摘 要:本文介紹了利用技術(shù)設(shè)計出與MCS-51系列微處理器指令集完全兼容的8位嵌入式微處理器芯片的,并經(jīng)過驗證獲得了滿意的效果。
關(guān)鍵詞: 電子設(shè)計自動化;知識產(chǎn)權(quán)核;設(shè)計

本文引用地址:http://www.butianyuan.cn/article/192132.htm

1. 引言

(Electronic Design Automatic),簡單的說就是通過有關(guān)的開發(fā)軟件,自動完成用軟件的方式設(shè)計的電子系統(tǒng)到最終形成集成電子系統(tǒng)或?qū)S眉尚酒囊婚T新技術(shù)。其中, 關(guān)鍵技術(shù)之一就是可以用硬件描述語言(HDL)來描述具有廣泛應(yīng)用前景、且具備自主知識產(chǎn)權(quán)的(Intellectual Property)。這種具有很高的通用性和靈活性,可以通過軟件編程完成不同特定的功能,可以任意使用在各種嵌入式微控制系統(tǒng)中。嵌入式IP核的應(yīng)用,由于重用設(shè)計思想、設(shè)計知識,極大地降低了設(shè)計成本,縮短了設(shè)計周期,成為當(dāng)今片上系統(tǒng)(SoC)的重要設(shè)計手段?!?】

MCS-51系列是目前國內(nèi)應(yīng)用時間最長、最普及、可獲得應(yīng)用資料最多的功能強大的8位MCU,建立兼容MCS-51IP核對于各種嵌入式系統(tǒng)和SoC的應(yīng)用具有重要意義。針對MCS-51的應(yīng)用前景,筆者成功設(shè)計了與MCS-51系列微處理器指令集完全兼容且功能更強的8位嵌入式微處理器芯片,通過IP核重用技術(shù),可廣泛應(yīng)用在各種SoC中。

2.系統(tǒng)簡介

本課題采用Altera公司的MAX+plusⅡ10.0設(shè)計平臺,以超高速集成電路硬件描述語言VHDL為系統(tǒng)邏輯描述的唯一表達方式,采用自頂向下的設(shè)計原則,對MCS-51單片機進行反相設(shè)計。同時選用 Altera 公司的 ACEX系列器件來實現(xiàn)最終的IP核。由于篇幅的關(guān)系,筆者不打算對開發(fā)平臺、開發(fā)工具以及最終實現(xiàn)硬件電路的FPGA芯片進行介紹,而是著重介紹整體的設(shè)計思想。圖1是本課題進行設(shè)計的頂層設(shè)計層次圖。實線部分是MCS-51單片機的內(nèi)核部分,虛線部分是外圍存儲電路部分。下面介紹各部分的實現(xiàn)方法。


圖1 MCS-51單片機頂層設(shè)計層次圖

3.系統(tǒng)現(xiàn)實

3.1 算術(shù)邏輯單元(ALU)的實現(xiàn)

算術(shù)、邏輯運算模塊的功能是按照控制單元給出的指令,對來自數(shù)據(jù)存儲器、程序存儲器、累加器A以及程序狀態(tài)字的相關(guān)位的數(shù)據(jù),進行相關(guān)的算術(shù)和邏輯運算。圖2是用VHDL語言對ALU模塊進行描述的設(shè)計層次圖。由圖中可以看出整個ALU由6個模塊組成:加/減法器,乘法器、除法器、十進制調(diào)整器、邏輯運算器以及一個多路選擇器。其中加/減法器又可以分成兩個子模塊。本模塊將用較為簡單的純組合邏輯電路來實現(xiàn)。限于篇幅,具體的實現(xiàn)不再贅述,請讀者參閱參考文獻【2】。


圖 2 ALU設(shè)計層次圖

3.2定時器/計數(shù)器(Timer/Counter)模塊的實現(xiàn)

分析MCS-51單片機的定時器/計數(shù)器的功能和原理可知,本單元將必須以時序邏輯電路的方式來實現(xiàn)。圖3中的左圖就是本模塊設(shè)計完成后形成的符號文件。圖中的輸入除時鐘CLK、復(fù)位RESET、外部中斷0 INT0_I和外部中斷1 INT1_I直接來自芯片的外部輸入之外,其余的輸入信號全部來自控制器。其中的RELOAD_I[7 to 0]、WT_EN以及WT_I[7 to 0]用于重寫定時器/計數(shù)器內(nèi)部寄存器。所有的輸出信號全部送往控制器,用于及時更新特殊功能寄存器的內(nèi)容。

定時器/計數(shù)器的兩種工作方式?jīng)Q定了要設(shè)計好定時器/計數(shù)器首先必須設(shè)計一個分頻器和兩個(因為有兩個定時器/計數(shù)器)負跳變的檢測器。負跳變的檢測器,可以用一個雙穩(wěn)態(tài)的觸發(fā)器來實現(xiàn);分頻器的實質(zhì)是計數(shù)器。觸發(fā)器和計數(shù)器都是時序邏輯電路中的基本單元,VHDL語言的實現(xiàn)方法請讀者參考相關(guān)書籍【1】。因此本設(shè)計實體的結(jié)構(gòu)體將由3個進程來實現(xiàn)。除了分頻器和兩個負跳變的檢測器各占用一個進程外,第三個進程用于實現(xiàn)時器/計數(shù)器的四種工作模式。對定時器/計數(shù)器的各種工作于模式的原理分析可知,要實現(xiàn)這樣一個電路,其VHDL語言的結(jié)構(gòu)體應(yīng)該包括兩個大的部分:一是置中斷標(biāo)志位,二是改變計數(shù)寄存器的值。同時,改變計數(shù)寄存器的值又可以細分為兩塊――寫高8位寄存器和寫低8位寄存器。各個進程之間相互關(guān)聯(lián),內(nèi)部信號將作為進程之間傳輸信息的紐帶。


上一頁 1 2 3 下一頁

關(guān)鍵詞: EDA 單片機 IP核

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉