概述
假如reg是一个串行不断输入的1bit数据,当其传输8位后停止传输,假设其8次输入的数据为
1111 1111,而rx_data本来的数据为8位的0000 0000
always@(posedge sys_clk or negedge sys_rst_n)
if(sys_rst_n == 1'b0)
rx_data <= 8'b0;
else if (条件)
rx_data <= { reg, rx_data[7:1] };
首先,满足条件下,reg的第一个数据为1,则{ 1,0000 000},因为原来的rx_data为8个0,现在只保留了高七位,相当于将其右移了一位。然后将{ 1,0000 000}重新赋值给rx_data,
等到下一次执行的时候,数据变为{1,10000 00}一直全部将reg的数据赋值给rx_data。
不仅实现了位拼接右移,同时还将一个串行数据变成一个并行数据输出。
最后
以上就是瘦瘦帽子为你收集整理的verilog中的位拼接移位实现串行数据转并行数据的全部内容,希望文章能够帮你解决verilog中的位拼接移位实现串行数据转并行数据所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复