EETOP 创芯网论坛 (原名:电子顶级开发网)
标题:
如何用Verilog找出某一个特定的数据
[打印本页]
作者:
上官紫虞
时间:
2014-10-31 13:18
标题:
如何用Verilog找出某一个特定的数据
我从发端接收到一段数据,要从这一段数据中找到连续的两个值,比如说0x47,0x7F,请问一下我该如何写Verilog啊,我是菜鸟,大神们帮帮忙,谢谢了!
作者:
jun_dahai
时间:
2014-10-31 15:10
简单的很,如果类似某种序列的话,利用状态机;如果是单一几个数据的话,利用几个比较器足矣
建议先分析下设计需求,再建立对应的模型,进而硬件代码实现
作者:
上官紫虞
时间:
2014-10-31 15:15
回复
2#
jun_dahai
我只需要判断两个数也需要用状态机吗?感觉不需要吧,随便问一下,一个时钟可以读一个十六进制的数吗?
作者:
jun_dahai
时间:
2014-10-31 15:19
回复
3#
上官紫虞
那就要看你数据传输的位宽了,以及传输速率
作者:
上官紫虞
时间:
2014-10-31 15:28
回复
4#
jun_dahai
传输的位宽是16位的话,是不是一个时钟可以读取一个十六进制的数据啊!
作者:
jun_dahai
时间:
2014-10-31 15:33
回复
5#
上官紫虞
可以,每个特定的设计都有自己特有的design requirements,建议你跟周围的同事或者leader沟通下,再进行设计开发
数字电路设计,无非就是在时钟的牵引下,根据不同的控制需求,把特定数据接受过来,经过必要加工处理,再发送出去
作者:
lwf198305
时间:
2014-10-31 16:53
先假设输入数据位宽为N,当前输入数据时data[N-1:0],则该数据延时一拍为d1_data[N-1:0];
有2种情况,{data_1d【7:0],data【N-1:N-8]} == 0X477F;或者data【N-M-1:N-M-16] == 0x477x。
作者:
上官紫虞
时间:
2014-10-31 17:05
回复
6#
jun_dahai
恩恩,差不多知道了,谢谢你啊!
作者:
上官紫虞
时间:
2014-10-31 17:06
回复
7#
lwf198305
经你这一讲,我就非常明白了,现在不管是两个数还是三个数我都会了,非常感谢,真是令我这菜鸟佩服啊,(*^__^*) 嘻嘻……
作者:
教父
时间:
2014-10-31 22:58
就相当于dataalign 的问题 数据从新组合判定就可以了
作者:
glace12123
时间:
2014-11-1 00:17
很简单,用两个寄存器构成移位寄存器,把数据移入,就检测两个寄存器的输出是否是你想的两个值,这样就做到连续检测两个理想值的功能了。
欢迎光临 EETOP 创芯网论坛 (原名:电子顶级开发网) (https://bbs.eetop.cn/)
Powered by Discuz! X3.4