一种实现位抽取的并行设计电路制造技术

技术编号:7420395 阅读:180 留言:0更新日期:2012-06-09 03:31
本发明专利技术提供一种实现位抽取的并行设计电路,包含延迟单元、重组单元、判断单元、抽取单元以及累加单元。延迟单元对输入数据进行延迟,重组单元对经过时钟周期延迟的数据进行重组并输出判断对象和参考对象。判断单元对重组单元输出的数据进行判断,哪些位需要被抽取,并输出判断结果到抽取单元。抽取单元进行位抽取操作,并把当前抽取的位的个数输出到累加单元,把位抽取后的结果作为整个电路的运行结果输出。累加单元对被抽取的位的个数进行累加,并将结果输出到重组单元输入端。通过本发明专利技术内容,与传统电路的设计及位抽取操作相比,能大大地降低电路中的功耗。

【技术实现步骤摘要】

本专利技术涉及USB接口设计电路,尤其涉及一种实现位抽取的并行设计电路
技术介绍
随着微电子技术的快速发展,USB2. 0接口的设备已经大量应用于日常生活的电子产品中。USB是一种串行总线,数据逐位依次传送。USB系统中数据传输采用反向非归零 (NRZI,Non Return to Zero Invert)编码方式,这种编码方式既能保证数据传送的完整性, 又不需要独立的时钟信号和数据一起发送。当遇到O信号时NRZI编码数据流发生跳变;当遇到1信号时保持不变。数据流中的跳变使解码器可以与收到的数据保持同步,因而不必提供独立的时钟信号。但一长串的连续1将会导致无电平跳变,从而引起接收端最终丢失同步信号。解决的办法是采用位填充技术,即在连续传输六个1的情况下填充一个0,使得 NRZI编码数据流中发生跳变,这就确保接收器至少可以在每七个的时间间隔内从数据流中会检测到一次跳变,从而使接收器和传送的数据保持同步。UTMI发送端负责在NRZI编码前的数据流中插入一个0填充位。UTMI接收端须在NRZI解码后的数据中,当出现六个连续1 后,把其后的一个0给抽取出来并丢弃,实现位抽取操作。如果留个连续的1后,跟随的不是0而是1,则产生出错信号。
技术实现思路
本专利技术目的提供一种实现位抽取的并行设计电路,采用位宽为8比特,时钟为 60MHz的设计电路实现串行处理位抽取操作,于普通应用中的串行设计电路相比,能大大地降低电路的功耗。一种实现位抽取的并行设计电路,包含延迟单元、重组单元、判断单元、抽取单元以及累加单元。延迟单元,用于对输入数据进行时钟周期的延迟;重组单元,用于对经时钟周期延迟的数据进行重组并输出;判断单元,用于对重组单元输出的数据进行判断,哪些需要被抽取,并输出判断结果到抽取单元;抽取单元,用于进行位抽取操作,并把当前抽取的位的个数输出到累加单元,把位抽取后的结果作为整个电路的运行结果输出;累加单元,用于对被抽取的位的个数进行累加,并将结果输出到重组单元输入端;输入端输入数据的位宽为8比特,输出数据的位宽为8比特,工作时钟为60MH,延迟单元产生四个延迟后的数据,其中din是没做任何延迟的数据,din_dl是延迟一个时钟周期后的数据,din_d2是延迟两个时钟周期后的数据,din_d3是延迟三个时钟周期后的数据。延迟单元产生的四个输出数据都集中输入到重组单元,重组输出判断对象和参照对象。 判断对象和参照对象的设定方法为1)当已被抽取的0的个数为0时,判断对象为{din_dl,din_d2},参照对象为 din_d3;2)当已被抽取的0的个数为1时,判断对象为{din_dl,din_d2},参照对象为{din_d2, din_d3};3)当已被抽取的0的个数为2时,判断对象为{din_dl,din_d2},参照对象为{din_d2, din_d3};4)当已被抽取的0的个数为3时,判断对象为{din_dU4:0],din_d2},参照对象为{din_d2, din_d3};5)当已被抽取的0的个数为4时,判断对象为{din_dl,din_d2},参照对象为{din_d2, din_d3};6)当已被抽取的0的个数为5时,判断对象为{din_dU6:0],din_d2},参照对象为{din_d2, din_d3};7)当已被抽取的0的个数为6时,判断对象为{din_dl,din_d2},参照对象为 din_d2;8)当已被抽取的0的个数为7时,判断对象为{dinW],din_dl,din_ d2 },参照对象为 din_d2;9)当已被抽取的0的个数为8时,情况与当已被抽取的0的个数为0时类同。当已被抽取的0的个数为9时,情况与当已被抽取的0的个数为1时类似,依此类推。其中din是当前这个时钟周期输入数据的第0位到第2位,din_dl是 din的前一个时钟周期的8比特数据,din_d2是din_dl的前一个时钟周期的8比特数据,din_d3是din_d2的前一个时钟周期的6比特数据。重组单元输出的参照对象直接输入判断单元,输出的判断对象分别连接到判断单元和抽取单元的输入端,判断单元根据位抽取的数量和对象的查找方法来判断判断对象中哪些需要被抽取,并把判断结果输出到抽取单元。位抽取的数量和对象的查找方法为(其中refer_obj为参考对象,judge_obj为判断对象)1)当6位参照对象refer_obj的值为6’bll_llll时,如果判断对象judge_ obj 的值为6,bll_llll时,抽取两位judge_obj 和judge_obj ,如果判断对象 judge_obj的值为 V blll_1110 时,抽取两位 judge_obj 和 judge_obj ,否则, 只抽取一位 judge_ob j ;2)当6位参照对象refer_obj的值为6’bll_1110时,如果判断对象judge_ obj 的值为 1,131,且如(^6_01^的值为 6,bll_llll 时,抽取两位 judge_obj 和judge_obj,如果判断对象judge_ob j 的值为1,bl,且judge_ob j 的值不为 6,bll_llll 时,抽取一位 judge_obj;判断对象 judge_obj 的值为 1,b0,且 judge_ obj 的值为6’ bll_llll时,抽取一位judge_obj,否则,不抽取数据;3)当6位参照对象refer_obj 的值为5’ bl_1110时,如果判断对象judge_ obj 的值为2,bll时,抽取一位judge_obj,否则,不抽取数据;4)当6位参照对象refer_obj的值为4,blllO时,如果判断对象judge_ obj 的值为3’ bill时,抽取一位judge_obj,否则,不抽取数据;5)当6位参照对象refer_obj的值为3’ bllO时,如果判断对象judge_obj 的值为4’ bllll时,抽取一位judge_obK4],否则,不抽取数据;6)当6位参照对象refer_obj的值为2’ blO时,如果判断对象judge_ obj 的值为5’ bl_llll时,抽取一位judge_obj,否则,不抽取数据;7)当6位参照对象refer_obj 的值为l,b0时,如果判断对象judge_obj 的值为6’ bll_llll时,抽取一位judge_obK6],否则,不抽取数据。抽取单元进行位抽取操作,把当前被抽取的位的个数输出给累加单元,把位抽取后的结果作为整个电路的运行结果输出。附图说明图1位抽取操作示意2判断对象和参考对象的设定意义3本专利技术提出的位抽取的并行设计电路结构图具体实施方案以下结合各附图对本专利技术提出的实现位抽取的并行设计电路进行详细的描述。如附图1中所示,第一个波形表示经NRZI处理后的数据,第二个波形表示位抽取处理后的数据。可以看到在数据流中第7个和第8个1之间的0 (如图1中箭头所示位置) 被选中为需抽取的位,抽取操作完成后,被抽取位后的数据串与被抽取位前的数据串连接在一起,数据少一比特,如图1中第二个波形所示。图2中阴影部分根据本
技术实现思路
设定的 10比特数据的判断对象,带斜线阴影的数据部分是6比特数据的参照对象。以图1中本文档来自技高网
...

【技术保护点】

【技术特征摘要】

【专利技术属性】
技术研发人员:左耀华
申请(专利权)人:上海华虹集成电路有限责任公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1
相关领域技术