搜档网
当前位置:搜档网 › 20120523-数模混合电路设计流程

20120523-数模混合电路设计流程

20120523-数模混合电路设计流程
20120523-数模混合电路设计流程

数模混合电路设计流程

马昭鑫 2012/5/23

本文主要面向模拟电路设计者,讲解了从行为级代码形式的数字电路到数模混合版图之间的流程,默认模拟版图和数字电路的行为级代码、testbench已经完成。阅读者需确定自己会编写Verilog或Spice格式的网表,熟悉Linux的文件操作,了解Spectre、Virtuoso、Calibre、Modelsim、Design Compiler(dc)、Astro等EDA工具的使用方法。

由于本人才疏学浅,经验不足,难免会在文中出现一些错误,恳请高手给予指正。

数模混合电路的仿真方法

一般的设计流程中数字电路和模拟电路是分开进行设计的,但有些时候希望能将数字电路和模拟电路放在一起仿真来验证设计,这就需要用到混合电路的仿真方法。在Cadence 工具中有专门用作混合电路仿真的仿真器spectreVerilog,其实现方法是首先将模拟模块与数字模块区分开并设置接口电平,然后在ADE中设置数字电路的测试代码,调用不同的仿真器分别对数字模块和模拟模块进行仿真,最后将结果汇总显示或输出。

下面将以一个简单实例的形式讲解混合电路的仿真方法。

一、建立数字模块

①在命令行中输入下面的命令设置NC-Verilog和Cadence并启动Cadence;

setdt ldv

setdt ic

icfb&

②建立Library的方法不再累述,创建Cell view时注意Tool选择Verilog-Editor,View Name 填写functional;

③点击OK后会弹出有模块代码框架的vi窗口,将设计需要的代码输入或粘贴进去;

④保存并关闭后如果没有错误会弹出创建Symbol View的询问对话框,确定后会进入Symbol编辑器,并自动生成了Symbol(注意在Cadence中总线用尖括号<>表示);

⑤保存并关闭Symbol编辑器。

至此已经完成了数字模块的创建。

二、建立模拟模块

模拟电路的创建方法无需赘述,这里搭建了一个输出频率为10MHz的环形振荡器。

三、配置混合电路

①直接在模拟电路中搭建混合电路,将数字模块添加进来,连接数模之间的接口,预留给testbench的接口用port连接,Check&Save后关闭Schematic编辑器;

②新建与混合电路模块同名的Cellview,Tool选择Hierarchy-Editor,View Name会自动修改成config;

③点击OK后弹出Hierarchy编辑器的界面,点击Browse,选择混合电路的schematic cellview,然后点击OK;

④点击下方的Use Template按钮,在弹出的对话框中将Name选择为spectreVerilog,点击OK回到原对话框,再点击OK进入主界面;

⑤在主界面可以看到不同的Cell自动选择了不同的View,保存退出。

这时可以在Library Manager中看到config的view,它包含了混合电路的配置信息。

四、混合电路仿真

①双击config view或右击open,弹出打开方式的对话框,config选择no,schematic选择yes,点击OK;

②在打开的Schematic编辑器中点击Tools→Mixed Signal Opts.,会发现编辑器的菜单栏变成了如下的样子:

③点击Mixed-Signal→Display Partition→All Active,如果弹出对话框则点击OK,可以看到数字模块和模拟模块用不同的颜色标注了出来;(这步不是必需的)

④点击Mixed-Signal→Interface Elements→Cell,点击数字模块,弹出设置接口电平的对话框,需要设置a2d_v0和a2d_v1,这两个参数规定了模拟转成数字时的电平,对于1.8V 电源电压可以分别设置为0.6和1.2;

⑤如果有数字输出给模拟的接口,需要将该对话框中的Model IO改成Output,设置d2a_vh和d2a_vl两项,即数字高低电平对应的模拟电压;

⑥进入ADE,点击Setup→Simulator/Directory/Host,在弹出的对话框中将Simulator选择为spectreVerilog,点击OK确定退出;

⑦点击Setup→Stimuli→Digital,弹出设置testbench的vi窗口,将设计需要的testbench 输入或粘贴进去,保存并退出;

⑧设置瞬态分析并选择需要plot的信号;

⑨点击Netlist and Run后等待仿真结束就会弹出信号的显示窗口,双击总线名可以以不同的进制显示数据;

数模混合电路的仿真至此结束。

参考文献

[1] https://www.sodocs.net/doc/936709439.html,/view/580419620b1c59eef8c7b42e.html, Cadence_实验系列12_数模混合电路设计_spetreVerilog, 中山大学

[2] https://www.sodocs.net/doc/936709439.html,/view/821e7de881c758f5f61f67c8.html, 用SpectreVerilog进行模数混仿

数字电路设计流程

用Verilog写出实现了功能的数字电路仅仅是一个开始,到真正可以流片的版图还有很多流程要走,综合可以把行为级电路转换成标准单元组成的电路,布局布线可以把这些标准单元按照一定的方式放置,并用金属线一一连接。但并不是每一步产生的结果都符合我们的要求,一再的仿真验证是必不可少的。

一、行为级仿真

①Modelsim的启动方法是在命令行中输入下面的命令:

setdt ams

vsim&

②创建Project,并将行为级模块(*.v)和testbench添加到Project中

③编译(Compile)

选中要编译的文件,右键点击后选择Compile→Compile Selected,如果代码没有问题可以看到下方代码框中显示successful,Workspace中文件的Status会变成绿色的对号;否则会提示error,Status变成红色的错号,这时双击错误提示信息可以在弹出的窗口中看到详细的编译失败的提示。

④配置仿真(Simulation Configuration)

仿真的方法有两种:一种是在Library中找到testbench的顶层模块名,右击选择Simulate;另一种是在Workspace文件列表的空白处右击,选择Add to Project→Simulation Configuration,在弹出的框中选择testbench的顶层模块名,然后在Libraries中添加编译产生的Library,最后Save。后者会产生一个配置文件,使用起来较为方便,建议将Simulation Configuration Name 改成有意义的文字,比如Simulation Behav,以便于与其他的仿真配置文件区分。双击这个文件就可以进入仿真界面。

⑤添加信号并仿真

在Workspace中Instance列表中选择要查看的元件,右击选择Add→Add to Wave可以看到元件内部的信号线都加到了wave窗口中,设置合适的时间点击工具栏上按钮

就可以进行仿真。

⑥观察仿真结果

在wave窗口中可以放大、缩小、选择合适的进制显示波形,根据仿真结果观察是否能完成所需功能。

二、综合

综合的脚本文件(*.tcl)是本过程的核心,该文件是一系列dc命令的集合,主要包括:设置工艺库(*.db等),读入行为级模块文件(*.v),分析检查等,设置输入驱动,设置输出负载,创建时钟并设置时钟的物理属性如周期、延迟、不稳定程度等,设置时钟域,设置输入输出延时,设置扇出数,综合,生成一系列文件(*.sv、*.sdf、*.sdc等)等。综合后需要生成timing report检查是否有违例(violation),如果有违例出现需要修改综合脚本后重复该过程直到所有的路径都通过。如果数字模块规模比较大,脚本编写的好坏与否会严重影响电路的性能甚至功能,建议在数字后端高手的指导下编写。

dc的启动方法是在命令行中输入下面的命令(其中run.tcl为综合脚本的文件名)

setdt syn

dc_shell-t –f run.tcl

* 关于违例我的理解如下:从数据准备好到取数据的时钟沿到来之间的时间差叫做slack,显然slack应该为正以确保取到的数据是有效的,如果路径延时过大造成slack为负时违例就产生了。这时可以查看产生违例的路径,通过优化设计、修改约束的方法消除违例。值得注意的是dc对同步电路的综合能力很强,但对于异步电路违例的检查可能会出现问题(也可能是综合脚本的原因),对于异步电路中出现的某些违例可以经过慎重的检查忽略掉。

** dc可能会对电路做一些很奇怪的优化,比较简单有效的解决办法是将原模块尽可能的分层次写成若干个小模块,将不同功能的电路在module的层次上分隔开。

三、网表级仿真

网表级仿真与行为级仿真的区别在于用行为级语句描述的电路变成了由标准单元组成的电路,并且增加了延时这种具有物理属性的参数。

具体操作与行为级仿真相似,但注意由于网表文件(*.sv)的顶层模块名与行为级模块文件(*.v)中的顶层模块名是一样的,所以编译前先将行为级模块文件移除Project;另外由于网表文件中引用了标准单元,所以要把标准单元模型文件(smic18.v或smic18_neg.v)也添加到Project中并编译。

标准延时文件(*.sdf)文件的添加是在Simulation Configuration中进行的,选择Add Simulation Configuration对话框中的SDF选项页,点击Add,在弹出的对话框中选择SDF文件路径,需要注意Apply to Region必须要填写testbench中模块的例化名,比如testbench 中例化的语句如下

MyModule uut (.clk(clk), .in(in), .out(out));

则该处要填写uut。

仿真过程中可能会报一些Error或Warning,一般是由于时钟沿与数据变化沿正好对齐导致某些数据不能确定导致的,在异步电路中更为常见,可以根据实际情况分析忽略某些Error。

四、布局布线

在这一步首先要做的是规划pad布局,然后编写带有pad描述的顶层文件(*.v)和pad 布局文件(*.tdf),这将关系到芯片最终的I/O接口布局,以及与模拟部分版图的拼接;然后编写布局布线脚本(*.cmd)在Astro中完成布局布线以及分析优化等工作。由于这部分工作比较多,下面分成三部分详细讲述。

1.带有pad描述的顶层文件(*.v)

顾名思义这个文件包含了pad信息,除此之外还有例化的数字模块和预留给模拟电路部分的接口,如果需要在模拟部分与数字部分之间、电路部分与pad部分之间添加buffer,也应该在这个文件中做描述。

pad的类型以及用途见下表:

其中需要注意的有:

①模拟pad上有若干道金属片,分别为SAVDD与SAVSS间隔连接,最终会通过Filler 形成pad的ESD环接到ESD电源与ESD地上去;

②PISW、PIW和PO16W带有电平转换功能,即pad外侧是3.3V电平,pad内侧是

1.8V电平,转换电路通过PVDD2W供电;

③数字pad环要与模拟pad环要通过二极管pad断开,不仅仅因为模拟地与数字地需要隔离,还因为数字pad和模拟pad上的金属环的连接方式是不同的,除了SAVDD、SAVSS 还有VDD、VSS、VDD33、FF。

在.v文件中描述pad的时候模拟pad的I/O全部空白,数字pad要按连接方式填写,电源pad填.VDD(1'b1),地pad填.VSS(1'b0)。这样astro会根据描述自动用金属线把电路与pad连好,电源和地也会根据相应的方式连接,而模拟部分需要后面在Virtuoso中手动连线。

最终.v文件的形式应当如下:

module模块名_pad(预留给模拟电路的接口,经过pad的数字测试接口);

// I/O口声明;

input...;

output...;

// 内部连线声明;

wire...;

// 数字模块例化声明;

模块名例化名(...);

// Buffer例化声明;

CLKBUFX20 buf_...(.A(...),.Y(...));

// 数字pad例化声明

PIW Pad_...(.C(...),.Y(...));

PO16W Pad_...(.I(...),.Y(...));

PVDD1W Pad_VDD_D(.VDD(1'b1));

PVDD2W Pad_VDD33();

PVSS3W Pad_VSS_D(.VSS(1'b0));

// 模拟pad例化声明

PANA1APW Pad_...();

PVDD1CAPW Pad_VDD();

PVSS1APW Pad_VSS();

// 隔离pad例化声明

PDIODE8W PAD_DIODE_1();

PDIODE8W PAD_DIODE_2();

endmodule

2.pad布局文件(*.tdf)

.v文件中只是对pad进行了例化声明,而pad位置的说明要在pad布局文件(*.tdf)中进行。该文件的格式比较固定,首先声明并放置Corner Cell作为pad的参考,然后设置一些变量控制pad的位置,最后放置pad。

Corner Cell的宽度是210,pad的宽度是76,一般pad的间距选为24,据此可以很容易通过套用模板写出适合自己的设计的pad布局文件。

唯一需要注意的是pad的顺序是Left、Right从下向上递增,Top、Bottom 从左向右递增。

3.布局布线宏脚本(*.cmd)

该文件的作用与综合脚本(*.tcl)在综合中的作用是一样的,本质上都是一系列命令的集合。建议直接修改可用的脚本实现自己的在布局布线功能。

一般来说需要修改的地方有

①各种库的路径;

②libName、cellName,改成和自己的模块名一样;

③修改Verilog文件列表文件(vloglist),其中包含带pad描述的顶层文件(*.v)和

dc生成的网表文件(*.sv);

④Setup Floorplan:Core Width、Core Height、Core To Left、Core To Right、Core To Top、

Core To Bottom等参数根据数字模块在整个芯片中的位置与大小修改;

⑤Create Pins:在合适的位置创建预留给模拟电路接口的Pin,最好根据模拟版图确定,

以方便后续工作;

⑥Add Pad Fillers:需要根据芯片大小修改覆盖的面积,但貌似过大没有坏处,所以直

接修改成(0,0)到(9999,9999)也可以;

⑦Create Ground&Power Rings:根据数字模块的大小和位置确定电源环的位置,这部

分空间需要提前留出来,建议把电源环放在外面,以方便用M1_NW将数字模块与模拟模块的衬底隔离开来,如果数字电路规模比较大还需要通过同样的方法创建电源条;

⑧Place Standard Cells:根据电路逻辑特点选择timing/routability的值,数字越小表明

组合逻辑占的比例越大;

⑨Add Route Guides:根据模拟版图的位置、形状以及金属层禁止某些地方布线;

⑩如果使用了Create Pins,在GDS Output的时候要把Output Pins的As Text和As Geometry选中,否则导出的GDS文件中没有Pin,不方便连线。

一般情况下需要修改的地方有以上几种,实际操作中应当根据自己的设计和模板进行相应的修改。

除了布局布线脚本(*.cmd)以外还要写标准延时约束文件(*.sdc),这个文件是在dc生成的*.sdc的基础上修改来的,需要修改的地方是文件名和文件内对某些port的引用,可以通过用{uut/clk}替代[get_ports {clk}]的方式修改。

Astro的启动方法是在命令行中输入下面的命令

setdt astro

astro_shell&

等弹出的窗口的状态栏显示Ready时输入load “run.cmd”即可执行布局布线命令,其中run.cmd为布局布线脚本的文件名。执行过程中会出现很多对话框,不要随意操作,等脚本执行完后通过查看log来确定脚本的执行状况,Astro的log一般在输入命令的目录下,命名规则为Astro.log.月_日_时_分。Astro也有相应的area和timing报告,生成的文件名一般以模块名为前缀,以.rpt为后缀。

在DRC的时候可能会报很多关于M6的错误,可以直接无视,具体的DRC和LVS会在Calibre 中进行。

五、后仿真

后仿真与网表仿真类似,也需要指定标准延时文件(*.sdf),不同的地方如下:

①由于Modelsim不能识别*.vg文件,需要将其重命名为*.v或*.sv;

②由于PVDD1CAPW和PVSS1APW没有模型,需要将其删掉;

③Pad模型文件(SP018W_V1p7.v)同样需要包含到Project中编译;

④由于顶层文件例化的时候修改了port,testbench也应当做相应的修改;

同样需要注意的是要把重名模块移除Project,否则会因为*.sdf不匹配而报错。

如果仿真结果不能正确的实现逻辑功能,或有不能忽略的Error、Warning则需要重复前面的流程,直到能完成所需功能。

* 仿真工具也可以选用NC-Verilog,具体用法向数字组同学请教。

数模电路的拼接与验证

完成数字电路设计的所有流程后可以得到两个重要的文件:布局布线后的网表文件(*.vg)和GDS文件(*.gds),它们是进行数模电路拼接与验证的关键。后续工作主要包括拼接前数字部分版图的DRC与LVS和拼接后数模电路版图的DRC与LVS。

一、数字部分版图的DRC与LVS

相对于Astro中的DRC与LVS,我们更相信Calibre给出的结果。但在做DRC与LVS之前需要先将数字部分版图导入到Cadence中,这也是与模拟部分版图拼接的基础。

1.导入数字版图

①在命令行中输入下面命令可以启动带有Calibre插件的Cadence;

setdt ic

setdt calibre

icfb&

②在icfb中依次点击File→Import→Stream可以打开导入GDS的对话框;

③在导入GDS的对话框中需要填写以下内容

Input File:需要导入的GDS文件的路径

Top Cell Name:顶层模块的名字,同样也是导入到Cadence后Cell的名字

Library Name:准备导入到的库,如果有同Cell Name的版图会被覆盖掉

④点击Options,在弹出的对话框中设置如下

选中Retain Reference Library (No Merge)选项

Reference Library Order中填写smic18_6lm PADS_II,在导入前应保证这两个库都已经被添加到了Library Path中。

⑤点击OK后等待一会可以看到GDS导入的提示,这时打开Library Manager在相应的Library下面可以看到Cell和Layout。

在导入时过孔都被变为了元件,以$$via做前缀,放在当前Library下面。

打开Layout查看生成的版图:如果看不到pad环或基本单元需要检查导入的时候Reference Library是否设置正确、smic18_6lm和PADS_II库是否已被添加到Library Path中;如果看不到Pin或Pin只有文字没有金属块则需要检查Astro脚本导出GDS文件时是否选中了Output Pins的As Text和As Geometry选项。

Astro的label默认是打在金属层上的,为了后面的操作建议改成MxTXT层(x代表金属层相应的数字),这个处理可以通过查找/替换完成。

2.数字版图的DRC

前面的操作把GDS文件导入到了Cadence中,这样就可以在Virtuoso中修改任何细节,也同样可以做DRC。

①打开需要做DRC的版图,确认Virtuoso的菜单栏上有Calibre项,这是Calibre插件激活的标志,如果没有需要退出Cadence按照前面所讲的输入命令;

②点击Calibre→Run DRC,弹出DRC或者nmDRC的窗口;

③如果之前没有做过DRC的话需要设置DRC Rule File的路径和DRC Run Directory,前者是由Foundry提供的工艺相关文件,后者是Calibre 放置DRC生成的临时文件的目录;如果之前做过DRC的话应该有保存的Runset可以用,前面的设置会自动完成;

④点击左侧的Inputs,选中Export from layout viewer选项;

⑤点击Run DRC,稍等一会就可以在RVE中看到DRC结果。

如果DRC结果中有一些密度错误,如MIM_9a或PD_XX,则可以被忽略,这种错误将在最后片位拼版时统一解决;如果有其他错误可以双击错误序号,会在Virtuoso中看到标注;如果关闭显示DRC结果的窗口后想再次打开,可以点击Run RVE。

3.数字版图的LVS

相对于数字版图的DRC来说LVS的操作更加繁琐一些。LVS的实质是将从Layout Viewer 中导出的网表与给定的网表相对照,检查是否匹配。

首先需要将布局布线后生成的网表文件(*.vg)由Verilog格式转换成Spice格式,其原因是对于pad和基本单元的描述是Spice格式的。所用到的工具是v2lvs,其用法如下所示:v2lvs -v verilog_design_file -o output_spice_file [-l verilog_lib_file] [-lsp spice_library_file] [-lsr spice_library_file] [-s spice_library_file] [-s0 groundnet] [-s1 powernet] [-sk] [-p prefix] [-w warning_level] [-a array_delimiters] [-c char1[char2]] [-u unnamed_pin_prefix] [-t svdb_dir] [-addpin pin_name] [-b] [-n] [-i] [-e] [-h] [-cb][-ictrace]

例:v2lvs -v MyModule.v -o https://www.sodocs.net/doc/936709439.html,list -lsp cdl/smic18.cdl -lsp cdl/SP018W_V1p7.sp

该命令在命令行里输入,如果提示Command not found则需要setdt calibre。

用文本编辑工具打开生成的Spice网表,将最后的. GLOBAL语句删除,再添加下面几句:.GLOBAL VDD!

.GLOBAL VSSD!

.GLOBAL SAVDD

.GLOBAL SAVSS

如果使用了数字pad还要添加

.GLOBAL VDD33!

.GLOBAL FP!

并在pad类型为PVDD2W的后面加上VDD33!=VDD33! FP!=FP!,所有的pad后面加上(包括VDD1 和VSS3)FP!=FP!。

查找内部接1’b1和1’b0的网表,将网表中的VDD替换为VDD!,将VSS替换为VSSD!。

打开Layout,将刚才声明GLOBAL的网表都打上label,否则做LVS时会提示port数不符。

和DRC类似的方法打开Calibre LVS的界面,设置Rule File和Run Directory后点击Inputs,在Layout选项页选中Export from layout viewer选项,在Netlist选项页清空Files中的内容,将刚才修改好的网表和smic18.cdl、SP018W_V1p7.sp的路径都添加进去,并取消Export from schematic viewer选项。

点击Run LVS,稍等一会就可以在RVE中看到LVS结果。

如果LVS成功可以看到笑脸,否则会看到若干错误提示,根据提示一一排查解决LVS 问题。有时候会看到有ERC错误,出现错误的位置是某一个电源pad,据说是误报,可以忽略。

二、数模电路版图的DRC与LVS

1.数模版图的拼接与DRC

与画模拟版图类似,在Cadence中新建一个Cell,把数字部分版图和模拟部分版图分别加进来,按照事先设计好的位置放置;然后手动的把模拟电路与数字电路的接口之间、模拟电路与pad之间用金属线连接起来。为了防止数字电路与模拟电路的衬底相互干扰可以用M1_NW将二者隔开。

数模版图的DRC与普通的DRC完全一样,按照一般流程走即可。下面是smic18工艺下常需注意的几种DRC规则:

2.数模版图的LVS

根据LVS原理可以知道需要先得到数模电路总的网表才能进行LVS的验证,那么可以把模拟电路看做是一个元件,将其I/O口抽象出来写成module的形式,然后创建一个顶层模块将数字部分、模拟部分、pad等都例化在一起,用内部连线将它们连接。

按照上述思路,直接修改布局布线后的网表文件(*.vg),将其I/O改成只有模拟部分的电源和地,然后在例化数字模块的语句后面加上例化模拟模块的语句。

假设模拟部分电路有两个电源VDD1、VDD2,一个地VSS和若干引脚pin1、pin2、pin3、pin4,那么网表文件可以写成如下的形式:

module数模版图Cell名 ( VDD1, VDD2, VSS );

// I/O口声明;

input VDD1, VDD2, VSS;

// 内部连线声明;

wire pin1, pin2, pin3, pin4, ...;

// 数字模块例化声明;

数字模块名例化名(...);

模拟模块名例化名2 (.VDD1(VDD1), .VDD2(VDD2), .VSS(VSS),

.pin1(pin1), .pin2(pin2), .pin3(pin3), .pin4(pin4));

// Buffer例化声明;

CLKBUFX20 buf_...(.A(...),.Y(...));

// 数字pad例化声明

PIW Pad_...(.C(...),.Y(...));

PO16W Pad_...(.I(...),.Y(...));

PVDD1W Pad_VDD_D(.VDD(1'b1));

PVDD2W Pad_VDD33();

PVSS3W Pad_VSS_D(.VSS(1'b0));

// 模拟pad例化声明

PANA1APW Pad_pin1(.PAD(pin1));

PANA1APW Pad_pin2(.PAD(pin2));

PANA1APW Pad_pin3(.PAD(pin3));

PANA1APW Pad_pin4(.PAD(pin4));

PVDD1CAPW Pad_VDD1(.SVDD1CAP(.VDD1));

PVDD1CAPW Pad_VDD2(.SVDD1CAP(.VDD2));

PVSS1APW Pad_VSS(.SVSS1AP(VSS));

// 隔离pad例化声明

PDIODE8W PAD_DIODE_1();

PDIODE8W PAD_DIODE_2();

endmodule

最终的网表有以下特征:

①在布局布线后的网表文件(*.vg)的基础上进行修改,只修改顶层模块,其他模块保持不变;

②原顶层模块的模块名修改成拼版后的Cell名,I/O只有模拟电路部分的电源和地;

③元件例化包括数字模块、模拟模块、Buffer和pad四部分;

④内部信号线保证和版图一样的连接,包括pad的信号线,除了ESD pad和二极管pad应该都有信号连接。

总网表中对模拟部分的描述只是例化,还需要模拟电路的网表才能保证电路的完整。模拟部分的版图在之前一定做过LVS,在LVS Run Directory目录下会自动生成一个名为“模拟模块名https://www.sodocs.net/doc/936709439.html,”的文件,该文件是从Schematic Viewer提取的网表,即模拟电路的网表。

接下来用v2lvs工具把模拟部分的网表、标准单元和pad的cdl都链接起来就可以生成Spice格式的总网表了。也就是说在原v2lvs命令后面加上“–lsp模拟模块名https://www.sodocs.net/doc/936709439.html,”,需要注意路径的正确性。

例:v2lvs -v MyModule.v -o https://www.sodocs.net/doc/936709439.html,list -lsp cdl/smic18.cdl -lsp cdl/SP018W_V1p7.sp –lsp模拟模块名https://www.sodocs.net/doc/936709439.html,

只要总网表没有语法问题,对模拟模块的例化是正确的,v2lvs对库的引用路径是正确的,就可以看到生成的Spice网表;出现错误提示则根据提示信息排查错误,需要慎重检查模拟端口的部分,要和模拟电路的网表对端口的描述(即Schematic中的Port)吻合。

然后用文本编辑器打开该文件,根据前面讲述过的方法对网表做修改。

至此整体电路的网表文件已经生成完毕了,包括四个文件:修改过的v2lvs生成的Spice 网表文件、模拟部分版图LVS时生成的*https://www.sodocs.net/doc/936709439.html,文件、标准单元库(smic18.cdl)和pad库(SP018W_V1p7.sp),可以将这四个文件复制到一个文件夹下以方便使用。

打开数模版图,确认版图上的label有且只有Spice网表中用GLOBAL语句声明的Net name和模拟电路部分的电源、地,被调用模块上的不算,只考虑当前顶层模块上的label。

打开Calibre LVS,完成配置后点击Inputs,选中Layout选项页中的Export from layout viewer,在Netlist选项页中将Files框中的文字替换为上述四个文件的路径,取消Export from schematic viewer选项。

数模混合设计实验报告

数模混合设计 实验报告 作者:竹叶听筝 时间:2012年12月05日课程题目:声光报警系统

摘要:声光报警器在实际的生活中可以见到许多,运用于生活的许多方面。声光报警电路可作为防盗装置,在有情况时它通过指示灯闪光和蜂鸣器鸣叫,同时报警。声光报警器可用在危险场所,通过声音和光信号向人们发出示警信息。 Abstract: sound and light alarm can be seen in real life many, used in many aspects of life. Sound and light alarm circuit can be used as anti-theft device, when it lights flash and buzzer tweet, alarm at the same time. Sound and light alarms can be used in hazardous locations, issued a warning to people through sound and light signals. 关键词:报警器声音光信号示警 1、设计原理 根据设定的基准报警电压。当输入电压超出报警值时发出声和光报警信号。当输入电压信号减小恢复到报警值以下时,要求有一定的回程余量才能撤销报警信号。也就是要实现电压信号的迟滞比较功能。LED灯闪烁,蜂鸣器报警。 2、方案比较 方案一:通过单片机控制进行AD采样计算,当采样电压超过,设定输入电压时,通过单片机控制LED闪烁,蜂鸣器报警,当输入电压小于设定Vh电压时,单片机撤销报警信号。此方案性能稳定,思路清晰,但性价比不高,涉及微处理器,以及软件编程,开发难度较大。 方案二:采用LM311滞回比较器,比较输入电压值,当大于设定电压时,比较器输出端为高电平,通过光电耦合器,进行传递信号,通过555定时器输出1HZ频率脉冲,是LED灯闪烁,同时蜂鸣器报警,当输入电压小于阈值电压时,LM311输入低电平,撤销报警信号。此方案采用纯硬件方法实现神声光报警,具有成本低,调试容易且通过光耦合器进行数字电路和模拟电路的隔离,同样也具有较高的稳定性。三、系统总体方案描述

仿真操作流程

仿真操作流程: 1,选择机床:按下机床工具按钮,出现机床选择对话框,选FANUC系统—FANUC-0I----车床-----标准(平床身前置刀架)------OK 2,定义毛坯:按下“毛坯选择按钮”出现毛坯选择对话框,根据零件标注尺寸,确定毛坯直径和长度,OK 3,安装零件:按下“零件安装按钮”出现零件安装对话框,鼠标箭头指向所选毛坯(变蓝)------点击“零件安装”出现零件安装对话框------点击向右“+”使零件向右走到极限位置。 4,安装刀具:按下“选择刀具”按钮----确定刀位号-----选择刀片形状----刀柄形状(左向)主偏角95度,刀尖半径设为0度---OK 5,启动机床:按下“绿色”启动按钮,按下红色“急停”(只能按下奇次数,否则“机床报警灯”亮,不能操作) 6,机床回原点(或叫回参考点):点亮“回原点灯”按下“X”,再按下“+”,按下

“Z”再按下“+”,待“X原点灯”和 “Z原点灯”都亮以后。OK 7,对刀操作:将手动灯点亮,按亮X轴再按“-”使刀架靠近工件,再按亮Z轴再 按“-”使刀具靠近工件,如果想加速, 按下中间带螺纹的快速键。 Z轴对刀:在端面切削少量至中心,沿X 轴退出,离开工件,按系统面板OFFSET 按键,打开工具补正/并把(摩耗变成形状),在缓冲区输入:Z0,按下软键“测量”对应刀号Z下方出现正直,如果出现负值,说明刀具没有回原点, X轴对刀:手动在外圆处切削少量毛坯,沿Z轴退出,停止主轴,按下拉菜单“测量”保留小余1的圆弧半径,出现工件测量对话框,将鼠标箭头指向刚切削的外圆处,点击变黄,记下变蓝标号X下方的X值,输入此值到工具补正/形状的缓冲区X某值,点击软键“测量”X下方出现正值,如果出现负值,说明开始没有完成回原点工作。 8,编辑程序:点亮“编辑”工作灯,按下系统面板“PROG程序”按钮,输入

数模混合设计报告

数模报告 时钟电路的设计与制作 成都理工大学工程技术学院 专业:电子信息科学与技术 学号: 指导教师: 姓名: 日期:

计时电路设计原理与制作 一、设计任务 设计并制作一个60秒计时电路,要求自制直流稳压电源,能够提供给数字时钟+5V的电压。同时具有手动复位的功能,能够产生一个1Hz的秒计时脉冲。并且具有进位功能能够显示出完整的24小时制的时钟电路,同时具有手动校时电路,能够对计时电路手动校正时间,校时电路包括对分、时校时。设计并仿真出时、分电路。 1、模拟电路部分设计要求 (1)制作输出电压可调的直流稳压电源,输出电压范围为 1.25~15V,通过电位器调节至5V。 (2)该直流稳压电源可供数字电路正常工作。 2、数字电路部分设计要求 (1)设计一个具有“时”、“分”、“秒”显示的电子钟(23小时59分59

秒)如图,应具有校时功能。 时分秒 . . . . 二、设计思路 1、直流稳压电源:为时钟电路提供一个+5V 的电压,驱动时 钟电路的正常工作。 2、脉冲产生模块:能够产生秒脉冲信号,从而实现对计时模块的控制。 3、计时循环模块:能够对时钟脉冲计数,并且能够对计数电路自动复位。

4、译码显示模块:用数码管将计数循环电路模块的状态转换为数字显示出来。 5、秒控制模块:实现对秒计时器的复位功能。 6、时、分校时模块:能够实现对电路中的时、分显示进行校时。 三、设计方案 1、直流稳压电源:通过变压器将220V的家庭用电降为电压更低的正弦交流电(如22V),然后通过电桥(整流电路,利用单向导电性能的整流元件)将正负交替变化的正弦交流电压转换成单方向的脉动直流电压,通过滤波电路尽可能的将单向脉动直流电压中的脉动部分(交流分量)减小,使输出电压成平滑的直流电压。再通过稳压芯片使输出的直流电压在电源发生波动或负载变化时保持稳定。常用的稳压芯片有7815、7805、7809、LM317等。 2、多谐振荡电路:多谐振荡器是一种能够产生矩形波的自激振荡器,也称矩形波形发生器。多谐指矩形波中除了基波成分外,还有高次谐波成分。多谐振荡器没有稳态,只有两个暂稳态,在工作时,电路的状态在这两个暂稳态之间自动地交替变换,由此产生矩形波脉冲信号,常用作脉冲信号源及时序电路中的时钟信号。具体地说,如果开始时多谐振荡处于0状态,那么它在0状态停留一段时间后将自动转入1状态,在1状态停留一段时间后又将自动转入0状态,如此周而复始,输出矩形波。通过对电容、电阻的计算来确定1秒的脉冲信号,实现对计数器的时钟控制,多谐振荡器在接通电源以后,不需要外触发信号,便能够自动产生矩形脉冲。多谐振荡器又很多种,例如对称

电子竞赛中作品设计的一般步骤

电子竞赛中作品设计的一般步骤

————————————————————————————————作者:————————————————————————————————日期:

6.2 电子竞赛作品设计制作步骤 与一般的电子产品设计制作不同的是,电子设计竞赛作品设计制作一方面需要遵守电子产品设计制作的一般规律,另一方面要在限定时间、限定人数、限制设计制作条件、限制交流等情况下完成作品的设计制作,电子竞赛作品设计制作有自己的规律。电子竞赛作品设计制作大约需经过题目选择、系统方案论证、子系统、部件设计与制作、系统综合、调试与测量等步骤,最后完成作品和设计总结报告。 6.2.1 题目选择 全国大学生电子设计竞赛作品设计制作时间是4天3晚,3人一组。竞赛题目一般为5~6题,题目在竞赛开始时(第1天的8.00)开启。以2003年第6届为例共有6题:电压控制LC振荡器(A题)、宽带放大器(B题)、低频数字式相位测量仪(C题)、简易逻辑分析仪(D题)、简易智能电动车(E题)、液体点滴速度监控装置(F题)。 正确地选择竞赛题目是保证竞赛成功的关键。参赛队员应仔细阅读所有的竞赛题目,根据自己组3个队员的训练情况,选择相应的题目进行参赛制作。 选择题目按照如下原则进行: (1)明确设计任务,即“做什么?”。选择题目应注意题目中不应该有知识盲点,即要能够看懂题目要求。如果不能看懂题目要求,原则上该题目是不 可选择的。因为时间是非常紧张的,没有更多的时间让你去重新学习,另外根 据竞赛纪律,也不可以去请教老师。 (2)明确系统功能和指标,即“做到什么程度?”。注意题目中的设计要求一般分基本要求和发挥部分两部分,各占50分。应注意的是基本部分的各 项分值题目中是没有给出的,但在发挥部分往往会给出的各小项的分值。选择 时要仔细分析各项要求,综合两方面的要求,以取得较好的成绩。 (3)要确定是否具有完成该设计的元器件、最小系统、开发工具、测量仪器仪表等条件。 在没有对竞赛题目进行充分地分析之前,一定不能够进行设计。题目一旦选定,原则上是应保证不要中途更改。因为竞赛时间只有4天3晚,时间上不允许返工重来。 6.2.2 系统方案论证 题目选定后,需要考虑的问题是如何实现题目的各项要求,完成作品的制作,即需要

数模混合设计

数模混合课程设计 实践报告 题目:FM发射机设计 指导老师:徐灵飞 系别:电子信息与信息工程系 班级:电子信息工程1班 姓名:周荣 学号:201320107104 2015年4月13日

摘要: 该实验主要包括三个电路:电源电路、数字电路、模拟电路;其中电源电路有以LM7805为主要所构成的电源电路以及以单片机STC89C52为主要所构成的电源电路两部分组成,数字电路由复位、晶振及按键电路以及LED电路两部分组成,模拟也由FM调制电路以及音频检测电路两部分组成;通过三部分的同步合作,最终实现了由发射者通过调解频率使之接受者能够接收到发射者覆盖的相应频率的信息,方便实用。 系统设计 1.总体框图 单片机独立按键 输入电压 在此可设定 FM输出频 率FM调制电 路 光电报警 5V线性整流稳 压电路 12V输入 LED数码管显 示 音频输入 音频检测 音频信号强度 LED灯显示

2.系统各部分电路图

PCB图

设计内容及要求 1.(1)单片机里面的程序烧写,需要在单片机实验室借一台开发板,直接进 行烧写。 2.元器件和跳线都在电路板正面安装。绘制PCB时一定要注意元件引脚的极性如,二极管及电解电容。对于三极管,最好查阅对应的数据手册,确定正反面(对于TO-92A封装的器件来讲,一般平的一面是正面)及PCB封装引脚的顺序。 3.调试时应采用分步调试方法,先焊接电源电路,调出5V输出电压,再焊接数字电路部分(单片机及相关外围电路)的元件,调出按键和LED数码管电路(等够通过按键改变LED显示内容-FM频率)。然后再焊接模拟电路部分的元件(音频检测电路和FM调制电路),调FM调制电路。在调试过程中按步骤尽心,谁是排除出现的故障,直至最后整体电路板调试成功。 元器件清单

simulink模拟通信系统仿真及仿真流程

基于Simulink的通信系统建模与仿真 ——模拟通信系统 姓名:XX 完成时间:XX年XX月XX日

一、实验原理(调制、解调的原理框图及说明) AM调制 AM调制是用调制信号去控制高频正弦载波的幅度,使其按调制信号的规律变化的过程。AM调制原理框图如下 AM信号的时域和频域的表达式分别为 式中,为外加的直流分量;可以是确知信号也可以是随机信号,但通常认为其平均值为0,即。 AM解调 AM信号的解调是把接收到的已调信号还原为调制信号。 AM信号的解调方法有两种:相干解调和包络检波解调。 AM相干解调原理框图如下。相干解调的关键在于必须产生一个与调制器同频同相位的载波。如果同频同相位的条件得不到满足,则会破坏原始信号的恢复。 AM包络检波解调原理框图如下。AM信号波形的包络与输入基带信号成正比,故可以用包络检波的方法恢复原始调制信号。包络检波器一般由半波或全波整流器和低通滤波器组成。 DSB调制 在幅度调制的一般模型中,若假设滤波器为全通网络(=1),调制信号 中无直流分量,则输出的已调信号就是无载波分量的双边带调制信号(DSB)。DSB调制原理框图如下

DSB信号实质上就是基带信号与载波直接相乘,其时域和频域表示式分别为 DSB解调 DSB只能进行相干解调,其原理框图与AM信号相干解调时完全相同,如图 SSB调制 SSB调制分为滤波法和相移法。 滤波法SSB调制原理框图如下所示。图中的为单边带滤波器。产生SSB信号最直观方法的是,将设计成具有理想高通特性或理想低通特性的单边带滤波器,从而只让所需的一个边带通过,而滤除另一个边带。产生上边带信号时即为,产生下边带信号时即为。 滤波法SSB调制的频域表达式 相移法SSB调制的原理框图如下。图中,为希尔伯特滤波器,它实质上是一个宽带相移网络,对中的任意频率分量均相移。

数模混合电路的PCB设计

数模混合电路的PCB设计 高速PCB 设计中,数模混合电路的PCB 设计中的干扰问题一直是一个难题。尤其模拟电路一般是信号的源头,能否正确接收和转换信号是PCB 设计要考虑的重要因素。文章通过分析混合电路干扰产生的机理,结合设计实践,探讨了混合电路一般处理方法,并通过设计实例得到验证。 0 前言 印制电路板(PCB)是电子产品中电路元件和器件的支撑件,它提供电路元件和器件之间的电气连接。现在有许多PCB 不再是单一功能电路,而是由数字电路和模拟电路混合构成的。数据一般在模拟电路中采集和接收,而带宽、增益用软件实现控制则必须数字化,所以在一块板上经常同时存在数字电路和模拟电路,甚至共享相同的元件。考虑到它们之间的相互干扰问题以及对电路性能的影响,电路的布局和布线必须要有一定的原则。混合信号PCB 设计中对电源传输线的特殊要求以及隔离模拟和数字电路之间噪声耦合的要求,增加了设计时布局和布线的复杂度。在此,通过分析高密度混合信号PCB 的布局和布线设计,来达到要求的PCB 设计目标。 1 数模混合电路干扰的产生机理 模拟信号与数字信号相比,对噪声的敏感程度要大得多,因为模拟电路的工作依赖连续变化的电流和电压,任何微小的干扰都能影响它的正常工作,而数字电路的工作依赖在接收端根据预先定义的电压电平或门限对高电平或低电平的检测,具有一定的抗干扰能力。但在混合信号环境中,数字信号相对模拟信号而言是一种噪声源。数字电路工作时,稳定的有效电压只有高低电平两种电压。当数字逻辑输出由高电压变为低电压,该器件的接地管脚就会放电,产生开关电流,这就是电路的开关动作。数字电路的速度越快,其开关时间一般也

数模混合仿真详细文档

用SpectreVerilog进行模数混仿,以Sigma-Delta ADC为例 SpectreVerilog模数混仿, 模拟部分用Spectre, 数字部分用Verilog-XL. 所以还需要安装Cadence LDV软件, 其内含Verilog-XL仿真器. 这里以自行设计的二阶全差分Sigma-Delta ADC为例, 详细介绍用SpectreVerilog的仿真过程. 所用工艺库为TSMC 0.18u,电源电压:1.8V. 1. 准备 Sigma-Delta ADC分模拟和数字部分两块, 其中模拟部分为调制器, 数字部分为数字滤波器. 如下图. 其中out为调制器的输出, 这里是1位0,1数据流. 数字滤波器为Verilog RTL级代码. Schematic: Symbol:

Verilog Code: module DigitalFilter (in2out, out, clk, clr, in); output in2out; output [`wordsize-1:0] out; input clk; input clr; input in; reg in2out; wire clk_half1, clk_half2; …… Endmodule 同时为了直观的观看输出结果,因此把输出的数字字转化为模拟量,这里用Verilog-A做一个理想的DA转换器。 因此最好事先用Spectre仿真模拟部分, 用ModelSim或Verilog-XL等仿真数字部分. 这里假定我们已有: 1) 模拟部分的原理图(包括Symbol); 2) 数字部分的Verilog代码,DigitalFilter.v, 模块名:DigitalFilter(in2out,out,clk, clr,in); 3) 数字部分的TestBench代码, DigitalFilter_TB.v, 模块名: DigitalFilter_TB. 下图为最终的系统图:

数模混合IC设计流程

数模混合IC设计流程 1.数模混合IC设计 近十年来,随着深亚微米及纳米技术的发展,促使芯片设计与制造由分离IC、ASIC 向SoC转变,现在SoC芯片也由数字SoC全面转向混合SoC,成为真正意义上的系统级芯片。如今人们可以在一块芯片上集成数亿只晶体管和多种类型的电路结构。此时芯片的制造工艺已经超越了传统制造理论的界限,对电路的物理实现具有不可忽略的影响。因此,片上系统所依赖的半导体物理实现方式,面临着多样化和复杂化的趋势,设计周期也越来越长。目前越来越多的设计正向混合信号发展。最近,IBS Corp做过的一个研究预测,到2006年,所有的集成电路设计中,有73%将为混合信号设计。目前混合信号技术正是EDA业内最为热门的话题。设计师在最近才开始注意到混合信号设计并严肃对待,在他们意识到这一领域成为热点之前,EDA公司已经先行多年。EDA业内领头的三大供应商Mentor Graphics、Synopsys和Cadence在几年前即开始合并或研发模拟和混合信号工具和技术。其中Mentor Graphics是第一个意识到这一点,并投入力量发展混合信号技术的EDA供应商。 我们先分析数模混合IC设计的 流程,简单概括如图: 首先要对整个IC芯片进行理论 上的设计。对于模拟部分,可以直接 在原理图的输入工具中进行线路设 计;而对于数字部分,主要通过各种 硬件描述语言来进行设计,比如通用 的VHDL及Verilog,数字部分的设 计也可以直接输入到原理图工具中。 当完成原理图的设计时,必须对设计 及时的进行验证。如果原理设计没有 问题,就说明设计是可行的,但这还 停留在理论的阶段,接下来必须将它 转换为实际的产品。这时需要用版图 工具将电路设计实现出来,对于模拟 电路部分,可以使用定制版图工具; 对于数字电路部分,也可以采用P&R (自动布局布线)工具实现。在完成 整个电路各个模块的版图后,再将它 们拼装成最终的版图。这时的版图并 不能最终代表前面所验证过的设计, 必须对它进行验证。首先版图要符合 流片工艺的要求,这时要对版图做DRC(Design Rule Check)检查;而版图的逻辑关系是不是代表原理图中所设计的,同样要进行LVS(Layout Versus Schematic)检查;最后,由于在实现版图的过程中引入了许多寄生效应,这些寄生的电阻电容有可能对我们的设计产生致

spectraverilog数模混合仿真

Cadence 的数模混合仿真工具spectraverilog能够实现数字模拟电路联仿的功能,对于模拟电路的输入信号可以利用数字接口很方便的进行设置。主要用来进行功能仿真。 步骤: 1.准备schematic,如电路单元mix 2.从库管理器中建立mix单元的config view. 在use template中选择spectraverilog,然后ok 将top cell中的myview改为实际的schemtic,然后ok

正确的结果如下图 保存,点击open打开config后的schematic,在tools中选择mix signal opts. 在mix-signal菜单中,尝试第二项的每一个小项,可以看到模拟和数字的相关划分。 由于数字部分默认的电压为5V,转换电平为1.5V和3.5V,因此,如果电路的电源电压不同的与5V,需要对于数模混合接口部分进行设置,在mix-signal菜单中的第三项中进行设置。对于模拟部分来讲,其按照模型进行计算,无需在数模接口部分进行端口设置,对于数字接口来讲,需要将默认的5V电平以及1.5V,3.5V转换电平变为与模拟部分相符的电压

值,比如电源3V,转换电平为1.5V和3.5V。设置如下, 对于与模拟器件相连接的数字输出端,将高电平由5V改为3V 对于与模拟器件相连接的数字输入端,将转换电平由1.5V改为3.5V改为1V和2V

所有数模混合接口的相关的数字端口都需要改动,如下图所示的数模接口部分 3.调出analog仿真工具,并设置为spectreverilog

4.编写端口的输入激励文件 设置传输分析的时间长度

20120523-数模混合电路设计流程

数模混合电路设计流程 马昭鑫 2012/5/23 本文主要面向模拟电路设计者,讲解了从行为级代码形式的数字电路到数模混合版图之间的流程,默认模拟版图和数字电路的行为级代码、testbench已经完成。阅读者需确定自己会编写Verilog或Spice格式的网表,熟悉Linux的文件操作,了解Spectre、Virtuoso、Calibre、Modelsim、Design Compiler(dc)、Astro等EDA工具的使用方法。 由于本人才疏学浅,经验不足,难免会在文中出现一些错误,恳请高手给予指正。 数模混合电路的仿真方法 一般的设计流程中数字电路和模拟电路是分开进行设计的,但有些时候希望能将数字电路和模拟电路放在一起仿真来验证设计,这就需要用到混合电路的仿真方法。在Cadence 工具中有专门用作混合电路仿真的仿真器spectreVerilog,其实现方法是首先将模拟模块与数字模块区分开并设置接口电平,然后在ADE中设置数字电路的测试代码,调用不同的仿真器分别对数字模块和模拟模块进行仿真,最后将结果汇总显示或输出。 下面将以一个简单实例的形式讲解混合电路的仿真方法。 一、建立数字模块 ①在命令行中输入下面的命令设置NC-Verilog和Cadence并启动Cadence; setdt ldv setdt ic icfb& ②建立Library的方法不再累述,创建Cell view时注意Tool选择Verilog-Editor,View Name 填写functional;

③点击OK后会弹出有模块代码框架的vi窗口,将设计需要的代码输入或粘贴进去; ④保存并关闭后如果没有错误会弹出创建Symbol View的询问对话框,确定后会进入Symbol编辑器,并自动生成了Symbol(注意在Cadence中总线用尖括号<>表示); ⑤保存并关闭Symbol编辑器。 至此已经完成了数字模块的创建。 二、建立模拟模块 模拟电路的创建方法无需赘述,这里搭建了一个输出频率为10MHz的环形振荡器。

数模混合仿真详细文档.

用 SpectreVerilog 进行模数混仿,以 Sigma-Delta ADC为例 SpectreVerilog 模数混仿 , 模拟部分用 Spectre, 数字部分用 Verilog-XL. 所以还需要安装 Cadence LDV软件 , 其内含 Verilog-XL 仿真器 . 这里以自行设计的二阶全差分 Sigma-Delta ADC为例 , 详细介绍用SpectreVerilog 的仿真过程 . 所用工艺库为 TSMC 0.18u,电源电压:1.8V. 1. 准备 Sigma-Delta ADC分模拟和数字部分两块 , 其中模拟部分为调制器 , 数字部分为数字滤波器 . 如下图 . 其中 out 为调制器的输出 , 这里是 1位 0, 1数据流 . 数字滤波器为 Verilog RTL级代码 . Schematic : Symbol :

Verilog Code: module DigitalFilter (in2out, out, clk, clr, in; output in2out; output [`wordsize-1:0] out; input clk; input clr; input in; reg in2out; wire clk_half1, clk_half2; …… Endmodule 同时为了直观的观看输出结果,因此把输出的数字字转化为模拟量,这里用Verilog-A 做一个理想的 DA 转换器。 因此最好事先用 Spectre 仿真模拟部分 , 用 ModelSim 或 Verilog-XL 等仿真数字部分 . 这里假定我们已有 :

设计数模混合电路抗干扰的秘密

设计数模混合电路抗干扰的秘密 数模混合电路设计当中,干扰源、干扰对象和干扰途径的辨别是分析数模混合设计干扰的基础。通常的电路中,模拟信号上由于存在随时间变化的连续变化的电压和电流有效成分,在设计和调试过程中,需要同时控制这两个变量,而且他们对于外部的干扰更敏感,因而通常作为被干扰对象做分析;数字信号上只有随时间变化的门限量化后的电压成分,相比模拟信号对干扰有较高的承受能力,但是这类信号变化快,特别是变化沿速度快,还有较高的高频谐波成分,对外释放能量,通常作为干扰源。 作为干扰源的数字电路部分多采用CMOS工艺,从而导致数字信号输入端极高的输入电阻,通常在几十k欧到上兆欧姆。这样高的内阻导致数字信号上的电流非常微弱,因而只有电压有效信号在起作用,在数模混合干扰分析中,这类信号可以作为电压型干扰源,如CLK 信号,Reset等信号。除了快速交变的数字信号,数字信号的电源管脚上,由于引脚电感和互感引起的同步开关噪声(SSN),也是数模混合电路中存在的重要一类电压型干扰源。此外,电路中还存在一些电流信号,特别是直流电源到器件负载之间的电源信号上有较大的电流,根据右手螺旋定理,电流信号周围会感应出磁场,进而引起变化的电场,在分析时,直流电源作为电流型干扰源。 无论电压型还是电流型的干扰源,在耦合到被干扰对象时,既可能通过电路传导耦合,也可能通过空间电磁场耦合,或者二者兼有。然而一般的仿真分析工具,往往由于功能所限,只能分析其中一种。例如在传统的SPICE电路仿真工具中,只考虑电路传导型的干扰,并不考虑空间电磁场的耦合;而一般的PCB 信号完整性(SI)分析工具,只考察空间电磁场耦合,将所有的电源、地都看作理想DC直流,不予分析考虑。耦合路径提取的不完整,也是困扰数模混合噪声分析的重要原因。 数模混合设计中,电源和地的划分,是业内争论的焦点。传统的设计中,数字模拟部分被严格分开;然而随着系统越来越复杂,数模电路集成度不断提高,分割又会造成数字信号跨分割,信号回流不完整,进而影响信号完整性,另外,电源的分割还造成电源分配系统的阻抗过高;有人提出“单点连接”:还是做分割,但是在跨分割的信号下方单点连接以避免跨分割问题;但是如果数模之间信号很多,难于分开,这种“单点连接”也存在困难,因而又有人提出不分割,只是保持数字和模拟部分不要交叉;还有一些资料介绍,在跨分割的信号旁边包地线或者并联的电容,用来提供完整回流路径。无论哪种方法,似乎都有一定道理,而且都有成功的先例,然而所有这些分割方案的有效性以及可能存在的问题,一直没有检验的标准。 数模混合电路的仿真,还存在模型的问题。业界普遍接受的模拟电路仿真模型还是SPICE 模型,数字电路信号完整性分析使用IBIS模型。多家EDA公司的仿真软件已经推出支持多种模型的混合模型仿真器,然而摆在设计师案头的主要困难是器件模型,特别是模拟器件模型很难得到。在数字设计看来,时域的瞬态分析,即某一时间点上确定的电压值,是仿真的主要手段,就像调试中的示波器那样直观。没有精确的模型,瞬态分析就无法实现。然而对模拟设计,特别是噪声分析,激励源在时间轴上难于描述或很难预测,只知道他的频率带宽范围和大致幅度,这时候我们通常会引入频域扫频分析,考察扫频信号在关注点的变化,如同频谱分析仪的作用。或者干脆如网络分析仪(NA)那样考察信号或噪声通过的通道的频域SYZ参数,进而预测干扰发生的频率和幅度。可见,数模混合噪声分析,既需要支持混合模型的仿真器,也需要仿真器同时支持时域分析和频域分析。

PSpice AD基本仿真

PSpice A/D数模混合仿真 孙海峰Cadence的PSpice A/D可以对电路进行各种数模混合仿真,以验证电路的各个性能指标是否符合设计要求。PSpice A/D主要功能是将Capture CIS产生的电路或文本文件(*.cir)进行处理和仿真,同时附属波形观察程序Probe对仿真结果进行观察和分析。 PSpice A/D数模仿真技术主要包括以下几类仿真: 1、直流扫描分析(DC Sweep):电路的某一个参数在一定范围内变化时,电路直流输出特性的分析和计算。 2、交流扫描分析(AC Sweep):计算电路的交流小信号线性频率响应特性,包括幅频特性和相频特性,以及输入输出阻抗。 3、噪声分析(Noise):在设定频率上,计算电路指定输出端的等效输出噪声和指定输入端的等效输入噪声电平。 4、直流偏置点分析(Bias Point):当电路中电感短路,电容断路时,电路静态工作点的计算。进行交流小信号和瞬态分析之前,系统会自动计算直流偏置点,以确定瞬态分析的初始条件和交流小信号条件下的非线性器件的线性化模型参数。 5、时域/瞬态分析(Transient):在给定激励下,电路输出的瞬态时域响应的计算,其初始状态可由用户自定义,也可是直流偏置点。 6、蒙特卡洛分析(Monte-Carlo):根据实际情况确定元件参数分布规律,然后多次重复进行指定电路特性的分析,每次分析时的元件参数都采用随机抽样方式,完成多次分析后进行统计分析,就可以得到电路特性的分散变化规律。 7、最坏情况分析(Worst):电路中元件处于极限情况时,电路输入输出特性分析,是蒙特卡洛的极限情况。

8、参数扫描分析(Parametric Sweep )电路中指定元件参数暗规律变化时,电路特性的分析计算。 9、温度分析(Temperature ):在指定温度条件下,分析电路特性。 10灵敏度分析(Sensitivity ):计算电路中元件参数变化对电路性能的影响。 以上就是PSpice A/D 所能进行的电路数模混合仿真的内容,下面就介绍具体如何使用PSpice A/D 来对电路进行数模仿真。 运用PSpice 仿真的基本流程如下图: 一、绘制仿真原理图 调用软件自带的仿真模型库(Tools/Capture/Library/PSpice )中的元件,这里的元件模型都是具有电气特征的,可以直接进行PSpice A/D 仿真。原理图绘制方法和Capture 中一样,不再赘述,绘制以下RC 单通道放大器原理图如下: 绘制仿真原理图 仿真 观察分析仿真结果 调整电路 调整仿真参数 设置仿真参数

数模混合电路的设计(很详细规范)

目录: 前言 一、数模混合设计的难点 二、提高数模混合电路性能的关键 三、仿真工具在数模混合设计中的应用 四、小结 五、混合信号PCB设计基础问答 前言: 数模混合电路的设计,一直是困扰硬件电路设计师提高性能的瓶颈。众所周知,现实的世界都是模拟的,只有将模拟的信号转变成数字信号,才方便做进一步的处理。模拟信号和数字信号的转变是否实时、精确,是电路设计的重要指标。除了器件工艺,算法的进步会影响系统数模变换的精度外,现实世界中众多干扰,噪声也是困扰数模电路性能的主要因素。本文通过Ansoft公司的“AD-Mix Sig nal Noise Design Suites” 数模混合噪声仿真设计软件的对数模混合设计PCB 的仿真,探索分析数模混合电路的噪声干扰和优化设计的途径,以达到改善系统性能目的。 一、数模混合设计的难点 数模混合电路设计当中,干扰源、干扰对象和干扰途径的辨别是分析数模混合设计干扰的基础。通常的电路中,模拟信号上由于存在随时间变化的连续变化的电压和电流有效成分,在设计和调试过程中,需要同时控制这两个变量,而且他们对于外部的干扰更敏感,因而通常作为被干扰对象做分析;数字信号上只有随时间变化的门限量化后的电压成分,相比模拟信号对干扰有较高的承受能力,但是这类信号变化快,特别是变化沿速度快,还有较高的高频谐波成分,对外释放能量,通常作为干扰源。 作为干扰源的数字电路部分多采用CMOS工艺,从而导致数字信号输入端极高的输入电阻,通常在几十k欧到上兆欧姆。这样高的内阻导致数字信号上的电流非常微弱,因而只有电压有效信号在起作用,在数模混合干扰分析中,这类信号可以作为电压型干扰源,如CLK信号,Reset等信号。除了快速交变的数字信号,数字信号的电源管脚上,由于引脚电感和互感引起的同步开关噪声(SSN),也是数模混合电路中存在的重要一类电压型干扰源。此外,电路中还存在一些电流信号,特别是直流电源到器件负载之间的电源信号上有较大的电流,根据右手螺旋定理,电流信号周围会感应出磁场,进而引起变化的电场,在分析时,直流电源作为电流型干扰源。

PSpice_AD基本仿真

PSpice A/D数模混合仿真 孙海峰OrCAD中的PSpice A/D可以对电路进行各种数模混合仿真,以验证电路的各个性能指标是否符合设计要求。PSpice A/D主要功能是将Capture CIS产生的电路或文本文件(*.cir)进行处理和仿真,同时附属波形观察程序Probe对仿真结果进行观察和分析。 PSpice A/D数模仿真技术主要包括以下几类仿真: 1、直流扫描分析(DC Sweep):电路的某一个参数在一定范围内变化时,电路直流输出特性的分析和计算。 2、交流扫描分析(AC Sweep):计算电路的交流小信号线性频率响应特性,包括幅频特性和相频特性,以及输入输出阻抗。 3、噪声分析(Noise):在设定频率上,计算电路指定输出端的等效输出噪声和指定输入端的等效输入噪声电平。 4、直流偏置点分析(Bias Point):当电路中电感短路,电容断路时,电路静态工作点的计算。进行交流小信号和瞬态分析之前,系统会自动计算直流偏置点,以确定瞬态分析的初始条件和交流小信号条件下的非线性器件的线性化模型参数。 5、时域/瞬态分析(Transient):在给定激励下,电路输出的瞬态时域响应的计算,其初始状态可由用户自定义,也可是直流偏置点。 6、蒙特卡洛分析(Monte-Carlo):根据实际情况确定元件参数分布规律,然后多次重复进行指定电路特性的分析,每次分析时的元件参数都采用随机抽样方式,完成多次分析后进行统计分析,就可以得到电路特性的分散变化规律。 7、最坏情况分析(Worst):电路中元件处于极限情况时,电路输入输出特性分析,是蒙特卡洛的极限情况。

8、参数扫描分析(Parametric Sweep )电路中指定元件参数暗规律变化时,电路特性的分析计算。 9、温度分析(Temperature ):在指定温度条件下,分析电路特性。 10灵敏度分析(Sensitivity ):计算电路中元件参数变化对电路性能的影响。 以上就是PSpice A/D 所能进行的电路数模混合仿真的内容,下面就介绍具体如何使用PSpice A/D 来对电路进行数模仿真。 运用PSpice 仿真的基本流程如下图: 一、绘制仿真原理图 调用软件自带的仿真模型库(Tools/Capture/Library/PSpice )中的元件,这里的元件模型都是具有电气特征的,可以直接进行PSpice A/D 仿真。原理图绘制方法和Capture 中一样,不再赘述,绘制以下RC 单通道放大器原理图如下: 绘制仿真原理图 仿真 观察分析仿真结果 调整电路 调整仿真参数 设置仿真参数

数模混合仿真基本流程.

数/模混合仿真基本步骤 1、输入命令“ which verilog.vmx” ,参看仿真所需的“ verilog.vmx ”文件是否存在, “ which icfb” ,查看所需的系统文件是否存在; 2、在需要进行仿真的文件目录下启动 icfb ,将系统中模拟电路部分电路结构做成 symbol , 数字电路部分用 verilog 编写,做成 view 名称为“ functional ”的模块; 3、除了有 schematic view之外,增加 config view :library manager → file → new → cell view → 如图填写后,点击 ok 弹出对话框 点击 use template ,弹出对话框

在 name 选项中选择 spectreVerilog ,点击 ok ,关闭 new configuration 对话框,在new configuration 对话框中,将 view 名称改为 schematic ,如图

保存后关闭对话框; 4、开始仿真时关闭双击 config ,弹出对话框 一般按照默认值,只显示 schematic ,不显示 config ,点击 ok 5、在弹出的 schematic 对话框中, tool → analog environment→ set up→simulator/directory/host

,弹出对话框 将 simulator 改为如图, ok ; schematic 中将出现 mixed signal 选项,点击该选项, 下拉菜单中出现三个选项, 其中 display partition选项中可选择显示模拟信号线, 数字信号线、 或混合信号线;

数模混合仿真基本流程

数模混合仿真基本流程 使用三位计数器(数字电路)和三个缓冲器(模拟电路,接在计数器的输出端)为例。 打开终端,输入ic,启动icfb 本例新建一个自己的库,在中点击 库名这里取为smic18mixedsignal 点击OK 在弹出的对话框选择 点击OK 选择为 点击OK 先搭缓冲器(用两个反相器串联而成,没有调节栅宽,取了PMOS栅宽为440纳米,NMOS栅宽为220纳米) 如下图所示 生成原理图

如下图所示 再新建三位计数器 如下图所示填写内容为functional,选择为, 内容自己填。 点击OK 弹出编写代码的界面,是VI编辑器,VI编辑器使用手册见《vim编辑器使用手册》word 文档。 将事先准备好的三位计数器代码复制进去,如下图所示 需要注意的是代码里的module名称要与cell name一致。

在末行模式下输入wq回车 弹出 点击Yes 在处可以看到0错误0警告 下面建立三位计数器的测试电路 电路图如下图所示,时钟周期为10ns,保存,关闭。

在界面选中,library manager->file->new->cell view 点击OK 在弹出的对话框中点击 在弹出的对话框中如下图选择 点击OK 点击 如下图选择 点击OK 在内加入:functional 如下图所示

点击OK 点击,关闭对话框 双击View里的,如下图选择,点击OK 点击-> 点击-> 选择为,点击OK 这时中将出现,点击 选择点击 根据工艺条件与设计要求填写A->D、D->A相关信息,如信号上升、下降时间,模拟信号向数字信号转换的高低电平等。 这里如下图设置

数模混合电路设计难点分析

数模混合电路设计难点分析 数模混合电路设计当中,干扰源、干扰对象和干扰途径的辨别是分析数模混合设计干扰的基础。通常的电路中,模拟信号上由于存在随时间变化的连续变化的电压和电流有效成分,在设计和调试过程中,需要同时控制这两个变量,而且他们对于外部的干扰更敏感,因而通常作为被干扰对象做分析;数字信号上只有随时间变化的门限量化后的电压成分,相比模拟信号对干扰有较高的承受能力,但是这类信号变化快,特别是变化沿速度快,还有较高的高频谐波成分,对外释放能量,通常作为干扰源。 作为干扰源的数字电路部分多采用CMOS工艺,从而导致数字信号输入端极高的输入电阻,通常在几十k欧到上兆欧姆。这样高的内阻导致数字信号上的电流非常微弱,因而只有电压有效信号在起作用,在数模混合干扰分析中,这类信号可以作为电压型干扰源,如CLK信号,Reset等信号。除了快速交变的数字信号,数字信号的电源管脚上,由于引脚电感和互感引起的同步开关噪声(SSN),也是数模混合电路中存在的重要一类电压型干扰源。此外,电路中 还存在一些电流信号,特别是直流电源到器件负载之间的电源信号上有较大的电流,根据右手螺旋定理,电流信号周围会感应出磁场,进而引起变化的电场,在分析时,直流电源作为电流型干扰源。 无论电压型还是电流型的干扰源,在耦合到被干扰对象时,既可能通过电路传导耦合,也可能通过空间电磁场耦合,或者二者兼有。然而一般的仿真分析工具,往往由于功能所限,只能分析其中一种。例如在传统的SPICE电路仿真工具中,只考虑电路传导型的干扰,并不考虑空间电磁场的耦合;而一般的PCB信号完整性(SI)分析工具,只考察空间电磁场耦合,将所有的电源、地都看作理想DC直流,不予分析考虑。耦合路径提取的不完整,也是困扰数模混

直流工程数模混合仿真建模及试验规范 编制说明

国家标准《直流工程数模混合仿真建模及试验规范》 (征求意见稿) 编制说明 1.工作简况 1.1任务来源 随着特高压交直流大电网快速发展,电网设备类型更加多样,更新换代频繁,不同厂家的设备原理不尽相同。应用日益广泛的电网实时仿真系统在建模、试验方法、试验项目、接口等方面存在较大差异。因此,为提升仿真与试验的准确度和效率,亟需对电网重要元件的建模和设备模型管理进行标准化,并对电网实时仿真技术的应用给予规范化的指导。尤其是直流工程的接入对传统交流电网特性影响较大,传统以研究机电暂态过程为主的仿真方法,不能准确描述直流工程中换流阀的快速响应特性,需要采用更详细的电磁暂态仿真。直流工程设备的控制系统复杂,其数字化建模技术尚不完善,大量接入仿真电网模型后严重影响数字仿真精度。直流控保的数字建模难以及时跟踪现场控保程序的更新。为了解决直流工程模拟的精度和效率等问题,需采用数模混合仿真,即直流工程的一次系统采用全电磁暂态数字模拟,控制保护采用实际物理装置,通过接口技术实现二者互联。数模混合仿真是模拟直流工程特性的最准确方式,还是其他数字仿真软件的“校准钟”。目前国内外设备厂家、高校和科研单位拥有的直流数模混合实时仿真系统在建模和仿真方法上不同,缺乏国家统一标准和规范,使得仿真结果存在较大差异,影响仿真可信度。此外,由于缺乏国家标准支撑,在一定程度上阻碍了我国直流输电技术和产品、电网仿真咨询及试验检测业务等的国际输出。 2018年,该标准申请获得立项,标准计划号为20184624-T-524。该标准为首次编制。 1.2主要工作过程 a) 2017年7月,成立标准工作组; b) 2017年9月~2018年6月,各单位总结以往工作经验,充分调研及收资; c) 2018年7月,召开项目启动会,明确了各参与单位任务分工,制定了实

相关主题