趙建飛,張 悅
(青海師范大學(xué), 青海 西寧 810008)
基于流水線法的新型EDA優(yōu)化技術(shù)的研究
趙建飛,張悅
(青海師范大學(xué), 青海 西寧810008)
摘 要:EDA代表了當(dāng)今電子設(shè)計(jì)技巧的最新發(fā)展方向,利用EDA工具,電子設(shè)計(jì)師可以從概念、算法、協(xié)議等開端設(shè)計(jì)電子系統(tǒng),大批工作可以通過計(jì)算機(jī)完成,并可以將電子產(chǎn)品從電路設(shè)計(jì)、性能分析到設(shè)出IC版圖或PCB版圖的全部過程在汁算機(jī)上主動(dòng)處理完成。但EDA技術(shù)在優(yōu)化方式上,卻存在著一定的弱勢(shì),本文提出的流水線法新型優(yōu)化方式,是指把耗時(shí)較長、單時(shí)鐘周期內(nèi)難以完成的并行執(zhí)行的邏輯塊分割開,提取出相同的邏輯模塊,在時(shí)間上復(fù)用該模塊,用多個(gè)時(shí)鐘完成相同的功能,然后對(duì)耗時(shí)較長的模塊進(jìn)行分解,分解的原則為各個(gè)子模塊邏輯延時(shí)大致相當(dāng),從而能夠大幅度的提升物理電路性能,能在一定程度上解決EDA技術(shù)優(yōu)化不足的問題。
關(guān)鍵詞:EDA;流水線;優(yōu)化;延時(shí);時(shí)鐘頻率
1EDA技術(shù)概述
EDA[1]是電子設(shè)計(jì)自動(dòng)化(Electronic Design Automation)的縮寫,在20世紀(jì)90年代初從計(jì)算機(jī)輔助設(shè)計(jì)(CAD)、計(jì)算機(jī)輔助制造(CAM)、計(jì)算機(jī)輔助測(cè)試(CAT)和計(jì)算機(jī)輔助工程(CAE)的概念發(fā)展而來的。EDA技術(shù)就是以計(jì)算機(jī)為工具,設(shè)計(jì)者在EDA軟件平臺(tái)上,用硬件描述語言VHDL完成設(shè)計(jì)文件,然后由計(jì)算機(jī)自動(dòng)地完成邏輯編譯[2]、化簡、分割、綜合、優(yōu)化、布局、布線和仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作。引入一種新型的流水線優(yōu)化方式,可以使通過EDA工具進(jìn)行的電子設(shè)計(jì)在一定程度上,占用的芯片面積不變的情況下,速度能夠大幅度提升。
2.流水線原理
流水線[3](pipeline)技術(shù)是指在程序執(zhí)行時(shí)多條指令重疊進(jìn)行操作的一種準(zhǔn)并行處理實(shí)現(xiàn)技術(shù)。流水線是Intel首次在486芯片中開始使用的。流水線的工作方式就象工業(yè)生產(chǎn)上的裝配流水線。在CPU中由5~6個(gè)不同功能的電路單元組成一條指令處理流水線,然后將一條X86指令分成5~6步后再由這些電路單元分別執(zhí)行,這樣就能實(shí)現(xiàn)在一個(gè)CPU時(shí)鐘周期完成一條指令,因此提高CPU的運(yùn)算速度。經(jīng)典奔騰每條整數(shù)流水線都分為四級(jí)流水,即取指令、譯碼、執(zhí)行、寫回結(jié)果,浮點(diǎn)流水又分為八級(jí)流水。
借鑒流水線技術(shù),從代碼的角度對(duì)耗時(shí)較長的模塊,進(jìn)行邏輯分割,分解成耗時(shí)相當(dāng)?shù)淖舆壿嬆K[4],圖1為未優(yōu)化邏輯模塊,其理論最高時(shí)鐘頻率為1/Ta(Mhz)。由此可見邏輯模塊延時(shí)越大,其時(shí)鐘頻率越低,電路的性能也就越差。
圖1 未優(yōu)化邏輯模塊
圖2為優(yōu)化原理圖,將Ta延時(shí)進(jìn)行分解為T1和T2兩個(gè)延時(shí)子模塊,其理論最高時(shí)鐘頻率為2/Ta(Mhz),當(dāng)分解為N個(gè)延時(shí)子模塊時(shí),其理論最高時(shí)鐘頻率[5]為N/Ta(Mhz),因此流水線對(duì)于提高電路的時(shí)鐘頻率來說是非常有效的。
圖2 優(yōu)化邏輯模塊
3未優(yōu)化代碼分析[1]
3.1部分代碼
libraryieee;
useieee.std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
entity adder4 is
port(clk:in std_logic;
a0,a1,a2,a3:instd_logic_vector (7 downto 0);
yout:outstd_logic_vector ( 9 downto 0));
endadder4;
architecturea of adder4 is
signal t0,t1,t2,t3:std_logic_vector (7 downto 0);
signal addtmp0,addtmp1:std_logic_vector (8 downto 0);
begin
process (clk ) begin
ifclk'eventand clk='1'then
t0<=a0;t1<=a1;t2<=a2;t3<=a3;
end if;
end process;
addtmp0<='0'&t0+t1;
addtmp1<='0'&t2+t3;
process (clk ) begin
ifclk'eventand clk='1'then
yout<='0'&addtmp0+addtmp1;
end if;
end process;
end a;
3.2實(shí)驗(yàn)結(jié)果
綜合結(jié)果:適配至EPM712884-15
用67個(gè)邏輯單元,
資源占用率52%。
時(shí)序邏輯性能分析:
最小時(shí)鐘周期65ns
最高時(shí)鐘頻率15.38 MHz
4優(yōu)化代碼分析
4.1部分代碼
libraryieee;
useieee .std_logic_1164.all;
useieee.std_logic_arith.all;
useieee.std_logic_unsigned.all;
architecturea of lsadder4 is
signal t0,t1,t2,t3:std_logic_vector (7 downto 0);
signal addtmp0,addtmp1:std_logic_vector (8 downto 0);
begin
process (clk )
begin
ifclk'eventand clk='1'then
t0<=a0;t1<=a1;t2<=a2;t3<=a3;
end if;
end process;
process (clk )
begin
ifclk'eventand clk='1'then
addtmp0<='0'&t0+t1;
addtmp1<='0'&t2+t3;
end if;
end process;
process (clk )
begin
ifclk'eventand clk='1'then
yout<='0'&addtmp0+addtmp1;
end if;
end process;
end a;
4.2生產(chǎn)電路
綜合結(jié)果:適配至EPM712884-15
用67個(gè)邏輯單元,
資源占用率52%。
時(shí)序邏輯性能分析:
最小時(shí)鐘周期39ns
最高時(shí)鐘頻率25.64 Mhz
5總結(jié)及其展望
由上述分析可以看出,通過新型流水線法的優(yōu)化方式,可以很大程度上提高芯片面積的使用效率,如:未優(yōu)化時(shí),適配[6]至EPF10K20TC144-15用67個(gè)邏輯單元,資源占用率52%,最小時(shí)鐘周期65ns,最高時(shí)鐘頻率15.38 MHz;而優(yōu)化以后,適配至EPF10K20TC144-15用67個(gè)邏輯單元,資源占用率52%,最小時(shí)鐘周期39ns,最高時(shí)鐘頻率25.64 Mhz;顯而易見,通過流水線法的方式進(jìn)行優(yōu)化,原芯片使用面積不變的情況,芯片的速度提升比為25.64Mhz/15.38Mhz=1.667,總體優(yōu)化效果非常好。隨著時(shí)鐘頻率的不斷提高,流水線法優(yōu)化帶來的硬件運(yùn)行速度的提升是非常明顯的,因此,流水線法優(yōu)化方式將會(huì)成為未來一種非常有實(shí)際意義的新型優(yōu)化方式。
參考文獻(xiàn):
[1]譚匯生,張昌凡.編著.EDA技術(shù)及應(yīng)用[J].蘇州大學(xué)出版社,2001.
[2]潘松,黃繼業(yè).編著 EDA技術(shù)使用教程[J].科技出版社,2002.
[3]王鎖萍.編著.電子設(shè)計(jì)自動(dòng)化(EDA)教程[J].電子科技大學(xué)出版社,2000.
[4]IEEE Standard VHDLLanuage Reference Manual.IEEE Press,1987.
[5]VHDL Language ReferenceGuide,Alde Inc.Henderson NV USA,1999.
[6]趙建飛.基于串行法的新型EDA優(yōu)化技術(shù)的研究[J].現(xiàn)代電子技術(shù),2015,15:110-111.
EDA Optimization Techniques Based Serial Method
ZHAO Jian-fei,ZHANG Yue
(Qinghai Normal University,Qinghai Xining 810008)
Abstract:EDA represent the latest development of today's electronic design skills,the use of EDA tools,electronic designers can design concept from the beginning,algorithms,protocols and other electronic systems,a large number of work can be done by computer and electronic products can be from the circuit design,performance analysis to set up the whole process of IC layout or PCB layout on the computer initiative juice processing is completed.But EDA technology in the optimization of the way,but there are some weak pipeline of new optimization method presented herein,refers to the time-consuming,difficult to complete a single clock cycle logic block parallel execution split open to extract the same the logic module,in time multiplexing principle of the module,with multiple clock accomplish the same function,and then lengthy modules the decomposition of each sub-module logic delay roughly,thereby greatly enhance physical circuit performance,can solve the problem of insufficient EDA technology to optimize certain extent.
Key words:EDA;pipeline;optimization;delay;clock frequency
收稿日期:2015-11-11
基金項(xiàng)目:東鄉(xiāng)族文獻(xiàn)資料數(shù)據(jù)庫建設(shè)研究(15XTQ007)
文章編號(hào):1007-2934(2016)02-0097-03
中圖分類號(hào):O 4-39
文獻(xiàn)標(biāo)志碼:A
DOI:10.14139/j.cnki.cn22-1228.2016.002.026