资讯详情

第1章:混仿概览

混合过程概述

混仿能够对 进行仿真。

有三种不同的解决方案:

  • CustomSim? VCS/VCS MX tool
  • FineSim? VCS/VCS MX tool
  • HSIM? VCS/VCS MX tool

根据混合信号设计中使用的语言有三种不同的语言flow:

  • Verilog-SPICE flow
  • VHDL/Verilog-SPICE Flow
  • Verilog-AMS-SPICE

三种解决方案部分或全部支持三种解决方案flow,关系如表

解决方案 Flow #1 Flow #2 Flow #3
Verilog-SPICE VHDL/Verilog-SPICE Flow Verilog-AMS-SPICE
VCS AMS ? ? ?
FineSim VCS Cosim ? ?
HSIM VCS Cosim ? ?

检查混仿设置

网表相关问题

模块/电路名称一致

:假如有一个模块verilog形式描述,又有SPICE形式描述称为模块 multi-view cell。

对于一个multi-view cell,verilog模块名和SPICE电路名必须相同,管脚的数量和名称必须相同。

大小写敏感

对于一个multi-view cell,verilog模块名和SPICE电路名的大小写必须相同,管脚名的大小写必须相同。需要注意的是HSPICE默认情况下,网表将每个名字视为小写。

馈电电源

在Verilog顶层中例化SPICE电路,需要为SPICE连接馈电。

如果SPICE如果电路中没有馈电引脚,则需要SPICE网表中使用.global声明连接电源SPICE电路。

// SPICE在网表中定义全局电源和地面 v_vdd vdd 0 1.8 v_vss vss 0 0

.subckt inv in out m1 out in p_tran l=0.25u w=10.0u m2 out in n_tran l=0.25u w=10.0u .ends

// verilog 实例化 inv 无需添加电源和低引脚 module verilog_top(…); … … endmodule

  • 使用带powernet选项的d2a指令

    // vcsAD.init hiv=1.2 lov=0 node=top.vdd; hiv=1.2 lov=0 node=top.vss;

    如果verilog线网定义为"supply0" 或 “supply1” 线网不需要人工设置d2a powernet,相关设置将自动完成工具。

  • 创建一个新的双端口SPICE电路 新创造的SPICE电路为原电路供电

    .subckt inv in out m1 out in vdd vdd p_tran l=0.25u w=10.0u m12out in vss vss n_tran l=0.25u w=10.0u .ends

    // The spice_pwr_supply subcircuit supplies the vdd and vss power supply signals .subckt spice_pwr_supply v_vdd vdd 0 1.8 v_vss vss 0 0 .ends

    module verilog_top (…); … // Power pins included in the inverter instance inv i1 (.in(d_in), .out(d_out), ; … // spice_pwr_supply supplies VDD and VSS for the design spice_pwr_supply s1 (); … endmodule

SPICE电路中有馈电引脚,verilog没有馈电引脚。 需用使用port_connect连接理想电源的指令。 复杂…举例略。

网表声明

模拟仿真器支持的声明语句必须使用。

仿真时间

模拟时间可以在数字域或模拟域中定义。使用数字域$finish$stop,模拟域使用.tran

$finish.tran 执行后,模拟退出;$stop执行后,模拟停止并进入 Unified Command Line Interface (UCLI) 交互模式;

若数模域同时定义模拟时间,则决定退出时间。 若需要混仿工具报告模拟完成比例,SPICE中必须有.tran声明。

端口相关问题

端口映射

使用 use_spice , use_verilog or use_vhdl 指令的port_map端口映射选项。

如果端口数量不一致,则使用 port_connect 说明解决。例如,化子模块有一个电源管脚,但该模块没有,此时可以使用 port_connect 将未连接的管脚连接到其他端口。

SPICE下例化verilog默认采用时。 verilog下例化SPICE时,

  • // Verilog instantiation nor1 i1 (out1, in1, in2);

    SPICE subckt .subckt nor1 zn a b .ends

  • // Verilog instantiation nor2 i2(.(in1), .(in2), .(out2));

    *SPICE subckt .subckt nor2 .ends

:SPICE的bus成员必须(不能在两个bus成员中定义其它信号),且必须与verilog中定义的一致(升序或降序)

// Verilog instantiation addr i3(.a(ai[3:0]), .b(bi[3:0]), .cin(ci), .s(su[3:0]), .cout(co));

*SPICE subckt .subckt addr a[3] a[2] a[1] a[0] +b[3] b[2] b[1] b[0] +cin s[3] s[2] s[1] s[0] +cout .ends

端口重复

SPICE电路中不能使用重复的端口名,电源节点除外。

标签: m12a电源连接器

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台