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

便捷登录,只需一步

找回密码

  登录   注册  

快捷导航
搜帖子
第三代半导体技术资料|下载奖励300信元
查看: 1843|回复: 8

[求助] 加帧头帧尾怎么用verilog实现

[复制链接]
发表于 2020-6-28 13:31:07 | 显示全部楼层 |阅读模式
20资产
本帖最后由 lbzhu 于 2020-6-28 14:31 编辑

有一个固定长度(由使能信号指示)的序列,在序列前面加上固定长度的帧头,在序列后面加上固定长度的帧尾,帧头帧尾都一样,长度相同,怎么用verilog实现

发表于 2020-6-28 14:22:05 | 显示全部楼层
你这个能不能具体一点。
回复

使用道具 举报

发表于 2020-6-28 15:56:55 | 显示全部楼层
推荐个数字设计深度入门课,看完自己写:
https://ke.qq.com/course/package/24207?tuin=64ce5e2a
回复

使用道具 举报

发表于 2020-6-28 16:23:52 | 显示全部楼层
fifo写,fifo读后concat。使能做fifo wr,rd 控制。
回复

使用道具 举报

 楼主| 发表于 2020-6-28 19:34:56 | 显示全部楼层


   
A1985 发表于 2020-6-28 16:23
fifo写,fifo读后concat。使能做fifo wr,rd 控制。


是不是这样的,先将数据序列写进fifo,检测到有数据时,将帧头付给输出,完了读fifo将数据输出,再讲帧尾输出,帧头帧尾都是parameter参数表示
回复

使用道具 举报

发表于 2020-6-29 08:12:39 | 显示全部楼层
状态机实现比较简单吧
回复

使用道具 举报

发表于 2020-6-29 12:37:08 | 显示全部楼层
本帖最后由 qladxk2008 于 2020-6-29 12:38 编辑

always@(posedge clk ...)
en_d<=en;data_d<=data;


start = en & !en_d;
end = !en & en_d;



//concat the data
always@(posedge clk ...)
if (start)
data_in <= start_frame;
else if (end)
data_in <= end_frame;
else
data_in <= data_d;




回复

使用道具 举报

 楼主| 发表于 2020-6-29 15:03:14 | 显示全部楼层


   
qladxk2008 发表于 2020-6-29 12:37
always@(posedge clk ...)
en_d


帧头有13个数,帧尾也是13个数,另外数据也有好几个数,这样的话怎么实现
回复

使用道具 举报

发表于 2020-6-29 15:24:01 | 显示全部楼层


   
lbzhu 发表于 2020-6-29 15:03
帧头有13个数,帧尾也是13个数,另外数据也有好几个数,这样的话怎么实现
...


发送过程用状态机控制,每帧的数据段通过不同状态标识,就可以了,发送接收数据帧是数字通信中最基本,其实也是相对比较简单的东西
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

关闭

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

GMT+8, 2020-7-15 07:17 , Processed in 0.061054 second(s), 6 queries , Gzip On, Redis On.

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表