999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

支持8253控制字32位可編程計數器軟核的設計與實現

2008-04-12 00:00:00鄒家軒敖發良
現代電子技術 2008年24期

摘 要:8253作為Intel公司推出的可編程定時計數器,用來產生定時信號。分析傳統8253功能以及缺陷,結合FPGA的特點,設計支持8253控制字格式具有自主知識產權的32位可編程定時計數器軟核P32IT8253。詳細分析對設計中關鍵路徑的產生原因,給出一種便于在不同器件公司產品間移植的優化設計方法。軟核通過仿真,下載到Xilinx的FPGA中。整個設計針對提升傳統8253/8254配合單片機或者接口板中控制電路的性能,提供了一種解決方案。

關鍵詞:可編程定時計數器;硬件描述語言;SOPC;IP軟核

中圖分類號:TP368.1文獻標識碼:B

文章編號:1004-373X(2008)24-001-03

Implementation and Design of 32 b PIT Soft Core Based on 8253

ZOU Jiaxuan,AO Faliang

(Guilin University of Electronic Technology,Guilin,541004,China)

Abstract:As a product launched by Intel,8253 is applied to generate time-lapse signal.8253 functional and its shortage are analysed,based on the character of FPGA,32 b Programmable Interval Timer(PIT) IP core supported by 8253 control words is designed.While analyzing the cause to critical path,to introduce a kind of optimized solution can be easy to transplant in any products from different companies.The IP has been passed simulation and downloaded in FPGA.The entire design provids a solution scheme,aiming at improving the performance of the traditional 8253/8254 controlled by single chip computer or PC interface board.

Keywords:programmable interval timer;hardware description language;SOPC;IP soft core

1 引 言

現場可編程門陣列[1](FPGA)是基于通過可編程互聯連接的可配置邏輯塊(CLB)矩陣的可編程半導體器件。與為特殊設計而定制的專用集成電路(ASIC)相對,FPGA可以針對所需的應用或功能要求進行編程,而不需要擔憂投片失敗帶來的損失。

隨著半導體行業的發展,FPGA的成本越來越低,并且由于采用特征尺寸更小的工藝,芯片的速度也越快。在FPGA上根據以前傳統芯片的功能進行開發與擴展,具有速度更快,功能更強大,風險更低,應用便利等優點。

傳統的8253作為一個Intel設計的一種PIT(Programmable Interval Timer,可編程計數/計時器),在數字電路、計算機系統以及實時控制系統中產生定時信號。8253的基本功能描述為[2]:單片集成3個獨立的16位計數器;每個計數器包含6種計數模式,可由程序設置和改變;每個計數器都可采用二進制或二到十進制計數;但是8253存在以下不足:

(1) 由于是NMOS工藝,8253的工作頻率為2 MHz,即使是改進的8254它的工作頻率也僅為10 MHz;

(2) 每個計數器沒有復位信號,輸出的初始狀態不確定;

(3) 雖然計數/計時范圍0~FFFFH,但當計數/計時單位范圍在00FFH~FFFFH時,計數器初值的裝載要超過2個時鐘周期,使用軟件觸發的模式時,這樣的裝載方式會降低脈沖的寬度。

通過對PIT8253/8254工作方式的分析后,采用RTL級層次性描述建立HDL模型,在支持8253/8254控制字的基礎上開發出IP軟核P32IT8253,在XILINX的低成本FPGA產品Spartan3(XC3S400)上驗證。單個計數器工作頻率達到62 MHz,計數范圍增為0~FFFFFFFFH,降低了FFH~FFFFFFFH范圍內初值的載入時間,計數器兼容16位/32位計數模式。P32IT8253作為傳統8253/8254的替代產品,配合XILINX免費提供的嵌入式軟核Micro-blaze,可以很便利地將以前由單片機或微機控制的8253構成的定時/計數系統改造為32位的系統,實現了系統單片集成,提高了工作頻率,并提供更窄的輸出脈沖寬度。

2 8253/8254的功能分析

8253/8254包含24個引腳,每個引腳的功能如下[1]

(1) D1~D8為雙向的數據輸入輸出;

(2) CS為芯片使能信號,低電平有效;

(3) RD為讀取有效信號,低電平有效;

(4) WR為寫入有效信號,低電平有效;

(5) A0~A1為地址選通信號,選擇操作的是0~2號計數中的1個或是控制字寄存器;

(6) Gat0~Gate2分別為0~2號計數器的工作控制信號;

(7) Clk0~CLk2分別對應0~2號計數器的工作時鐘;

(8) Out0~Out2分別為0~2號計數器的輸出。

3 RTL級模型的設計

3.1 頂層模塊的劃分

系統采用自頂而下的設計方法(Top-down)。可編程計數器頂層模塊劃分為3個部分:數據緩存器,控制邏輯,3個獨立工作的計數器。16位數據總線的低8位同時也作為控制字的輸入,通過A1,A2端口來確定當前輸入的數據是低8位還是狀態控制字。輸入的計數初值存儲在數據緩存器中(見圖1)。輸入的控制字存儲在控制邏輯模塊中。

3個獨立工作的計數器從功能上來說完全一致,可以通過對其中任意一個采用層次化的結構描述,后進行同等調用。

3.2 控制邏輯的設計

出于對系統可讀性的考慮,并沒有采用文獻[3]的結構將控制字寄存器與模式寄存器加入到計數器模塊,而是將控制字的存儲與模式信號的判別統一交由控制邏輯完成。控制邏輯的主要作用如下:

(1) 判斷外部數據總線的低8位是計數初值還是控制字,將控制字送入控制邏輯存貯;

(2) 完成對控制字的譯碼,確定計數器的序號,工作的方式,數據裝載的方式;

(3) 依據工作方式,控制數據裝載到數據緩存器;

(4) 控制數據緩存器輸入/輸出數據;

(5) 控制對應計數器裝載計數初值。

具體的外部信號與控制邏輯的關系如表1所示。

系統的控制邏輯內部包含控制字譯碼任務,由其完成對控制字的譯碼,并在內部的控制總線上產生對應的控制信號,控制3個獨立計數器的工作方式,同時控制邏輯還控制數據緩存器加載來自內部總線或是外部總線的數據。因為整個系統已經擴展到32位,對于傳統PIT8253/8254控制字也需進行拓展,主要是將模式2的高位由未定態變為確定態,將原有的8位操作定義為現有的16位操作。同時出于對條件選擇遍歷的考慮將空余的2個模式控制字狀態定義為無操作狀態,具體內容如圖2所示。

3.3 計數器模塊的設計及優化

計數器由控制總線上的信號控制數據的輸入/輸出。輸出信號發生器通過對減法器內數值的判斷,產生不同的輸出的信號,如圖3所示。

計數器的核心是32位的無符號數硬件減法器,在計數信號有效的條件下,每個時鐘周期做1次減1運算。如果按文獻[4]及文獻[5]在系統的HDL模型建立過程中,對于減法計數操作建模時只用1個減號來實現,由綜合工具自動將其綜合成硬件結構。對于硬件實現的減法操作,首先對減數取補,然后與被減數執行加法操作。32位的減1操作就轉變為式1的加法操作。影響計數器工作速度的決定性因素就是加法動作的延時。

Initial_reg[31:0]-32'b1=Initial_reg[31:0]+32'b

1111_1111_1111_1111_1111_1111_1111_1111

通過對使用不同綜合工具后的結果檢查,無論是Altera的Quartus,還是Xilinx的ISE,以及Lattice的ISP,甚至是Cadence的SYNPLIFY都將上式綜合成RCA(行波進位加法器 Ripple-carry adder),考慮到在FPGA的布線資源中,快速進位鏈的速度明顯優于LUT資源,EDA工具會自動將加法描述綜合成行RCA結構。對于運算級別不大的場合,由于充分利用了快速進位鏈速度明顯優于LUT的特點,比如8位加法器,RCA的效果明顯優于HDL 模型的CLA(Carry Look ahead Adder,超前進位加法器)和PPA(Parallel Prefix Adder,并行前綴加法器)加法器。隨著運算級別增加,RCA的延時線性上升,快速進位鏈失去自身的優勢。32位的RCA的最小輸出延時在CYCLONE Ⅱ中會接近17 ns。文獻[6]指出了不同結構加法器性能的比較,并認為32位PPA加法器是同類加法器中是最快,具體的延時情況如表2所示。

如果采用HDL(硬件描述語言)和原理圖的混合設計方式,可以通過芯片公司提供的IP核實現并行加法器。以CYCLONEII 為例,輸入到輸出的最小延遲為6 ns。雖然性能上有大幅度的提升,但是當更換器件時,由于不同器件公司IP核不兼容,整個系統必須重新設計。出于移植的便利性考慮,全部系統采用HDL語言設計,這樣的并行加法結構雖然在性能上無法與器件公司提供的IP相比,但是也比RCA結構的延時要少很多。完成對并行加法任務的綜合后,添加時序約束,確保32位減法結果同時輸出。

4 系統的驗證與測試

常用IP 軟核的測試最常用的方式是后仿真,通過對完成布局布線的IP軟核,添加測試激勵,觀察后仿真波形是否達到預期效果。現以計數器0工作在模式4為例,說明系統的工作。Data是外部16位雙端端口,既可以輸入數據,也可以輸出數據。Read為讀信號,Write 為寫信號,高電平有效。A0,A1為地址位選通信號,根據表1,A0=0,A1=0時,說明當前操作的是計數器0。首先寫入的計數初值為7,完成初值寫入后,Read信號為高,Data上將每個時鐘周期計數器的值都讀出來。因為是布局,布線后的仿真,內部的信號已經無法辨認,因此將計數器的值(Initial_reg)引出與Data總線上數據對比。在1次計數的周期內,寫入新的計數初值13,然后Gate0信號至低,對比initial_reg的值可以發現,計數過程暫停。當Gate0置高后,計數繼續。完成本次計數后,Out0 輸出1個負脈沖,計數初值更新為13。計數器以13為計數初值,在Gate0為高的條件下,繼續計數,完成計數后Out0再次輸出1個負脈沖。脈沖寬度為1個時鐘周期。仿真結果如圖4所示。

完成后仿真后,掛載在Xilinx的Micro-blaze可編程嵌入式系統上進行的驗證,由Micro-blaze對IP核進行控制,充分利用了Micro-blaze 32位指令格式的特點,整個系統可以工作在50 MHz的時鐘下,基本達到了設計預期。

5 結 語

P32IT8253采用HDL語言設計整個系統,具有較高的可讀性,便于在不同器件公司的硬件上進行移植。系統使用32位的計數通道,擴大計數范圍,降低了16位數據的裝載時間。系統定義專有的并行任務,既滿足移植便利性,也兼容了速度上的大幅度提升。P32IT8253在Spartan3(XC3S400)上通過添加時序約束完成了布局布線的優化,每個獨立工作的計數器工作的最高頻率可以達到62 MHz。由Micro-blaze軟核來控制P32IT8253軟核,以OPB總線相連接。整個系統可以用來取代傳統的由8位單片機控制或微機控制8253/8254的定時器/計數器,在增加集成度的同時更帶來了性能上的大幅度提升。

參考文獻

[1]Xilinx Corporation.FPGA 與ASIC對比[S].Xilinx,2008.

[2]Intel Corporation.8253-Programmable Interval Timer[S].1986.

[3]張義偉,韓微.可編程定時計數器8254軟核的設計[J].艦船電子工程,2005(2):68-71.

[4]閆永志,劉偉,何方.基于FPGA的可編程定時器/計數器8253的設計與實現[J].電子設計應用,2004(2):26-28.

[5]趙世霞,楊豐,劉揭生.VHDL與微機接口設計[M].北京:清華大學出版社,2004.

[6]Zinunerman R.Binary Adder Architectures for Cell-based VLSI and their Synthesis[D].Swiss Federal Institute of Technology ,Zurich,1997:67-91.

[7][美]Samir Palnikar .Verilog-HDL數字設計與綜合[M].2版.北京:電子工業出版社,2004.

[8][美]Michael D Ciletti.Verilog-HDL高級數字設計[M].北京:電子工業出版社,2004.

[9][美]Micheal John Sebatian Smith.專用集成電路[M].第2版.北京:電子工業出版社,2004.

[10]潘松,黃繼業,曾毓.SoPC技術實用教程[M].北京:清華大學出版社,2005.

[11][美]Barry P Brey.Intel Microprocessors: Architecture,Programming and Interfacing.Sixth Edition,2003.

作者簡介 鄒家軒 男,1982年出生,碩士研究生。研究方向為PPM專用集成電路的設計。

敖發良 男,1944年出生,教授,中國電子學會教育分會副主任委員,中國電子教育學會高教分會常務理事。

主站蜘蛛池模板: 国产精品播放| 国产午夜不卡| 国产精品视频第一专区| 亚洲天堂视频在线播放| 国产精品蜜芽在线观看| 人妻无码一区二区视频| 亚洲国产欧美目韩成人综合| 在线看国产精品| 亚洲成综合人影院在院播放| 欧美不卡视频一区发布| 亚洲精品天堂在线观看| h视频在线播放| 伊人久久精品无码麻豆精品| 极品国产在线| 久久美女精品| AV老司机AV天堂| 波多野结衣一区二区三区四区视频| 亚洲高清国产拍精品26u| 日本人妻一区二区三区不卡影院 | 精品国产免费观看一区| 思思热精品在线8| 亚洲国产中文欧美在线人成大黄瓜 | 婷婷久久综合九色综合88| 国产原创演绎剧情有字幕的| 91福利国产成人精品导航| 久久91精品牛牛| 亚洲色精品国产一区二区三区| 91成人在线观看| 无码久看视频| 欧美成人一级| 中文字幕久久波多野结衣| 国产办公室秘书无码精品| 国产日韩欧美视频| 亚洲热线99精品视频| 亚洲第一在线播放| 啪啪永久免费av| 天堂网国产| 狠狠五月天中文字幕| 午夜视频日本| 国产一国产一有一级毛片视频| 国产成人精品在线| 精品国产99久久| 成人在线欧美| 蜜桃视频一区二区三区| 97se亚洲| 人人91人人澡人人妻人人爽 | 久久国产V一级毛多内射| 国产乱肥老妇精品视频| 欧美va亚洲va香蕉在线| 中国成人在线视频| 欧美综合区自拍亚洲综合天堂| 在线精品亚洲国产| 美女视频黄频a免费高清不卡| 人妻精品久久久无码区色视| 欧美在线视频不卡第一页| 精品久久香蕉国产线看观看gif| 99视频精品在线观看| 国产办公室秘书无码精品| 99精品视频在线观看免费播放 | 国产成人av大片在线播放| 国产美女免费| 99热这里只有精品2| 亚洲综合色区在线播放2019| 亚洲天堂久久新| 四虎亚洲精品| 日韩毛片免费观看| 99人体免费视频| 日韩毛片视频| 欧美国产在线看| 毛片在线看网站| 狼友视频一区二区三区| 久久综合国产乱子免费| 18禁色诱爆乳网站| 久久黄色影院| 亚洲色图综合在线| 午夜视频www| 国产精品黑色丝袜的老师| 国内精品免费| 毛片视频网| 亚洲人成在线精品| 国产精品午夜电影| 亚洲美女高潮久久久久久久|