微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 模拟电路设计 > 一篇关于IC设计的好文章

一篇关于IC设计的好文章

时间:09-06 来源:与非网 点击:
4.设计团队(design term or group)

(FIG1 是IC设计的流程图)上面我们主要讲了IC设计对研发项目和EDA工具的要求,那么有了切实可行的项目和完整可靠的EDA工具,如何将它变成为产品呢?集成电路设计和足球比赛一样是一个最能体现人类合作精神和智慧的工作了,只是他有更深刻的科技涵义罢了。就如同没有任何一个英雄可以创造足球场上的神话一样(当然一边倒的比赛除外)一个结构合理的研发队伍是产品"成败的关键";一般而言,一片IC可以从大的方面分成两部分:即数字(Digital)和模拟(An aloge) 电路部分。实际上真正的IC设计应该是ASIC设计,而FPGA或PLD设计更倾向于系统级的设计;可以这样说:一个做IC设计的工程师至少应该是学半体出身的,他更多的是在和诸如晶体管,版图这样的东西打交道;而一个做FPGA的工程师只须懂得硬件描述语言,他只要将行为级描述使用特殊的FPGA 工具写入到FPGA或PLD中即可。因而本部分将着重于ASIC来说IC设计;

(1) 模拟工程师(analog design engineer)在term中主要完成模拟电路的设计,如收发器(transreceiver)、高频锁相环、A/D D/A转换器、放大器等这些无法用数字方法实现的电路,必须用晶体管来搭建。而对于在厂家库中所没有提供的基本门也必须使用晶体管来实现。现代IC设计的发展已经使得工程师只须在厂家提供的库的基础上调整晶体管的宽长比(W/L)来决定晶体管特性。(FIG1是一个基于0.18um 工艺可以达到2.5G频率的D触发器参数图,它采用TSMC的0.18um制程库;而图FIG2则是使用AVANTI公司的HSPICE98.4 version模拟仿真工具所生成的波形图;从图中我们可以发现这个电路设计可以很好的运行在2.5G的高频下,并句有很好的上升和下降沿;USB接口芯片中的transreciever部分就必须是模拟工程师根据USB协议中要求发送和接收的物理和电气特性来采用合适的晶体管电路实现; (2) 在一片功能IC中,大部分是数字电路设计。数位工程师(digital design e ngineer)正是使用verilog HDL或是VHDL语言来完成芯片的功能描述;使用modelsim 这样的仿真工具来完成逻辑验证;然后再使用design compiler这样的综合工具来将行为描述(behaviral descriptor)转化成门级网表(net gate)以便layout工程师可以使用布局布线工具将它转化成版图;下面是在USB芯片中要用到的,一个产生CRC5 校验码模块的verilog HDL描述:

module crc5(sysclk,nfsr,address_endpoint,sout_crc5,en_crc5);

input[1:0] nfsr; input sysclk,en_crc5; input[10:0] address_endpoint;

output[4:0] sout_crc5;

wire[4:0] sout_crc5;

reg[4:0] register5a,register5b; reg[3:0] i; reg[1:0] j;

assign sout_crc5=~register5a;

always @(posedge sysclk)

begin

if ((nfsr==2'b0)||!en_crc5) // if reset or soft_reset;

begin j=0; register5a=5'b11111; register5b=5'b00101; end //initialization

else if (nfsr==2'b10) // if system in operation status;

begin if (j<=1) begin j=j+1; end

if (j==1) begin

for (i=0;i<=10;i=i+1) //every bit would be xor with register5a

begin //then right-move;

if (register5a[4]^address_endpoint[i])

begin register5a=register5a<<1; register5a=register5a^ register5b; end else begin register5a=register5a<<1; end

end

end

end

end

endmodule

图FIG6是对其使用MODELSIM逻辑仿真工具所生成的波形;

下面是使用synopsys公司的综合工具DESIGN CPMPILER综合生成的网表文件(基于TSMC的0.35um CMOS数字电路库,注意仅仅选取整个网表的一部分作为示意);:

module crc5 ( sysclk, nfsr, address_endpoint, sout_crc5, en_crc5);

input [10:0] address_endpoint; input[1:0] nfsr; input sysclk, en_crc5; output [4:0] sout_crc5;

wire j[1] , register5b[4] , register5a[3] , register5a[1] , register5b[2] , register5a[4] , register5a[0] , register5b[3] ,

n768[0] , j[0] , register5a[2] , register5b[1] , n899, n900, n901,..... n1041;

RS_ND2_A U458 ( .O(n973), .I1(register5b[2] ), .I2(n1003) );

........

RS_XNR2_A U464 ( .O(n907), .I1(address_endpoint[0]), .I2(register5a[4] ) );

.......

RS_XOR2_A U467 ( .O(n919), .I1(n938), .I2(n917) );

.......

RS_INV_A U472 ( .O(n1002), .I(n921) );

.......

RS_XOR2_A U476 ( .O(n921), .I1(n939), .I2(n918) );

.......

RS_AN2_B U556 ( .O(n899), .I1(n1001), .I2(n908) );

.......

RS_DFF_B j_reg[1] ( .Q(j[1] ), .D(n899), .CK(sysclk) );

RS_DFF_B j_reg[0] ( .Q(j[0] ), .D(n1031), .CK(sysclk) );

RS_DFF_B register5a_reg[4] ( .Q(register5a[4] ), .QB(sout_crc5[4]) , .D( n1032), .CK(sysclk) );

.......

endmodule

design compiler综合生成的门级电路图。

对数位和模拟工程师而言,厂家库是设计的基础,生成的门级电路的模拟输出特性或是数字逻辑是否正确,都须以综合后仿真为依据。如果没有达到自己想要的结果或是电路过于复杂,就必须再回头重新调整自己原先的设计。因而数位和模拟工程师 的工作总是遵循这样的法则:VHDL或VERILOG HDL描述(或图形输入)-前仿真-- 综合--后仿真--修改语言描述(或图形输入);而网表文件则是IC设计EDA工具可以识别的标准语言。

(3)layout设计可能是IC TERM中最需艺术家气质的工作。只是他必须严格按照代工厂所提供的设计规则(design rule)来绘制版图,或编写布局布线的约束文件。有两种版图设计的方法:直接的手工布局布线和EDA工具的自动布局布线。对ASIC和通用IC电路而言,经验丰富layout工程师的手工操作意味着比自动布局布线更紧凑合理的电路结构,更小的芯片面积,更短的线延迟和更高的后仿真成功率;而自动布局布线则意味着更短的设计周期,更少的人力资源投入;

图FIG10为上述2.5G D触发器的手工layout的版图;(采用TSMC的0.18um六层布线 Cu CMOS工艺标准,标准:CMOS018 design rule) 一个优秀的layout工程师可能同时掌握物理验证(DRC,ERC)和参数提取(LVS)工具;设计规则检测用于检查一个版图是否符合芯片加工厂的工艺约束,而参数提取则将在前仿真中没有考虑到的寄生的RC(电阻电容)参数从生成的版图中提取出来,反标到网表文件中供模拟和数位工程师做版图后仿真之用.模拟和数位工程师根据包含了寄生参数的网表文件来调整已有的设计以达到项目要求的物理,电气特性和逻辑功能.然后再将仿真后网表送到layouter手中进行重新的布局布线;这样的循环往往要来回数次才能得到满意的结果. 实际的情况往往是版图设计师和验证设计师各司其职,只是他们统称为layout工程师; 为设计出高效专业的版图,进行正确的物理验证和参数提取,layout工程师必须非常熟悉半导体工艺及其原理,熟悉代工厂的工艺细节,精通工厂提供的设计规则.layo ut设计师是一个term中和工艺关系最密切的环节; layout的经验是设计师最可宝贵的财产;

(4)TEST engineer;众所周知,现代IC的发展已经使得测试占到整个设计成本的 30%左右。设计的可测试性以及样片的测试成为产品的重要方面。所谓可测性即在设计阶段,为了芯片性能测试和工艺正确性测试的需要,设计师必须在芯片上加入大量的与功能无关的测试电路。有时这种测试版图甚至超过功能模块的面积!样片测试则是在预投片后对芯片样品进行细致的预定功能测试。测试手段的不断进步使得芯片的功耗分析、热分析、功能分析、信号完整性分析等等的精度和涵盖的范围愈来愈深入和广泛;而用于测试的设备仪器和软件投入也愈来愈大。 测试工程师的工作结果是一个设计是否成功的标准依据。

(5)经验丰富的项目主管

技术主管首先是资深ASIC设计工程师(Junior ASIC Design Engineers),

4.雄厚的经济基础

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top