并行转串行输出的问题
时间:10-02
整理:3721RD
点击:
请教各位一个问题:
我想做一个并行转串行输出的模块,模块的前端模块从位宽为8的FIFO中连续POP 512拍数据,这些数据作为本模块的输入数据,在每一拍数据的时间内,我需要将这个8位宽的并行数据转化为串行后输出,在下一拍并行数据到来之前完成所有转换,每一拍并行数据都不能丢失。想要实现的话,本模块是不是要使用更高频的时钟?是否是使用高频时钟计数来实现? 请各位说一下大体思路,求各位指点。谢谢!
我想做一个并行转串行输出的模块,模块的前端模块从位宽为8的FIFO中连续POP 512拍数据,这些数据作为本模块的输入数据,在每一拍数据的时间内,我需要将这个8位宽的并行数据转化为串行后输出,在下一拍并行数据到来之前完成所有转换,每一拍并行数据都不能丢失。想要实现的话,本模块是不是要使用更高频的时钟?是否是使用高频时钟计数来实现? 请各位说一下大体思路,求各位指点。谢谢!
什么本模块 ?什么更高频率 ?
说的具体一点啊 画个草图看看
本模块时钟频率应为输入数据的八倍频。
首先将数据enable同步到本地时钟,在enable上升沿触发一个模为8的计数器并将data锁住,根据计数器将data值按位发出去即可。
我也这么想过,但是enable信号使用哪个呢?八倍频的时钟相当于它的前端模块将使能信号拉高了八拍。?是在512拍数据的第一拍开始的时候我就要开始计数了吧?
8位转1位用一个FIFO不就实现了吗?FIFO的写时钟和读时钟采用不同频率。根据串行输出的计数控制FIFO的写使能,不知道能不能解决你的问题。
