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

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

手机号码,快捷登录

手机号码,快捷登录

找回密码

  登录   注册  

快捷导航
搜帖子
查看: 2010|回复: 2

[求助] IC617里有啥方便的十进制转二进制的模块吗?

[复制链接]
发表于 2021-7-2 17:15:03 | 显示全部楼层 |阅读模式

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

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

x
想扫一下trim code,但ahdlLib给的那个8bitADC还得加个时钟才能用,也就是说做不了dc扫描,只能做tran。
tran就很烦,还得写个输出语句。要想做别的ac分析也得在某个时间点来做,好费时。(我后边会做tran的,不用担心。
所以想问问有没有方便现成的,能直接把一个输入值,针对一个ref量变成二进制的模块,而且不用带时钟。
谢谢!


 楼主| 发表于 2021-7-2 18:44:20 | 显示全部楼层
好,自己写了超长的一个case语句搞出来了。
发表于 2022-7-26 17:35:55 | 显示全部楼层


kanon0530 发表于 2021-7-2 18:44
好,自己写了超长的一个case语句搞出来了。


你好,我也遇到了这样的问题,比如一个四进制的是1111全开就得加4个vdc,如何直接将15转换成1111.语句能不能分享一下
发表于 2022-7-27 09:13:29 | 显示全部楼层
本帖最后由 luminedinburgh 于 2022-7-27 09:26 编辑

稍微check & save检查下语法错误,将十进制parameter code_def变量转化到electrical的 [15:0] CODE去。




  1. `include "constants.vams"
  2. `include "disciplines.vams"

  3. module code_16_va(CODE, VDD, GND);
  4. electrical VDD, GND;
  5. electrical [15:0] CODE;
  6. inout VDD, GND;
  7. output [15:0] CODE;
  8. parameter integer code_def=0 from [0:65535];
  9. integer code_v[15:0], code_value, i;

  10. analog begin

  11. @(initial_step) begin
  12. code_value=code_def;
  13. for(i=15;i>=0;i=i-1) begin
  14. code_v[i]=floor(code_value/pow(2,i))>0;
  15. code_value=code_value%pow(2,i);
  16. end
  17. end

  18. generate i (0,15) begin
  19. V(CODE[i])<+V(VDD,GND)*transition(code_v[i], 0, 100p, 100p);
  20. end

  21. end
  22. endmodule



复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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


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

GMT+8, 2024-11-22 07:55 , Processed in 0.015308 second(s), 6 queries , Gzip On, Redis On.

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