Electronics 板


LINE

我写了一个计数器 reg [31:0] B1; 其数值在0~20000间计数。 还有一个有号数 ADC reg signed [13:0] ADC; 其数值在-8192~8192间变化 另外有一个讯号线 wire [15:0] Duty; assign Duty = ADC + 8192; 即使ADC加上一正值变为正数 输出为PWM output PWM assign PWM = (B1 > Duty); 若计数器 B1 大於 Duty 时,则输出为High。 但今天遇到一个问题: 若ADC为负值(ex: ADC = -1966)时,输出讯号出现错误的情况,输出全为Low。 若直接 assign Duty = (-1966)+8192; 则输出讯号正确。 不知道为甚麽会发生这个情况,可否请板上先进不吝指导。 谢谢。 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.118.202.20
1F:推 TroyLee:需要作 Sign Extension 吗 12/21 23:06
2F:推 keterwang:@@ ,不是只要射个threshold吗 12/21 23:48
3F:推 sasako:自己独立写个sign值运算的module吧... 12/22 01:36
4F:→ colinshih:bit-length不同如何运算, 看一下书吧 你是化工系的吧? 12/22 01:37
5F:→ peliuya:所以 sign 值的运算需要独立建个 process罗? 12/22 02:21
6F:→ peliuya:我是电子系的 (掩面) 12/22 02:21
7F:→ sasako:对我来说 我几乎没有宣告过reg signed这种东西 12/22 02:24
8F:→ sasako:有所限制 详细的只好看书 运算这种东西自己写个module 12/22 02:26
9F:→ sasako:很快 又不太容易错.. 12/22 02:26
10F:→ peliuya:可是因为我ADC是由输入读进来的…是2的补数… 12/22 02:27
11F:→ peliuya:所以 如果不用signed 这个来放的话 应该会有错吧? 12/22 02:27
12F:→ sasako:只要了解1's, 2's, sign magnitude 是如何运算 不难啦.. 12/22 02:28
13F:→ sasako:告诉你 电路根本看不懂sign是啥小 不过就是人定的 12/22 02:29
14F:→ sasako:电路只懂得01010.... 12/22 02:29
15F:→ peliuya:还有想请问 我的写法 问题是出在於? 什麽观念没厘清? 12/22 02:29
16F:→ sasako:不管你暂存器存什麽 就是一堆0和1的东西.. 12/22 02:30
17F:→ sasako:我只觉得有可能出现在sign这种宣告的用法 你使用错误而已 12/22 02:31
18F:→ sasako:不然你可以试试看 不考虑sign的运算 然後跑跑看... 12/22 02:32
19F:→ peliuya:不加sign 输出也不对 毕竟放进去暂存器的代表数值就不同了 12/22 02:33
20F:→ peliuya:跑模拟运算都很正常 可是接上板子实测就出问题了 = = 12/22 02:34
21F:→ sasako:我觉得你还是明白我在说什麽 有些东西是人定的 12/22 02:36
22F:→ peliuya:我想你的意思是另外建个process 对他做处理後再运算? 12/22 02:37
23F:推 sasako:那你明白我说电路只懂0101..的意思吗? 12/22 02:39
24F:→ peliuya:了解 12/22 02:42
25F:→ sasako:举个简单的例子 一般A+B 和 2's的A+B 演算法不同 12/22 02:42
26F:→ peliuya:我只是不太懂 为甚麽ADC为正数时都正常 负数就出问题 12/22 02:43
27F:→ sasako:那麽要如何告诉程式在作二补数运算 就是你的任务 12/22 02:44
28F:→ peliuya:嗯 我再翻翻书尝试看看 ^^ 12/22 02:46
29F:→ sasako:你会用debussy作debug的话 就可以找到答案 12/22 02:48
30F:→ peliuya:debussy? 那是什麽? 12/22 02:49
31F:→ sasako:他可以看到每个时间点电路看到的值 12/22 02:50
32F:→ sasako:写verilog通常不是都用工作站 那是CIC提供的软体压 12/22 02:50
33F:→ sasako:那是一套辅助设计者debug的工具 12/22 02:51
34F:→ peliuya:我都只用xilinx ISE 写一写就直接在验证版上 run (汗) 12/22 02:52
35F:→ sasako:那你个design flow有点问题 应该都会在NCverilog环境写好 12/22 02:53
36F:→ sasako:在用debussy debug确定function正确 再烧到板子上 12/22 02:54
37F:→ sasako:不然程式要是大一点 那你不就debug到死... 12/22 02:55
38F:→ peliuya:是有用ISE本身的模拟软体先跑看看时序 可是看起来很正常 12/22 02:58
39F:→ peliuya:烧进去以後 却不见得是这麽一回事 = = 12/22 02:58
40F:→ sasako:那麽你看得到模拟每个时间点的值吗? 12/22 02:59
41F:→ sasako:因为烧进去需要作合成 合成之後又要再次验证function 12/22 03:01
42F:→ peliuya:只能看到输出入port的 所以我都把reg指定到输出观察 12/22 03:01
43F:→ sasako:才会有pre-sim这种名词存在 12/22 03:01
44F:→ peliuya:合成的时候 也没看到什麽奇怪的warning 12/22 03:02
45F:→ peliuya:但是对这个不太懂 所以也不知道到底合成出什麽东西来 (汗) 12/22 03:03
46F:→ sasako:所以你略过了RTL-sim这个过程..直接看pre-sim 12/22 03:03
47F:→ peliuya:嗯 我不知道我的程式到底会做出什麽 RTL 12/22 03:04
48F:→ sasako:没有按照流程走出现问题也是应该的 你应该先确保RTL是OK的 12/22 03:04
49F:→ sasako:不先确定RTL的function 只能说你赌得很大唷 12/22 03:06
50F:→ peliuya:因为不是学这个的 就只看看书本的语法 直接下去写 12/22 03:06
51F:→ peliuya:实在是很惭愧 -__- 12/22 03:07
52F:→ sasako:RTL指的是你原本未合成的code (应该知道吧!?) 12/22 03:07
53F:→ sasako:但是你在训练verilog 应该是要从tool开始.. 12/22 03:09
54F:→ sasako:不然你以後找工作 跟你老板说 你会写 但你却不跑RTL-sim 12/22 03:11
55F:→ peliuya:看来我需要再多花点时间才行 感谢您的指导^^ 12/22 03:11
56F:→ sasako:你真的需要在多花时间把基础训练好 加油 12/22 03:12
57F:推 ksmrt0123:试试看 assign Duty = {ADC[13],ADC[13],ADC} + 8192; 12/22 03:22
58F:→ peliuya:感谢楼上提供的方法^^ 顺利解决这个问题 谢谢 12/22 22:14
59F:推 TroyLee:其实这个问题就是我说得...Sign Extension 12/22 22:43
60F:推 ksmrt0123: 这个问题就是T大说得..Sign Extension 12/23 00:11
61F:推 ksmrt0123:还有原Po该谢的应该是T大跟热心的sassako 12/23 00:19
62F:→ peliuya:真的也很感谢T大和C大 十分热心的指导我 谢谢! 12/23 02:07
63F:→ sneak: 电路只懂得01010. https://daxiv.com 11/11 14:54
64F:→ sneak: 写verilog通常不 http://yofuk.com 01/04 21:51







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping 或 站内搜寻

TOP