输入/输出电路串行转并行的装置及方法

文档序号:7538399阅读:670来源:国知局
专利名称:输入/输出电路串行转并行的装置及方法
技术领域
本发明涉及一种关于输入/输出(I/O)电路的装置及方法,特别是指I/O电路中串行转并行(serial to parallel)的装置及方法。
背景技术
一般集成电路(Integrated circuit,IC)在制造完成后,其引脚(pin)数目也就固定了,且同时由于片上体系(SOCsystem on a chip)的趋势使然,因此部分引脚必须共用,以达到缩小IC尺寸的目的。因此在引脚有限以及SOC趋势下,单一引脚多功能化(multifunction)是必然的结果。
如图1所示,一个利用具有单一引脚多功能概念所设计的IC的一个引脚可以同时拥有许多功能,但同时间又只能有一种功能可以存在(亦即同时间只能选择其中一所述功能来使用该引脚),如这一来必须等到这一功能执行完毕后才能切换到下一个功能。相较于没有多功能引脚的IC其速度较慢,因此只适合在较慢速的总线中使用;此外,上述结构还需要另外提供一引脚当作引脚选择(chip select)之用,用以进行功能切换。
一般为了解决输出引脚不够的问题,可能会利用顺序逻辑电路(sequential logic circuit)的方式(如图2A)来扩充引脚。一个I/O电路可由数个顺序逻辑电路组合而成,每一个顺序逻辑电路可以处理1位的数据,若需要扩增输出的数目,则只需要增加顺序逻辑电路的数目即可(如图2B所示)。每一个顺序逻辑电路包含有一个D触发器(D-type flip-flop)以及一个D型锁存器(D-type Latch)。一个M位的输入数据流I(I0...IM-3IM-2IM-1),依其位顺序每次输入一位的输入数据至第一个顺序逻辑电路的D触发器中,当D触发器收到一批输入数据后,会将前一次收到的输入数据传送至下一级的D触发器中;当输入数据流I(I0...IM-3IM-2IM-1)输入完毕后,经时钟信号CLK触发,将已写入的输入数据流I(I0...IM-3IM-2IM-1)分别输出至对应的D型锁存器锁存,最后经由另一个时钟信号Load的触发,将数据流I(I0...IM-3IM-2IM-1)输出。
其中M大于或等于顺序逻辑电路的数目。
举例来说,如图2C所示为一8位的I/O电路200,由8个顺序逻辑电路所组成,首先第一个顺序逻辑电路210的D触发器D0接收M位输入数据流I(I0...IM-3IM-2IM-1)(M>=8)的第一批输入数据I0当作其输入数据;接着当第二批输入数据I1输入至第一D触发器D0,此时I0被传送至第二个顺序逻辑电路220的D触发器D2当作其输入数据,接着第三批输入数据I2输入至第一D触发器D1后,I1被传送至第二D触发器D1,而I0被传送至第三D触发器D2...依此类推;等到输入数据流I(I0...IM-3IM-2IM-1)(M>=8)都输入完毕后,经由时钟信号CLK的触发,将输入数据分别输出至对应的D型锁存器(如第一D触发器D0对应第一选通锁存器DG0),由对应的选通锁存器分别锁存其输入数据;最后再经由时钟信号Load的触发,将输入数据流I(I0...IM-3IM-2IM-1)(M>=8)同时输出。其中当输入数据流I(I0...IM-3IM-2IM-1)(M>=8)写入前,可以先利用一个清除信号CLR将先前写入D触发器的输入数据清除干净。由表一的输入与输出状态所示可以发现,系统必须至少写满8位后才会输出数据。
图3表示现有I/O电路的工作流程图,其步骤如下所述步骤310输入一清除信号CLR以清除先前所写入的输入数据;步骤320将输入数据流I(I0...IM-3IM-2IM-1)(M>=8)依位顺序,每次一位输入至第一个D触发器,且当下一批输入数据输入时,前一批的输入数据会被往前推至下一级D触发器;步骤330当输入数据流I(I0...IM-3IM-2IM-1)(M>=8)输入完毕后,经由时钟信号CLK的触发,将输入数据分别输出至对应的D型锁存器并锁存;以及步骤340经时钟信号Load的触发,将D型锁存器所锁存的输入数据流I输出。
由上述可以发现,顺序逻辑电路以串联的方式扩充输出引脚,用以解决IC输出引脚不够用的方法,但这种方式每次都必须等到顺序逻辑电路全部写满之后才能一次输出,因此速度还是很慢。

发明内容
本发明提供了一种I/O电路串行转并行的装置及方法,使得IC电路在扩充输出引脚之余,尚且可以快速有效率的将输入数据传送出去。
本发明优选实施例的串行转并行的I/O电路包括有M个顺序逻辑电路串联,每一个顺序逻辑电路可处理1位的数据,并可视需要增加顺序逻辑电路的数目,用以扩充I/O数量。每一个顺序逻辑电路皆包含有两个D触发器,分别用以接收一输入数据以及一启用控制信号;一多工器,用以选择输出数据的类型;以及一D型锁存器,用以将数据锁存后再输出。
本发明优选实施例的I/O电路串行转并行的方法如下首先将一N位的输入数据流依位高低,以每次一位依序输入至系统中;其次,系统根据同步输入的启用控制信号的状态(高电平或低电平),决定要输出输入数据或输出前一次输出的反馈数据(维持不变)。


图1为一具有引脚多功能概念的IC输出示意2A为一顺序逻辑电路示意2B为一数个顺序逻辑电路组合的I/O电路示意2C为一8位I/O电路示意3为一I/O电路工作流程4A为本发明的串行转并行I/O电路示意图(1)图4B为本发明的串行转并行I/O电路示意图(2)图5为本发明的I/O电路串行转并行的方法流程6为本发明的8位I/O电路串行转并行的方法流程图表一为一8位I/O电路的输出输入状态图表二为多工器的真值表表三为本发明的一8位I/O电路的输出输入状态示标号简单说明2008位的I/O电路210第一个顺序逻辑电路310清除先前写入的数据320将输入数据流I输入至第一个D触发器330时钟信号CLK触发后,将输入数据流I输出至对应的D型锁存器340时钟信号Load触发后,将D型锁存器所锁存的输入数据流I输出400串行转并行I/O电路410第一移位寄存器
420第二移位寄存器SL顺序逻辑电路(SL0、SL1、...、SLM-1)D1第一D触发器(D10、D11、...、D1M-1)D2第二D触发器(D20、D21、...、D2M-1)MUX多工器(MUX0、MUX1、...、MUXM-1)DGD型锁存器(DG0、DG1、...、DGM-1)I输入数据流(I0...IN-3IN-2IN-1)E启用信号流(E0...EN-3EN-2EN-1)CLR清除信号CLK时钟信号Load时钟信号510清除先前写入的数据520输入一输入数据流I以及一启用控制信号流E530时钟信号CLK触发后,输入数据流I以及启用控制信号流E依序输入第一个第一D触发器以及第一个第二D触发器540时钟信号CLK再次触发后,先前所获得的输入数据传送至下一级的第一D触发器和对应的多工器的输入端,而启用控制信号传送至下一级的第二D触发器和对应的多工器MUX的启用控制信号接收端550多工器根据启用控制信号的状态选择要输出输入数据或是反馈数据560将多工器所选择的数据传送至对应D型锁存器锁存570时钟信号Load触发后,将所选择的数据输出,并反馈至对应的多工器具体实施方式
本发明提供了一种I/O电路串行转并行的装置及方法,使得I/O电路无需等待即可将输入数据流快速输出。以下将列举一优选实施例说明,然而本领域技术人员皆知此仅为一举例,而并非用以限定发明本身,有关此发明的优选实施例详叙如下。
图4A表示本发明优选实施列的I/O电路串行转并行装置400,图4B则表示图4A的细部结构图。图4B所示的电路包括有M个顺序逻辑电路SL(SL0、SL1、...、SLM-1);每一个顺序逻辑电路皆包括有一第一D触发器D1(D10、D11、...、D1M-1),用以接收1位的输入数据,此外每一个第一D触发器的输出连接到下一级第一D触发器的输入(例如第一个第一D触发器D10的输出连接至第二个第一D触发器D11的输入);一第二D触发器D2(D20、D21、...、D2M-1),用以接收1位的启用控制信号,此外每一个第二D触发器的输出连接到下一级第二D触发器的输入(例如第一个第二D触发器D20的输出连接至第二个第二D触发器D21的输入);一多工器MUX(MUX0、MUX1、...、MUXM-1),包含有两个输入端,一输入端连接至对应第一D触发器的输出,用以接收第一D触发器所接收的输入数据(例如第一个第一D触发器D10连接至第一个多工器MUX0,将其所接收的输入数据传送至第一个多工器MUX0),此外多工器MUX还有一启用控制信号接收端,连接至对应的第二个D触发器的输出,用以接收第二个D触发器所接收的启用控制信号(例如第一个多工器MUX0连接至第一个第二D触发器D20,接收第一个第二D触发器D20所传送出的启用控制信号);以及一D型锁存器DG(DG0、DG1、...、DGM-1),连接至对应的多工器,用以将对应多工器所选择的数据输出,且其所输出的数据会反馈至多工器的另一个输入端,当作反馈数据以在下一批输入数据输入时,作为数据输出的选择(例如第一个D型锁存器DG0连接至第一个多工器MUX0,输出第一个多工器MUX0所选择的数据,并将其输出的数据反馈至第一个多工器MUX0的另一输入端)。如图4B所示,M个第一D触发器D1(D10、D11、...、D1M-1)组合成一第一移位寄存器410,而M个第二D触发器D2(D20、D21、...、D2M-1)组合成一第二移位寄存器420。
本发明的I/O电路串行转并行的方法,包括有首先对分别对所有的第一D触发器D1(D10、D11、...、D1M-1)以及所有的第二D触发器D2(D20、D21、...、D2M-1)输入一清除信号CLR,以清除先前所输入的信号,此时所有的第一D触发器D1(D10、D11、...、D1M-1)中的数据为空(Null),而所有的第二D触发器D2(D20、D21、...、D2M-1)中的启用控制信号为低电平(0),因此系统会选择保持原来的输出状态(多工器的真值表如表二所示,当启用控制信号为高电平(1)时,多工器选择输入数据当作其输出,而当启用控制信号为低电平(0)时,多工器选择反馈数据当作其输出);接着同时输入一个N位的输入数据流I(I0...IN-3IN-2IN-1),以及一个N位的启用控制信号流E(E0...EN-3EN-2EN-1),输入数据流I以及启用控制信号E依照位顺序的高低,每次输入1位至第一个第一D触发器D11以及第一个第二D触发器D20中,且此二个信号皆由一时钟信号CLK所控制。
当时钟信号CLK触发时,则第一个第一D触发器D10接收到第一批输入数据I0,同时第一个第二D触发器D20接收到第一批启用控制信号E0。当时钟信号CLK再次触发时,第二批输入数据I1以及第二批启用控制信号E1分别输入第一个第一D触发器D10以及第一个第二D触发器D20,而I0同时输出至第一个多工器MUX0的一输入端以及第二个第一D触发器D11,E0同时输出至第一个多工器MUX0的启用控制信号接收端与第二个第二D触发器D21。此时第一个多工器MUX0根据所接收到启用控制信号E0的状态(假设E0为高电平(1))选择输出I0,而后将I0传送至第一个D型锁存器DG0锁存,等到时钟信号Load触发后将I0输出,同时I0反馈至第一个多工器MUX0的另一输入端以当反馈数据,作为下一批数据输出的选择。
接着,当时钟信号CLK再次触发时,第三批输入数据I2与第三批启用控制信号E2分别输入第一个第一D触发器D10以及第一个第二D触发器D20,而I1同时输出至第一个多工器MUX0的一输入端以及第二个第一D触发器D11,E1同时输出至第一个多工器MUX0的启用控制信号接收端与第二个第二D触发器D21,而I0同时输出至第二个多工器MUX1的一输入端以及第三个第一D触发器D12,E0同时输出至第二个多工器MUX1的启用控制信号接收端与第三个第二D触发器D22。此时第一个多工器MUX0根据所接收到启用控制信号E1的状态,来选择要输出输入数据I1或是反馈数据I0(亦即若第一个多工器MUX0所接收到的启用控制信号E1为高电平(1)则选择输出I1;若为低电平(0)则选择输出I0)。同样,第二个多工器MUX1也会根据所接收到启用控制信号E0的状态,来选择输出数据(I0或是先前反馈的输出数据),最后将第一个多工器MUX0以及第二个多工器MUX1所选择的数据,分别传送至第一个D型锁存器DG0以及第二个D型锁存器DG1而锁存,等到时钟信号Load再次触发后同时输出,且其输出的数据分别反馈至第一个多工器MUX0以及第二个多工器MUX1的另一输入端,当作反馈数据并作为下一批数据输出的选择。往后的数据输入状况可依此类推,但应注意的是,M与N皆为大于1的正整数。
图5表示本发明优选实施例的工作流程图,其步骤如下所述步骤510输入清除信号CLR;步骤520输入一输入数据流I(I0...IN-3IN-2IN-1)以及一启用控制信号流E(E0...EN-3EN-2EN-1);步骤530时钟信号CLK触发,以使数据流I以及启用控制信号流E可依照位高低,以每次1位的方式依序输入第一个第一D触发器D10以及第一个第二D触发器D20;步骤540时钟信号CLK再次触发,以使先前所获得的输入数据Ia(0≤a≤N-1,a为整数)传送至下一级的第一D触发器和对应的多工器的输入端,而启用控制信号Ea(0≤a≤N-1,a为整数)则传送至下一级的第二D触发器和对应的多工器MUX的启用控制信号接收端;步骤550当对应的多工器MUX收到输入数据Ia(0≤a≤N-1,a为整数)以及启用控制信号Ea(0≤a≤N-1,a为整数)后,多工器MUX根据启用控制信号Ea(0≤a≤N-1,a为整数)的状态,以选择要输出输入数据Ia(0≤a≤N-1)或是选择先前所反馈的反馈数据Ia-1(0≤a≤N-1,a为整数);步骤560将多工器MUX所选择的数据(Ia或Ia-1)传送至对应D型锁存器DG锁存;以及步骤570时钟信号Load触发,将所选择的数据输出,并反馈至对应的多工器MUX。
以一8位的I/O电路串行转并行为例,这一8位的串行转并行I/O电路包含有八个串联的顺序逻辑电路SL(SL0、SL1、SL2、SL3、SL4、SL5、SL6、SL7),包含八个第一D触发器D1(D10、D11、D12、D13、D14、D15、D16、D17);八个第二D触发器D2(D20、D21、D22、D23、D24、D25、D26、D27);八个多工器MUX(MUX0、MUX1、MUX2、MUX3、MUX4、MUX5、MUX6、MUX7);以及八个D型锁存器DG(DG0、DG1、DG2、DG3、DG4、DG5、DG6、DG7)。此外还包括一N位的输入数据流I(I0...IN-3IN-2IN-1)、一N位的启用控制信号流E(E0...EN-3EN-2EN-1)、一清除信号CLR、一时钟信号CLK以及一时钟信号Load。
其流程图如图6所示步骤602输入清除信号CLR;步骤604N位的输入数据流I(I0...IN-3IN-2IN-1)以及N位的启用控制信号流E(E0...EN-3EN-2EN-1)等候输入;步骤606设定初始值a=0(0 a N-1);步骤608经由时钟信号CLK的触发,以使输入信号Ia以及启用控制信号Ea分别同步输入至D10以及D20;步骤610判断a是否为0。若a为0则执行步骤612,否则执行步骤616;步骤612令a=a+1;
步骤614判断a是否大于N-1,若是则输入结束,若否则跳回步骤608;步骤616设定初始值b=a-1且k=0;步骤618将Ib输入至MUXk以及D1k+1,而Eb则输入至MUXk以及D2k+1;步骤620判断b是否为0。若b不为0则执行步骤622,否则执行步骤624;步骤622令b=b-1且k=k+1,随后跳至步骤618以及步骤620;步骤624多工器根据各自获得的启用控制信号,选择输入数据或是反馈数据其中之一;步骤626时钟信号Load触发,将被选择的数据送至对应的D型锁存器存储;以及步骤628时钟信号Load再次触发,以将数据输出并反馈至对应的多工器。
由表三的8位I/O电路输出与输入状态表可以发现,若只更改一位的数据,则相较于现有技术要写满8位数据后才能输出,本发明的I/O效率提升8倍(只需原来时间的1/8);若欲更改二位的数据,则相较于现有技术,本发明的I/O效率提升4倍(只需原来时间的1/4)。
本发明提供的I/O电路串行转并行的装置及方法,无需要等待顺序逻辑电路写满数据后才一次输入,也就是说,每输入一位的数据后,系统可立即输出,如这一来,只需要将所需要数据位数目输入完毕即可,因此相较于现有技术必须将顺序逻辑电路写满后才输出,速度较快,可以节省时间,提升I/O的效率。
本发明虽以8位I/O电路的优选实施列阐明如上,然而其并分用以限定本发明的精神与发明实体仅止于上述实施例,其可包含任何位的I/O电路,皆涵盖在本发明的精神之中。所以,在不脱离本发明的精神与范围内所作的修改,均应包含在所提出的权利要求范围中。

表1

表2

权利要求
1.一种顺序逻辑电路,包括有一选择元件,包括有一第一输入端,用以接收第一输入信号;一第二输入端,用以接收第二输入信号;一启用控制信号接收端,用以接收一启用控制信号,以决定该选择元件选择该第一输入信号或该第二输入信号;以及一输入端;一第一存储元件,其输出端连接至该选择元件的该第一输入端,用以将该第一存储元件的该输入端所接收的输入数据传送至该选择元件当做该第一输入信号;一第二存储元件,其输出端连接至该选择元件的该启用控制信号接收端,用以将该第一存储元件的该输入端所接收的该启用控制信号传送至该选择元件;以及一第三存储元件,其输入端连接至该选择元件的输出端,用以将该选择元件所选择的数据加以输出,并将该选择元件所输出的该数据反馈至该选择元件的该第二输入端,用以当做下一批数据信号输出的第二输入信号选择。
2.如权利要求1所述的顺序逻辑电路,其中当该启用控制信号为高电平时,该选择元件选择该第一输入信号,用以选择该第一存储元件所选择的该数据当作该第三存储元件的输出。
3.一种串行转并行的输入/输出电路,包括有多个选择元件,其中每一个存储元件包括有一第一输入端,用以接收第一输入信号;一第二输入端,用以接收第二输入信号;一启用控制信号接收端,用以接收一启用控制信号,决定该选择元件选择该第一输入信号或该第二输入信号;以及一输入端;多个第一存储元件,用以分别接收一输入数据,其中每一个该第一存储元件的输出端分别连接至下一个该第一存储元件的输入端,同时连接至对应其中之一该多个选择元件的该第一输入端,用以将该第一输入端所接收的输入数据传送至对应的该选择元件当做该第一输入信号;多个第二存储元件,用以分别接收一启用控制信号,其中每一个该第二存储元件的输出端分别连接至下一个该第二存储元件的输入端,同时连接至对应其中之一该多个选择元件的该启用控制信号接收端,用以将该第二存储元件所接收的该启用控制信号传送至对应的该选择元件;以及多个第三存储元件,其中每一个该第三存储元件的输入端分别连接至对应其中之一该多个选择元件的输出端,用以将对应的该选择元件所选择的数据输出,并将该选择元件所输出的数据信号反馈至对应的该选择元件的该第二输入端,用以当做下一批该数据信号输出的该第二输入信号选择;其中,该输入数据信号流的位依序输入至该第一存储元件,且当接收到该输入数据信号后可立即输出,无需等到该多个第一存储元件全数写入数据完毕后才输出。
4.如权利要求3所述的串行转并行的输入/输出电路,其中当下一个该输入数据输入时,该第一存储元件将已接收到的该输入数据传送至下一级的该第一存储元件。
5.如权利要求3所述的串行转并行的输入/输出电路,其中该启用控制信号流的依照位高低每次1位依序输入该第二存储元件当作为该启用控制信号,且当下一个启用控制信号输入时,该第二存储元件将已接收到的该启用控制信号传送至下一级的该第二存储元件。
6.如权利要求1所述的串行转并行的输入/输出电路,其中当该第二存储元件所接收到的启用信号为高电平时,则对应的该选择元件选择该第一输入信号,用以选择对应的该第一存储元件所接收的该输入数据当作该第三存储元件的输出;以及当该第二存储元件所接收到的启用信号为低电平时,则对应的该选择元件选择该第二输入信号,用以选择前一批输出反馈的反馈数据当作该第三存储元件的输出,以使该第三存储元件的输出维持不变。
7.一种输入/输出电路串行转并行的方法,包括有输入一输入数据;输入一启用控制信号;选择一数据;以及输出该数据;其中,该输入数据为一输入数据流的其中一位,且该输入数据流依照位高低依序输入至一串行转并行的输入/输出电路系统中,且每输入一位的输入数据,该串行转并行的输入/输出电路系统会立即输出该输入数据,无需等待该串行转并行的输入/输出电路系统将全数的该输入数据写入完毕后才输出。
8.如权利要求7所述的输入/输出电路串行转并行的方法,其中前一批输出的数据会反馈至该串行转并行的输入/输出电路系统中,且该串行转并行的输入/输出电路系统选择输出该输入数据或是选择输出该反馈数据。
9.如权利要求7所述的输入/输出存储电路串行转并行的方法,其中该启用控制信号为一启用控制信号流的其中一位,且该启用控制信号流依照位高低依序输入至该串行转并行的输入/输出电路系统中。
10.如权利要求7所述的输入/输出电路串行转并行的方法,其中当该启用控制信号为高电平时,该串行转并行的输入/输出电路系统选择该输入数据当作其输出;以及当该启用控制信号为低电平时,该串行转并行的输入/输出电路系统选择该反馈数据当作其输出,亦即输出为持不变。
全文摘要
本发明的串行转并行I/O电路装置包括有M个顺序逻辑电路;每一个顺序逻辑电路皆包括有一第一D触发器,用以接收一位的输入数据,此外每一个第一D触发器的输出连接到下一级第一D触发器的输入;一第二D触发器,用以接收一位的启用控制信号,此外每一个第二D触发器的输出连接到下一级第二D触发器的输入;一多工器,包含有两个输入端与一启用控制信号接收端,一输入端接收第一D触发器所接收的输入数据,该启用控制信号接收端,用以接收第二个D触发器所接收的启用控制信号;以及一D型选通锁存器,用以将数据输出,且其所输出的数据会反馈至多工器的另一个输入端,用以当做下一批数据输入时,数据输出的选择。
文档编号H03M9/00GK1808910SQ20061000502
公开日2006年7月26日 申请日期2006年1月18日 优先权日2005年8月26日
发明者李政道 申请人:威盛电子股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1