|
发表于 2022-7-27 09:13:29
|
显示全部楼层
本帖最后由 luminedinburgh 于 2022-7-27 09:26 编辑
稍微check & save检查下语法错误,将十进制parameter code_def变量转化到electrical的 [15:0] CODE去。
- `include "constants.vams"
- `include "disciplines.vams"
- module code_16_va(CODE, VDD, GND);
- electrical VDD, GND;
- electrical [15:0] CODE;
- inout VDD, GND;
- output [15:0] CODE;
- parameter integer code_def=0 from [0:65535];
- integer code_v[15:0], code_value, i;
- analog begin
- @(initial_step) begin
- code_value=code_def;
- for(i=15;i>=0;i=i-1) begin
- code_v[i]=floor(code_value/pow(2,i))>0;
- code_value=code_value%pow(2,i);
- end
- end
- generate i (0,15) begin
- V(CODE[i])<+V(VDD,GND)*transition(code_v[i], 0, 100p, 100p);
- end
- end
- endmodule
复制代码 |
|