verilog 16位数据流转24位
- 你的回答被采纳后将获得:
- 系统奖励15(财富值+成长值)+难题奖励30(财富值+成长值)
1个回答
展开全部
设置一个0~2的计数器cnt;
if(in_data is vld)
cnt =cnt +1
in_data[15:0]
out_data[23:0]
tmp_sv[7:0]
if(cnt==0)
out_data[23:8] <= in_data;
else if(cnt=1)begin
out_data[7:0] <= in_data[15:8]
tmp_sv <= in_data[7:0]
end
else if(cnt=2)
out_data[23:0] <= {tmp_sv,in_data}
if(cnt==1 || cnt==2)
out_vld <= in_vld
else
out_vld <= 1'b0;
if(in_data is vld)
cnt =cnt +1
in_data[15:0]
out_data[23:0]
tmp_sv[7:0]
if(cnt==0)
out_data[23:8] <= in_data;
else if(cnt=1)begin
out_data[7:0] <= in_data[15:8]
tmp_sv <= in_data[7:0]
end
else if(cnt=2)
out_data[23:0] <= {tmp_sv,in_data}
if(cnt==1 || cnt==2)
out_vld <= in_vld
else
out_vld <= 1'b0;
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询