新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > MC8051單片機IP核的FPGA實現(xiàn)與應用

        MC8051單片機IP核的FPGA實現(xiàn)與應用

        作者: 時間:2009-04-01 來源:網絡 收藏

        圖2中,最頂層是用戶的實際應用設計模塊,它將ROM、RAM及mc_core封裝在內部。實際應用中用戶可添加自定義附加邏輯模塊,與設計層次中的RAM、ROM模塊處于同一個層次。
        2.3 硬件模塊
        單片機作為一個大型設計,其內核由定時器時鐘管理單元、ALU算數邏輯單元、串口及控制單元、存儲單元RAM及ROM等模塊組成。
        2.3.1 時鐘管理單元
        內核采用完全同步的時鐘設計。只有一個時鐘信號控制每個存儲單元的輸入。沒有使用門時鐘,時鐘沒有輸入到任何組合邏輯單元。中斷輸入線使用兩級同步(鎖存2次)與全局時鐘同步。可以達到完全同步,即使用其他時鐘的外部電路在驅動。并行I/0端口沒有采用這種同步方式。
        2.3.2 定時器、串口和中斷
        標準8051微控制器只提供兩個定時/計數器單元、一個串口單元及兩個外部中斷源。而在805l 中,這些單元最多可增加到256組,只需修改VHDL源代碼增加兼容的單元數。在VHDL源程序文件mc8051_p.vhd中,更改C_IMPL_N_TMR、C_IMPL_N_SIU、C_IMPL_N_EXT的常量值就可以,其范圍是1~256。相關的VHDL代碼如圖3所示。

        這里C_IMPL_N_TMR、C_IMPL_N_SIU、C_IMPL_N_EXT3個常量參數不能獨立修改數值,只能同時增減。C_IMPL_N_TMR加l意味著對應的添加了2個定時/計數器、一個串口單元和2個外部中斷源。為了能尋址所生成的單元而不改變微控制器的地址空間,在微控制器的特殊功能寄存器(SFR)內存空間增加了2個8位寄存器作為附加功能寄存器:分別是TSEL(定時/計數器選擇寄存器,地址為Ox8E)和SSEL(串口選擇寄存器,地址為Ox9A)。如果以上的寄存器指向不存在的器件單元,將使用默認的l單元,如果沒有對這兩個寄存器賦值,其缺省值為1。如果在中斷發(fā)生期間設備(寄存器)沒被選中(比如TSEL),那么相應的中斷標志位將保持置位,直到執(zhí)行中斷服務程序。
        2.3.3 存儲器接口單元
        由于采用優(yōu)化結構設計,存儲器采用同步結構,限制輸入、輸出的時序,因而存儲器輸入、輸出數據沒用寄存器寄存。
        2.3.4 可選擇指令
        在某些場合,有些指令是用不到的,因此,通過禁用這些指令節(jié)省片上資源。這些指令有8位乘法器(MUL)、8位除法器(DIV)和8位十進制調整器(DA)。禁用時只需要在VHDL源程序文件mc8051_p.vh中將C_IMPL_MUL(乘法指令MUL)、C_IMPL_DIV(除法指令DIV)或C_IMPL_DA(十進制調整指令DA)的常量值設置為0即可。如果這3條可選指令沒有被執(zhí)行,器件可節(jié)省約10%的資源。相應的VHDL程序代碼段如圖4所示。



        關鍵詞: 8051 FPGA MC IP核

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 宜宾市| 水富县| 上饶县| 庆云县| 富川| 枣庄市| 潢川县| 琼中| 新闻| 泗洪县| 湘潭县| 苗栗市| 汨罗市| 昭平县| 武隆县| 芒康县| 微博| 阿鲁科尔沁旗| 通江县| 枣强县| 和顺县| 香港| 唐山市| 土默特左旗| 金阳县| 定远县| 襄垣县| 六盘水市| 崇阳县| 南安市| 鹰潭市| 时尚| 仙桃市| 台山市| 平乡县| 庆安县| 昌乐县| 屯门区| 河北区| 南皮县| 广饶县|