基于串行法的新型EDA优化技术的研究
2015-08-14赵建飞段新文张福祥
赵建飞+段新文+张福祥
摘 要: EDA代表了当今电子设计技巧的最新发展方向,利用EDA工具,电子设计师可以从概念、算法、协议等开端设计电子系统,大批工作可以通过计算机完成,并可以将电子产品从电路设计、性能分析到设计出IC版图或PCB版图的全部过程在计算机上主动处理完成。但EDA技术在优化方式上,却存在着一定的弱势,因此提出串行法新型优化方式,把耗用资源巨大、单时钟周期内完成的并行执行的逻辑块分割开,提取出相同的逻辑模块,在时间上复用该模块,用多个时钟完成相同的功能,从而在一定程度上解决EDA技术优化不足的问题。
关键词: 电子设计自动化; 优化技术; 串行化; 生产电路
中图分类号: TN702.2?34 文献标识码: A 文章编号: 1004?373X(2015)15?0110?02
Research on new EDA optimized technique based on serial method
ZHAO Jianfei1, DUAN Xinwen1, ZHANG Fuxiang2
(1. Department of Physics, Qinghai Normal University, Xining 810008, China; 2. Unit 93987 of PLA, Xining 810000, China)
Abstract: EDA represents the latest development trend of electronic design techniques in nowadays. By using EDA tools, electronic designers can design electronic system from concept, algorithms and protocols. A large number of work can be done by computer. The entire process of electronic products from circuit design and performance analysis to design IC layout or PCB layout can be done by computer automatically. Since EDA technique has some weakness in optimized mode, the new serial optimization method is proposed. The logic block with large resource consumption completed and executed in single clock period is segmented to extract the same logic modules. The modules are multiplexed in time. Multi?clock are applied to completing the same function, therefor the problem of EDA technique optimized insufficient can be solved to some extent.
Keywords: EDA; optimized technique; serialization; generation circuit
EDA(Electronic Design Automation,电子设计自动化)是20世纪90年代初从计算机辅助设计(CAD)、计算机辅助制造(CAM)、计算机辅助测试(CAT)和计算机辅助工程(CAE)的概念发展而来的。EDA技术就是以计算机为工具,设计者在EDA软件平台上用硬件描述语言VHDL完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作。本文将会引入一种新型的串行优化方式,从而可以使通过EDA工具进行的电子设计在一定程度上占用的芯片面积更小,速度更快。
1 未优化代码分析[1]
1.1 部分代码
未优化代码如下:
entity pmultadd is
port (clk : in std_logic;
a0,a1,a2,a3: in std_logic_vector (7 downto 0) ;
b0,b1,b2,b3: in std_logic_vector (7 downto 0) ;
yout: out std_logic_vector ( 15 downto 0)) ;
end pmultadd ;
architecture a of pmultadd is
begin
process (clk ) begin
if clk′event and clk=′1′ then
yout <= a0*b0+a1*b1+a2*b2+a3*b3 ;
end if ;
end process ;
end a ;
1.2 生产电路
生产电路结构图如图1所示。
图1 生产电路结构图(一)
综合结果:适配至EPF10K20TC144?4使用了750个逻辑单元,资源占用率为65%。
1.3 仿真结果
仿真结果示意图如图2所示。
图2 仿真结果示意图(一)
2 优化代码分析
2.1 部分代码
优化代码分析如下:
entity smultadd is
port (clk,start : in std_logic;
a0,a1,a2,a3: in std_logic_vector (7 downto 0);
b0,b1,b2,b3: in std_logic_vector (7 downto 0);
yout: out std_logic_vector (15 downto 0));
end smultadd ;
architecture a of smultadd is
signal cnt: std_logic_vector (2 downto 0);
signal tmpa,tmpb: std_logic_vector (7 downto 0);
signal tmp,ytmp: std_logic_vector (15 downto 0);
begin
tmpa <= a0 when cnt=0 else
a1 when cnt=1 else
a2 when cnt=2 else
a3 when cnt=3 else
a0;
tmpb <= b0 when cnt=0 else
b1 when cnt=1 else
b2 when cnt=2 else
b3 when cnt=3 else
b0;
tmp <= tmpa*tmpb;
process (clk)
begin
if clk′event and clk=′1′ then
if start=′1′ then cnt<= "000"; ytmp <= (others=>′0′);
elsif cnt<4 then cnt<=cnt+1; ytmp<=ytmp+tmp;
elsif cnt=4 then yout<=ytmp;
end if;
end if;
end process;
end a;
2.2 生产电路
生产电路结构图如图3所示。
综合结果:适配至EPF10K20TC144?4使用了291个逻辑单元,资源占用率为25%。
图3 生产电路结构图(二)
2.3 仿真结果
仿真结果示意图如图4所示。
图4 仿真结果示意图(二)
3 结 论
由上述分析可以看出,通过新型的串行化的优化方式,可以很大程度上提高芯片面积的使用效率,如:未优化时,适配至EPF10K20TC144?4使用了750个逻辑单元,资源占用率为65%;而优化以后,适配至EPF10K20TC144?4使用了291个逻辑单元,资源占用率为25%;显而易见,通过串行化的方式进行优化,只使用了原芯片使用面积的38.8%,优化效果非常好。随着时钟频率的不断提高,串行化优化带来的硬件运行速度在一定程度上的降低的问题,也将会被解决,因此,串行优化方式将会成为未来一种非常有实际意义的新型优化方式。
参考文献
[1] 谭会生,张昌凡.EDA技术及应用[M].苏州:苏州大学出版社,2001.
[2] 潘松,黄继业.EDA技术使用教程[M].北京:科学出版社,2002.
[3] 王锁萍.电子设计自动化(EDA)教程[M].成都:电子科技大学出版社,2000.
[4] IEEE Computer Society. IEEE Std 1076 TM?2002. IEEE Standard VHDL Language Reference Manual [S]. New York: IEEE Press,1987.
[5] Alde Inc.. VHDL language reference guide [R]. Nevada: Alde Inc., 1999.
[6] 唐颖.EDA技术与单片机系统[J].现代电子技术,2001,24(3):31?32.