在线咨询
eetop公众号 创芯大讲堂 创芯人才网
切换到宽版

EETOP 创芯网论坛 (原名:电子顶级开发网)

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2288|回复: 5

[讨论] verilog—A疑问,请高手指教!

[复制链接]
发表于 2017-1-26 09:03:56 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册

x
本帖最后由 辽大队长 于 2017-1-26 09:11 编辑

最近在学习verilog-A语言,0基础,打算写一个惠斯通电阻桥的模型,但是编译如下,系统总提示有错误,不知原因,请大侠指点一二,切勿笑我,对语言真的是一窍不通。


// VerilogA for TEST, res, veriloga

`include "constants.vams"
`include "disciplines.vams"

//--------------------------
// -  res
//
// plus,minus:       terminals (V,A)
//
// INSTANCE parameters
//    r = resistance (Ohms)
//
// MODEL parameters
//     {none}
//


module res(plus,minus);
inout plus,minus;
electrical plus,minus;
parameter real q=0.1;
parameter real un=300;
parameter real Ndnw=2.3;
parameter real teff=0.8;
parameter real a=1;
real r,rsh;
analog begin
  rsh=1/(q*un*Ndnw*teff);
  V(plus,minus) <+ r*I(plus,minus);
end
endmodule


//module resh
module HP(t,m,r,n);
inout t,m,r,n;
electrical t,m,r,n;
res res1(t,m);
res res2(m,r);
res res3(r,n);
res res4(n,t);
real rh,rsh;
analog
  rh=(2*rsh/('M_PI))*((2*l/w+2/3)*'M_PI-2*ln2);
  r<+rh;
endmodule
ERROR.bmp
发表于 2017-1-29 00:29:43 | 显示全部楼层
anaog begin

AND

no definition of w and l
 楼主| 发表于 2017-2-3 08:55:09 | 显示全部楼层
本帖最后由 辽大队长 于 2017-2-3 10:13 编辑

回复 2# tedwu0508


    您好:我的程序里面用到了PI,所以按手册语法定义了一下:

// VerilogA for TEST, resistor1, veriloga

`include "constants.vams"
`include "disciplines.vams"

//--------------------------
// -  resistor1
//
// plus,minus:       terminals (V,A)
//
// INSTANCE parameters
//    r = resistance (Ohms)
//
// MODEL parameters
//     {none}
//

'define M_PI 3.1415926535897932384626433
module res(plus,minus);
inout plus,minus;
electrical plus,minus;
parameter real q=0.1;
parameter real un=300;
parameter real Ndnw=2.3;
parameter real teff=0.8;
parameter real a=1;
real r,rsh;
analog begin
  rsh=1/(q*un*Ndnw*teff);
  V(plus,minus) <+ r*I(plus,minus);
end
endmodule


//module resh
module HP(t,m,r,n);
inout t,m,r,n;
electrical t,m,r,n;
parameter real l=1.0u;
parameter real w=1.0u;
res res1(t,m);
res res2(m,r);
res res3(r,n);
res res4(n,t);
real rh,rsh;
analog begin
  rh= (2*rsh/'M_PI)*((2*l/w+2/3)*'M_PI-2*ln2);
  r<+ rh;
end
endmodule

现在报这个错是什么原因呢
3333.bmp
发表于 2017-2-4 10:12:35 | 显示全部楼层
`define ...not
'define ....

rsh is not defined!
发表于 2017-2-6 09:37:17 | 显示全部楼层
你错误的使用了<+运算符,可以改成V(xx)<+rsh*I(xx)
 楼主| 发表于 2017-2-7 16:47:32 | 显示全部楼层
回复 4# tedwu0508


   谢谢,方便的话可以不以加一下QQ呢,还有点问题要请教!!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

站长推荐 上一条 /1 下一条

小黑屋| 手机版| 关于我们| 联系我们| 在线咨询| 隐私声明| EETOP 创芯网
( 京ICP备:10050787号 京公网安备:11010502037710 )

GMT+8, 2024-11-18 11:46 , Processed in 0.018723 second(s), 8 queries , Gzip On, Redis On.

eetop公众号 创芯大讲堂 创芯人才网
快速回复 返回顶部 返回列表