串行通信协议控制器、字节拆分电路及8b10b编码器的制造方法

文档序号:7527443阅读:297来源:国知局
串行通信协议控制器、字节拆分电路及8b10b编码器的制造方法
【专利摘要】本发明公开了一种串行通信协议控制器,包括字节拆分电路和8b10b编码器,所述字节拆分电路接收总线数据,传送至8b10b编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配。字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路提取32位总线数据字节0、字节1、字节2、字节3构成源数据字1;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。本发明还提供一种串行通信协议控制器采用的字节拆分电路、8b10b编码器。本发明有效解决了高速串行通信协议的发送端数据带宽的匹配问题。
【专利说明】串行通信协议控制器、字节拆分电路及8b10b编码器

【技术领域】
[0001]本发明本发明涉及微电子【技术领域】,尤其涉及一种高速串行通信协议控制器电路,具体涉及一种字节拆分电路及8bl0b编码器。

【背景技术】
[0002]在传统的并行数据传输方式中,数据的传递方式一般是采用专门的数据总线和时钟线进行同步的传送。传统并行总线的带宽限制已经不能满足硬件子系统速度的发展和数据吞吐量不断增长的惊人需求,主要表现在以下两个方面:随着总线频率的上升,会影响在同一频率下挂接到总线上负载的数量,所以即使提高总线时钟频率,也无法显著提升总线带宽;虽然可以通过增加并行通道个数的方式加大带宽,但是时钟信号线与数据信号线同步传输的方式,会带来难以解决的信号偏移以及串扰等问题,加大PCB布局的难度,所以通道个数并不能无限制的增加,因此亟需在不增加通道个数情况下解决系统总线数据带宽与串行通信协议控制器内部8位处理数据带宽不匹配的问题。
[0003]但是在串行数据传输方式中,信道连接端上只有数据总线没有时钟线。比如SATA高速串行通信协议,SATA总线物理链路间的数据传送使用基于时钟的同步传送机制,在物理链路上并没有时钟线,SATA总线的接收端含有时钟恢复模块CDR,CDR将从接收报文中提取接收时钟,从而进行同步数据传递,因此需要在链路发送端对有效信号中嵌入足够多的时钟信息。
[0004]8b/10b编码器是SATA控制器电路中的关键模块,具有嵌入式时钟、直流分量平衡、错误字符可检测等优点,广泛应用于SATA、PCI Express、Rapid 10、USB等高速串行通
协议。
[0005]8b/10b编码器将字节数据为10位字节码,主要目的是提高位流中1/0,0/1跳变密度,因为SATA协议的物理层并没有设置单独的信号线来传递高频的串行时钟,而是将其与比特流组合在一起,当比特位流中含有足够多的跳变沿时,接受端的时钟接受电路就可以从比特流中提取出时钟,作为他的数据接受时钟。因此8b/10b编码器必须可靠的运行在足够高的时种下,以SATA协议为例,为了满足SATA3.0协议的要求,需要编码器电路能够可靠的运行在最高600MHz的时钟下。
[0006]其编码算法原理如下:编码器的输入字符分为两种,12个控制码字K码,256个数据码字D码。如图1所示,8比特输入数据分为高3位HGF和低5位EDCBA分别编码,编码过程中同时根据当前的极性差RD分别编码为fghi和abcdei,然后合并为10位数据abcdeifghj。所有的码流的极性偏差RD值范围在(-3,3)之间,编码后的10比特数据的RD值只能为-2,0,2。如果已经编码后的数据RD为负值,那么下一次编码后的数据RD值只能为0或者正值。所以,依照这种规则,并从长序列码流上来看,传输数据上的个数相同,从而实现了直流平衡。
[0007]常用的编码电路设计方法有两种:一种是将256个数据码和12个功能码的对应规则都用存储器存储,编码过程分为映射与极性选择两部分,这种方法会增大芯片的面积和功耗,同时受限于查找表的速度以及工艺参数,电路最高工作频率一般很难达到500MHz以上;另一种方法是通过逻辑运算完成编码功能,编码器可运行的最高频率较高,这种方法的缺点是编码逻辑关系复杂,可能会引起逻辑扇入或扇出大。


【发明内容】

[0008]为了克服现有技术中存在的不足,本发明提供一种串行通信协议控制器、字节拆分电路及8b/10b编码器,解决高速串行通信协议的发送端数据带宽的匹配问题。
[0009]为实现上述目的,本发明采取如下技术方案:
一种串行通信协议控制器,包括字节拆分电路和SblOb编码器,所述字节拆分电路接收总线数据,传送至SblOb编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配。
[0010]更进一步的,字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
[0011]更进一步的,FIFO为深度为4、位宽32的FIFO,所述字节拆分电路提取32位总线数据字节O、字节1、字节2、字节3构成源数据字I ;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
[0012]更进一步的,SblOb编码器采用三级流水结构,记字节拆分电路发送的8位待编码数据abcdefgh、I位待编码数据码/控制码符号位Z,第一级流水过程中,8位待解码数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、1、fo、go、ho、jo ;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。
[0013]更进一步的,SblOb编码器输入端设有用于调试的I位编码极性控制位,编码极性控制位置位时,SblOb编码器改变当前编码后数据的极性。
[0014]一种串行通信协议控制器采用的字节拆分电路,包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIF0,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
[0015]更进一步的,FIFO为深度为4、位宽32的FIF0,所述字节拆分电路提取32位总线数据字节O、字节1、字节2、字节3构成源数据字I ;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIF0,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
[0016]一种串行通信协议控制器采用的SblOb编码器,采用三级流水结构,记字节拆分电路发送的8位待编码数据abcdefgh、I位待编码数据码/控制码符号位Z,第一级流水过程中,8位待解码数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、1、fo、go、ho、jo ;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。
[0017]更进一步的,所述SblOb编码器输入端设有用于调试的I位编码极性控制位,编码极性控制位置位时,SblOb编码器改变当前编码后数据的极性。
[0018]有益效果:(1)本发明通过字节拆分电路解决了 32位系统总线数据带宽与串行通信协议控制器内部8位处理数据带宽不匹配的问题,从原有的内部4通道8位数据处理流,变化为单通道8位数据处理流,降低了串行通信协议控制器内部模逆电路的设计难度。
[0019](2)本发明在串行通信协议控制器发送端电路结构中采用基于SblOb算法的编码电路,传统查表型电路实现方法受制于工艺参数的限制无法满足电路最高工作频率的要求,通过设计三级流水线的逻辑运算结构显著提高了 SblOb编码器的最高工作频率。与查表法相比,本发明中的编码器电路,在面积上节省60°/Γ70%,动态功耗方面略有提升109Γ15%,通过牺牲小部分功耗代价换来了显著的面积减少,更有利于芯片集成。
[0020](3)本发明通过SblOb编码器中的极性控制位,可以在当前数据流中注入不规则极性,为验证和调试解码电路提供了一种验证测试手段。

【专利附图】

【附图说明】
[0021]图1为编码器字符映射过程图。
[0022]图2为本发明提供的总体电路结构框图。
[0023]图3为本发明字节拆分电路字节拆分原理图。
[0024]图4为本发明8bl0b编码器电路结构框图。

【具体实施方式】
[0025]下面结合附图对本发明作更进一步的说明。
[0026]实施例一
如图2所示,本发明提供的一种串行通信协议控制器,包括字节拆分电路及SblOb编码器,字节拆分电路完成系统总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配,8b/10b编码器编码后发送给并串转换电路,本实施例以最常用的SATA高速串行通信协议为基础进行介绍,但不限于SATA高速串行通信协议。
[0027]如图2、3所示,字节拆分电路包括深度为4、位宽32的FIFO,控制器和寄存器,将150MHz时钟频率下的32位输入总线数据调整为600MHz时钟频率下的4拍8位输出数据,传送至8b/10b编码器。字节拆分电路按照从低位到高位的顺序,提取总线数据字节O、字节1、字节2、字节3构成源数据字I ;字节4、字节5、字节6、字节7构成源数据字2,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
[0028]为了满足SATA协议的要求,需要8b/10b编码器电路能够可靠的运行在最高600MHz的时钟下。但为了避免现有两种方法的缺点,本发明采用性能优化的三级流水线编码实现方案,同时设计了极性控制端,方便调试。与查表法相比,本发明中的编码器电路,在面积上节省60°/Γ70%,动态功耗方面略有提升10°/Γ15%,通过牺牲小部分功耗代价换来了显著的面积减少,更有利于芯片集成。
[0029]本发明提供的8b/10b编码器电路结构如图4所示,端口输入为字节拆分电路发送的8位待编码数据abcdefgh、I位待编码数据码/控制码符号位Z,以及用于调试的I位编码极性控制位,端口输出为10位编码后数据。编码过程采用三级流水结构,显著提高了芯片的最高工作频率。第一级流水过程中,8位待发送数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、1、fo、go、ho、jo ;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。编码极性控制位,可以改变当前编码后数据的极性,同时也可以作为一种验证测试手段,为当前数据流注入不规则数据极性。
[0030]实施例二
本发明还提供实施例一所述用于串行通信协议控制器的字节拆分电路。
[0031]实施例三
本发明还提供实施例一所述用于串行通信协议控制器的8b/10b编码器。
[0032]以上所述仅是本发明的优选实施方式,应当指出:对于本【技术领域】的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。
【权利要求】
1.一种串行通信协议控制器,其特征在于:包括字节拆分电路和SblOb编码器,所述字节拆分电路接收总线数据,传送至SblOb编码器,并完成总线数据与8b/10b编码器间不同时钟频率、不同位宽的数据的匹配。
2.根据权利要求1所述的一种串行通信协议控制器,其特征在于:所述字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
3.根据权利要求2所述的一种串行通信协议控制器,其特征在于:所述FIFO为深度为4、位宽32的FIFO,所述字节拆分电路提取32位总线数据字节O、字节1、字节2、字节3构成源数据字I ;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
4.根据权利要求1或2所述的一种串行通信协议控制器,其特征在于:所述SblOb编码器采用三级流水结构,记字节拆分电路发送的8位待编码数据abcdefgh、I位待编码数据码/控制码符号位Z,第一级流水过程中,8位待解码数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、1、fo、go、ho、jo ;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。
5.根据权利要求1或2所述的一种串行通信协议控制器,其特征在于:所述SblOb编码器输入端设有用于调试的I位编码极性控制位,编码极性控制位置位时,SblOb编码器改变当前编码后数据的极性。
6.一种权利要求1所述串行通信协议控制器采用的字节拆分电路,其特征在于:所述字节拆分电路包括FIFO、控制器和寄存器,字节拆分电路按照从低位到高位的顺序按字节提取总线数据,并依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
7.根据权利要求6所述的一种串行通信协议控制器,其特征在于:所述FIFO为深度为4、位宽32的FIFO,所述字节拆分电路提取32位总线数据字节O、字节1、字节2、字节3构成源数据字I ;字节4、字节5、字节6、字节7构成源数据字2,获得4拍8位输出数据,然后依次写入FIFO,然后在控制器作用下读出到寄存器中,同时按照字节从低到高的顺序依次传送至编码器输入端。
8.—种权利要求1所述串行通信协议控制器采用的SblOb编码器,其特征在于:所述8bl0b编码器采用三级流水结构,记字节拆分电路发送的8位待编码数据abcdefgh、I位待编码数据码/控制码符号位Z,第一级流水过程中,8位待解码数据高3位采用3b/4b、低5位采用5b/6b规则分别进行编码;第二级流水过程中,待解码数据经过预编码过程产生中间变量ao、bo、co、do、eo、1、fo、go、ho、jo ;同时经过极性计算后产生6b极性和4b极性;第三级流水进行极性调整与码型拼接输出10位编码后数据。
9.根据权利要求8所述的一种串行通信协议控制器,其特征在于:所述SblOb编码器输入端设有用于调试的I位编码极性控制位,编码极性控制位置位时,SblOb编码器改变当前编码后数据的极性。
【文档编号】H03M7/02GK104467865SQ201410711924
【公开日】2015年3月25日 申请日期:2014年12月1日 优先权日:2014年12月1日
【发明者】刘奇浩, 孙晓宁, 刘大铕, 王运哲, 赵阳 申请人:山东华芯半导体有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1