补充内容
补充内容. 浙大微电子 韩雁 2014.3. 内容. 数字电路的可综合设计 Testbench 克服工艺离散性 电阻离散的影响 电容离散的影响 频率离散的校正 模拟 IC 低功耗设计技术. 数字电路的可综合设计. 行为级或数据流电路建模. 可综合指的是所设计的 指令和代码 能够转化 为具体的电路网表。 综合过程就是将 Verilog HDL 描述的行为级或数据流电路模型转化为 RTL 级功能块及门级电路网表的过程。 而不可综合的设计主要用于仿真验证。. RTL 级功能块. # 5. 逻辑优化. 逻辑综合. 优化后的门级网表.
补充内容
E N D
Presentation Transcript
补充内容 浙大微电子 韩雁 2014.3
内容 • 数字电路的可综合设计 • Testbench • 克服工艺离散性 • 电阻离散的影响 • 电容离散的影响 • 频率离散的校正 • 模拟IC低功耗设计技术 浙大微电子
数字电路的可综合设计 行为级或数据流电路建模 • 可综合指的是所设计的 指令和代码能够转化为具体的电路网表。 • 综合过程就是将Verilog HDL描述的行为级或数据流电路模型转化为RTL级功能块及门级电路网表的过程。 • 而不可综合的设计主要用于仿真验证。 RTL级功能块 # 5 逻辑优化 逻辑综合 优化后的门级网表 • RTL级得到由功能模块构成的电路结构 • 逻辑优化器以用户设定的面积和时间约束为目标优化电路网表 • 针对目标工艺产生优化后的电路门级网表结构 浙大微电子
(可综合)设计准则 • 将硬件的行为以合理的方式映射为一些进程。 • 对于每个进程需要完成的操作,尽量选择最有效的算法。 • 了解综合器的性能,特别是了解综合工具支持的Verilog HDL可综合子集。以合理的代码风格引导综合工具生成硬件 • 对于固定值的信号要用常量代替。 • 尽量共享复杂运算,可以共享的数据处理用函数和过程定义 • 明确指出过程的无关态,引导综合器进行优化。 • 使用能够满足需要的最小数据宽度。 • 用组合逻辑实现的电路和用时序逻辑实现的电路要分配到不同的进程中。 • 不要使用枚举类型的属性。 浙大微电子
(可综合)设计准则(续) Integer应加范围限制。 除非是关键路径的设计,一般不采用调用门级元件来 设计的方法,建议采用RTL级语句来完成设计。 不使用初始化语句;不使用带有延时的描述;不使用循环次数不确定的循环语句,如forever,while等。 用always过程描述组合逻辑,应在敏感信号列表中列出块中出现的所有输入信号。 所有的内部寄存器都应该能够被复位。在使用FPGA实现设计时,应尽量使用器件的全局复位端作为系统总的复位,因为该引脚的驱动功能最强,到所有逻辑单元的延时也基本相同。同理,应尽量使用器件的全局时钟端作为系统的外部时钟输入端。 浙大微电子
内容 • 数字电路的可综合设计 • Testbench • 克服工艺离散性 • 电阻离散的影响 • 电容离散的影响 • 频率离散的校正 • 模拟IC低功耗设计技术 浙大微电子
Testbench 设计模块:test=~a|b&c; Testbench更像一个激励的产生器,对所设计的输入管脚产生相应的输入值(0或者1)序列,也叫“测试矢量”,通过观察输出值来评估设计的正确性。Testbench 的工作就是把这些不同的输入值(测试矢量)加载到所设计的电路中。 浙大微电子
Testbench 生成方式 1. MaxplusII,画高低电平形成testbench。 2. Modelsim,按照一定规则写testbench。 浙大微电子
画testbench 设计模块:test=~a|b&c; 输出结果 浙大微电子
写testbench 设计模块:test=~a|b&c; `timescale 1ns/10ps module top_test(); reg a_test, b_test, c_test; test test (.a(a_test), .b(b_test), .c(c_test), .test(test_out)); //调用设计模块 initial begin a_test=0; b_test=0;c_test=0; //初始化 #(100) begin a_test=0; b_test=0;c_test=1;end //每100ns赋值一次 #(100) begin a_test=0; b_test=1;c_test=0;end #(100) begin a_test=0; b_test=1;c_test=1;end #(100) begin a_test=1; b_test=0;c_test=0;end #(100) begin a_test=1; b_test=0;c_test=1;end #(100) begin a_test=1; b_test=1;c_test=0;end #(100) begin a_test=1; b_test=1;c_test=1;end #(100) $stop; end endmodule 浙大微电子
编写testbench规则 1.定义仿真步长和仿真精度 `timescale 1ns/10ps 2. 定义模块 ,不需要输入输出端口列表,因为testbench只是产生激励它本身没有输入输出。 module top_test(); …… endmodule 3.定义变量类型 • 将与待测模块(DUT, Design Under Test)输入相连的信号 定义为reg类型。 reg a_test, b_test, c_test; • 将与DUT输出相连的信号定义为wire类型,单比特的输出信号可以 不定义,默认就是1 bit 的wire 类型信号。 wire out_signal1, out_signal2,…., out_signalN; 空的 浙大微电子
编写testbench规则(续) 4.实例化DUT DUT_Module_Name DUT_Instance_Name(input1,input 2,…,output1); 5. 初始化reg类型信号 initial begin clk=0; in_signal1=0; …… //在这里添加其他reg类型变量的初始化值 end 6.产生特定频率的时钟 always #10 clk=~clk; //产生一个周期为20ns的时钟 名称可以一样 浙大微电子
编写testbench规则(续2) 8.产生输入信号 initial //initial块是并行执行 begin #100 en=1; //仿真开始100ns后 en赋值为1 # 200 in_signal1=1;//再过200ns ,in_signal1赋为1 …… # 10000000 $stop; //仿真停止,$finish为仿真结束 end 浙大微电子
Testbench扩展:常用系统函数 1.显示仿真结果文件中的内容: $display 2.读取文本数据函数:$readmemh(16进制), $readmemb(2进制) 3.打开文件:$fopen 4.将结果写入文件:$fmonitor(有变化就写), $fdisplay(固定周期写) 5. 关闭文件: $fclose 6.导出VCD格式数据 (VCD是一种记录仿真中信号跳变的数据格式,主要用作功耗分析): $dumpfile 7.控制仿真时间: $finish(结束), $stop(暂停) 8.读入SDF文件(一种记录门电路各节点延迟的文件,主要用作时序仿真): $sdf_annotate 浙大微电子
内容 • 数字电路的可综合设计 • Testbench • 克服工艺离散性 • 电阻离散的影响 • 电容离散的影响 • 频率离散的校正 • 模拟IC低功耗设计技术 浙大微电子
工艺涨落对IC 性能的影响 浙大微电子
工艺涨落对电阻电容值的影响 -15.78% < 电阻误差 < +15.74% -23.6 % < 电容误差 < +18% 浙大微电子
工艺涨落对MOS管的影响 f s fs ff PMOS tt sf ss 阈值电压Vth:NMOS管偏差 士23%,PMOS管偏差士15% s NMOS f 浙大微电子
电阻离散的影响 R=T/C 开关电容电路的主要优点: (1)与CMOS工艺的兼容性 (2)可实现时间常数的高精确性 (3)电压的高线性 (4)良好的温度特性 开关电容电路的主要缺点: (1)时钟馈通(MOS管的栅控时钟信号通过Cgs, Cgd影响源漏电压的现象) (2)需要无交叠时钟信号 (3)要求信号带宽比时钟频率小 浙大微电子
电容离散的影响 b 充电开关管 充放电电容 放电开关管 浙大微电子
VDD=5V, Temp=27℃,MOS管在tt工艺角下 右图曲线从上往下分别是电容C在ff,tt,ss工艺角下的振荡频率。 频率偏差为15.24%~ -11.70%。 浙大微电子
频率离散的校正 1、修调 • 芯片设计时增加一定比例的电容或者电阻,流片结束后,根据芯片频率的测试结果选择烧断不同组合的电阻或者电容的连线,使频率趋于一致。 • 芯片设计时增加一定比例的恒流源MOS管,流片结束后,根据芯片频率的测试结果选择烧断不同组合的MOS管连线,改变恒流源电流大小。 浙大微电子
1、修调 增加的修调管与M12并联,流片后通过烧断管子减小充电电流修调频率 接PAD 充电 放电 • 修调可以采用fuse 结构烧断相应的连接线来实现,因此需要引出PAD。芯片封装后在PAD上接电源或地烧断fuse。 • 由于PAD有较大的寄生电容,要充分考虑该寄生电容对原电路的影响。还要考虑未烧断的fuse过细的连接线对正常电流的容量问题。 浙大微电子
PAD寄生电容的影响 浙大微电子
频率离散的校正 1、修调 • 芯片设计时增加一定比例的电容或者电阻,流片结束后,根据芯片频率的测试结果选择烧断不同组合的电阻或者电容的连线,使频率趋于一致。 • 芯片设计时增加一定比例的恒流源MOS管,流片结束后,根据芯片频率的测试结果选择烧断不同组合的MOS管连线,改变恒流源电流大小。 2、用无电容的振荡结构 浙大微电子
2、采用无电容的振荡结构 Kai Zhu等人在2010年集成电路设计顶级会议VLSI上 提出一种用尾电流控制的仅由MOS管组成的振荡电路。 Kai Zhu et.al, A Sub-1μA Low-Power FSK Modulator for Biomedical Sensor Circuits,2010 IEEE Annual Symposium on VLSI 浙大微电子
环振电路振荡频率跟偏置电流关系 线性关系 由于尾电流做不到非常之小,所以该电路振荡频率做不到太低 当尾电流被拿掉之后(或=0),就是RF常用的普通环振电路 Kai Zhu et.al, A Sub-1μA Low-Power FSK Modulator for Biomedical Sensor Circuits,2010 IEEE Annual Symposium on VLSI 浙大微电子
FSK振荡电路 利用尾电流跟振荡频率的线性关系,通过改变尾电流大小来得到不同的频率,产生FSK信号。 大家仿真的FSK调制 电路也是来自这篇文章。 浙大微电子
VDD=5V, Temp=27℃ 右图曲线从上往下分别是MOS管在 ff,tt,ss 工艺角下的振荡频率。 频率偏差为 1.40%~-1.79% 问题1:偏差小的机理是什么? 浙大微电子
研讨课问题2: 右图的频率范围 是MHz,如果需要 KHz的频率怎么 办? 答案1:分频( 功耗 ?) 答案2: 浙大微电子
内容 • 数字电路的可综合设计 • Testbench • 克服工艺离散性 • 电阻离散的影响 • 电容离散的影响 • 频率离散的校正 • 模拟IC低功耗设计技术 浙大微电子
数字电路工作区 Vout 1.2 V 1 0.6 V Vin 模拟电路工作区 Vout 0 0 1 Vin 模拟IC低功耗设计有效方法 --亚阈值IC • MOS管工作在亚阈值状态: VGS= 0.6 V < Vth = 0.68 V Vout C类反相器 0.6V Vin 浙大微电子
亚阈值区IC 受工艺涨落影响显著 考查:不同工艺角对该放大器性能的影响(Vth=0.68V) 浙大微电子
提出一种抗工艺涨落方法(申报国际专利) PMOS体电位调制电路 NMOS体电位调制电路, 采用“感应反馈”环路 形成负反馈, 减弱工艺涨落的不利影响 其中 是MOS管的源体电压, 是 =0时阈值电压, 费米势 浙大微电子
引入体电位调制技术后偏差明显减小 表1:不同工艺角下亚阈值反向器性能偏差情况 浙大微电子
代价 引入了额外的 高电平VDDH 低电平GNDL 浙大微电子
若不引入额外负电平情况下 浙大微电子
既不增加负电平也不增加正电平情况 浙大微电子
在18bit 高性能音频Σ-ΔADC中的应用 -模数转换器的结构框图 -调制器是 ADC 模拟部分主要的功能模块和功耗模块 浙大微电子
2-1级联结构调制器 浙大微电子
亚阈值下有体电位调制和无调制的对比 浙大微电子
带体电位调制的亚阈值低功耗电路的进步 浙大微电子
THE END 浙大微电子