我是靠谱客的博主 瘦瘦帽子,最近开发中收集的这篇文章主要介绍verilog中的位拼接移位实现串行数据转并行数据,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

假如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中的位拼接移位实现串行数据转并行数据所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(65)

评论列表共有 0 条评论

立即
投稿
返回
顶部