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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 4468|回复: 8

求助VERILOG-A的一个问题

[复制链接]
发表于 2008-4-15 20:32:21 | 显示全部楼层 |阅读模式

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

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

x
我在网上下了一个 NOR的VERILOG-A的模型
`include "disciplines.vams"
`include "constants.vams"
module V_nor(in,out);
input [0:size-1] in;
output out;
electrical in,out;

parameter real size = 2 from [2:inf),
                vout_high = 5,
                vout_low = 0 from (-inf:vout_high),
                vth = 1.4,
                tdelay = 5n from [0:inf),
                trise = 1n from [0:inf),
                tfall = 1n from [0:inf);

integer in_state[0:size-1];
integer out_state;
real vout;
interger i;
analog
begin
   @(initial_step)
     for(i=0;i<size;i=i+1) in_state=0;

generate i (0,size-1)                 //编译的时候说这句有问题 我不知道哪儿错了 然后我把这句屏蔽掉后 又说Array bounds for net 'in' must be constant in this .
   begin
     @(cross(V(in) - vth))
     begin
       in_state = V(in) > vth;
       out_state = 0;
       for (i=0;i<size;i=i+1)
         if (in_state) out_state = 1;
       if (out_state) vout = vout_low;          // inversion of output
       else           vout = vout_high;
     end
   end

   V(out) <+ transition(vout,tdelay,trise,tfall);
end
endmodule


请教下牛人 到底这个东西哪儿有问题了 或者给我发一个NOR的模型吧  我有急用 谢谢
发表于 2008-4-16 19:37:50 | 显示全部楼层
verilog-a 的i/o 不支持总线。

`include "discipline.h"
`include "constants.h"
//--------------------
// nor
//
// -  nor gate
//
// vin1, vin2:  [V,A]
// vout:  [V,A]
//
// INSTANCE parameters
//    vlogic_high = output voltage for high [V]
//    vlogic_low  = output voltage for high [V]
//    vtrans      = voltages above this at input are considered high [V]
//    tdel, trise, tfall = {usual}
//
module nor_gate(vin1, vin2, vout);
input vin1, vin2;
output vout;
electrical vin1, vin2, vout;
parameter real vlogic_high = 5;
parameter real vlogic_low = 0;
parameter real vtrans = 1.4;
parameter real tdel = 2u from [0:inf);
parameter real trise = 1u from (0:inf);
parameter real tfall = 1u from (0:inf);
   real vout_val;
   integer logic1, logic2;

   analog begin
      @ ( initial_step ) begin
         if (vlogic_high < vlogic_low) begin
            $display("Range specification error.  vlogic_high = (%E) less than vlogic_low = (%E).\n", vlogic_high, vlogic_low );
            $finish;
         end
         if (vtrans > vlogic_high || vtrans < vlogic_low) begin
            $display("Inconsistent $threshold specification w/logic family.\n");
         end
      end

      logic1 = V(vin1) > vtrans;
      logic2 = V(vin2) > vtrans;
      @ (cross(V(vin1) - vtrans, 1))  logic1 = 1;
      @ (cross(V(vin1) - vtrans, -1)) logic1 = 0;
      @ (cross(V(vin2) - vtrans, 1))  logic2 = 1;
      @ (cross(V(vin2) - vtrans, -1)) logic2 = 0;

      //
      // define the logic function.
      //
      vout_val = (!(logic1 || logic2)) ? vlogic_high : vlogic_low;
      V(vout) <+ transition( vout_val, tdel, trise, tfall);
   end
endmodule
 楼主| 发表于 2008-4-16 19:42:46 | 显示全部楼层
谢谢 楼上
发表于 2008-4-21 18:33:00 | 显示全部楼层
都怎么找到这些例子的?
发表于 2008-5-4 12:51:22 | 显示全部楼层
我用的IC DESIGN TOOLS里面有一些模型的 包括或非门的 还有其他的 像lpf vco等等
 楼主| 发表于 2008-5-5 10:44:03 | 显示全部楼层



请问你用的是什么工具啊?? 能不能把这些模型发上来 我现在正在学习这个东西建模
发表于 2008-5-5 16:45:31 | 显示全部楼层
没有搞懂啊!
发表于 2011-7-5 19:23:57 | 显示全部楼层
请教,verilog-a 不支持总线,如果前面是总线要做输入,在内部作控制,我该怎么办?
发表于 2020-4-27 00:29:03 | 显示全部楼层
请问
Error: File not found 'disciplines.vams' in search path '.'.
        ['C:\Users\Administrator\Desktop\10_4231_D33R0PV04\hh\needsmtj_1_0_0b.va',31]
        `include "disciplines.vams"
这样的报错怎么办?
我的.va上来也是2个include,但是这2个include就报错。我是用hspice2008编译的。
请问大家是用什么软件?我需要做些什么使这个error消失?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

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

GMT+8, 2025-2-13 22:30 , Processed in 0.023464 second(s), 6 queries , Gzip On, Redis On.

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