共用输入/输出端子控制电路的制作方法

文档序号:7539147阅读:343来源:国知局
专利名称:共用输入/输出端子控制电路的制作方法
技术领域
本发明涉及通用输入/输出(I/O)控制,并涉及在诸如CPU(中央处理单元)等的具有共用输入/输出端子的设备中的共用输入/输出端子控制电路。
背景技术
传统上,当电路被配置为可为一个通用I/O管脚选择两种或多种功能时,使用用选择器切换信号的方法。
图1A示出了上述传统的共用输入/输出端子控制电路的配置示例。所述控制电路包括电路11和12、选择器13和14、锁存电路(寄存器)15及三态缓冲器16,并且执行控制以使所述两个电路11和12共用设在三态缓冲器16的输出侧的I/O管脚(未示出)。
电路11和12分别具有不同的功能。电路11根据其操作状态输出指定I/O管脚的方向是否为输入或者输出的控制信号dir1,并且当方向为输出时输出数据信号data1。相似地,电路12输出指定I/O管脚方向的控制信号dir2及数据信号data2。
锁存电路15例如被配置为触发器,并且锁存用于切换选择器13和14的选择信号sel_data,并且将该信号作为选择信号sel输出。
当选择信号sel为高电平(逻辑“1”)时,选择器13选择data1,当选择信号sel为低电平(逻辑“0”)时,选择器13选择data2,并且选择器13将选定的数据信号作为sw_data输出。
当选择信号sel为逻辑“1”时,选择器14选择dir1,并且当选择信号sel为逻辑“0”时,选择器14选择dir2,这样是为了将选定的控制信号作为sw_dir输出。所述控制信号sw_dir被以负逻辑输入到三态缓冲器16的使能端,用逻辑“1”指示I/O管脚的方向为输入,并用逻辑“0”指示I/O管脚的方向为输出。
当控制信号sw_dir为逻辑“1”时,三态缓冲器16处于高阻抗状态(输入状态)z,并且从I/O管脚输入的信号通过信号路径(未示出)被传送到电路11或者电路12。而且,当控制信号sw_dir为逻辑“0”时,三态缓冲器16处于输出状态,并且将数据信号sw_data作为outdata(输出数据)输出到I/O管脚。
下述专利文献1公开了一种共用端子控制设备,该共用端子控制设备即使当用于切换端子的软件没有被激活时也可实现端子的切换。
专利文献1日本专利申请公开No.2004-192051上述传统的共用输入/输出端子控制电路具有下述问题。
当使用图1A所示的电路配置时,在电路11和12之间切换时有可能出现冒险输出。图1B和图1C示出了该冒险输出模式的时序图。
锁存电路15根据时钟信号clk进行操作,并且在时钟信号的上升沿锁存选择信号sel_data,并且将锁存的信号作为选择信号sel进行输出。因此,当选择信号sel_data在t1时刻从逻辑“1”切换到逻辑“0”时,选择信号sel在t2时刻从逻辑“1”切换到逻辑“0”,其中t2时刻比t1时刻晚一个周期。
首先,假设选择信号sel在t2时刻从逻辑“1”(电路11)切换到逻辑“0”(电路12),并且随后,控制信号sw_dir在t3时刻从逻辑“0”(输出)切换到逻辑“1”(输入),其中t3时刻晚于数据信号sw_data的变化,如图1B所示。在这种情况下,在t2时刻和t3时刻之间的期间T内,出现了冒险输出。
接下来,假设选择信号sel在t2时刻从逻辑“1”切换到逻辑“0”,并且随后,控制信号sw_dir先于数据信号sw_data在t3时刻的变化从逻辑“1”切换到逻辑“0”,如图1C所示。同样在这种情况下,在期间T内,出现冒险输出。
因为考虑到I/O管脚数目限制和通用性,最近几年生产的CPU芯片使用这样的配置在其中提供可以被应用于各种用法的通用I/O管脚,并且通过软件选择要被连接到特定I/O管脚的信号。
图1D示出了在上述CPU芯片中的共用输入/输出端子控制电路的配置示例。图1D的CPU 21包括内部寄存器31、外围电路32、选择器33以及I/O缓冲器34。外部I/O管脚22通过负载电路23连接到高电平(VDD),并且被用作去往CPU 21的信号输入端及来自CPU 21的信号输出端。
在上述情况中,内部寄存器31和外围电路32分别对应于图1A所示的电路11和电路12。选择器33对应于选择器13和14。I/O缓冲器34对应于三态缓冲器16。
在缺省(复位)状态中,选择器33总是选择内部寄存器31,并且I/O缓冲器34处于输入状态。在这种状态下,如果I/O管脚22的连接源只通过软件从内部寄存器31切换到外围电路32,则可能出现对连接目标的冒险输出。
当连接从内部寄存器31切换到外围电路32时,控制信号sw_dir从逻辑“1”切换到逻辑“0”,并且I/O缓冲器34从输入状态切换到输出状态。
当选择内部寄存器31时,I/O管脚22被负载电路23上拉到高电平,因此,数据信号outdata为逻辑“1”。在这种状态下,连接被切换到外围电路32,外围电路32的输出数据信号data2也为逻辑“1”,因此,数据信号outdata甚至一次也不应该变为逻辑“0”。然而,由于内部延迟,在期间T内有可能瞬间出现逻辑“0”的冒险输出。
当I/O管脚22的连接目标是电路的时钟端子或者写使能端子时,电路在信号的上升沿进行操作,这引起了连接目标电路的误动作。为了防止出现这样的冒险输出,在传统的技术中通过软件准备适当时序。
在图1D所示的示例中,可以通过在将连接切换到外围电路32之前将内部寄存器31的输出数据值从逻辑“0”变为逻辑“1”,并且随后使用选择器33进行切换,防止在期间T内出现冒险输出,如图1F所示。
然而,CPU芯片中的I/O管脚数目由于通用性的提升而趋于增加,软件控制步骤和软件时序的检查步骤增加,并且需要冒险取消的自动化。

发明内容
本发明的目的在于提供不需要软件时序就可防止通用I/O管脚的冒险输出的共用输入/输出端子控制电路。
本发明的第一共用输入/输出端子控制电路包括第一和第二数据选择电路、方向选择电路、数据保持电路及输出电路。
第一数据选择电路在从多个电路分别输出的多个数据信号中选择要被传送到共用输入/输出端子的数据信号,并且输出选定的数据信号。方向选择电路选择与从第一数据选择电路输出的数据信号的电路相同的电路的方向控制信号,并输出选定的方向控制信号。数据保持电路保持从数据选择电路输出的数据信号。
第二数据选择电路从第一数据选择电路输出的数据信号和由数据保持电路保持的数据信号中选择其中一个,并且输出选定的数据信号。当从方向选择电路输出的方向控制信号指示输出方向时,输出电路将从第二数据选择电路输出的数据信号输出到共用输入/输出端子。
本发明的第二共用输入/输出端子控制电路包括数据选择电路、第一和第二方向选择电路、方向保持电路及输出电路。
数据选择电路在从多个电路分别输出的多个数据信号中选择要被传送到共用输入/输出端子的数据信号,并且输出选定的数据信号。第一方向选择电路在从上述多个电路中分别输出的多个方向控制信号中选择与从数据选择电路输出的数据信号的电路相同的电路的方向控制信号,并且输出选定的方向控制信号。方向保持电路保持从第一方向选择电路输出的方向控制信号。
第二方向选择电路从第一方向选择电路输出的方向控制信号和由方向保持电路保持的方向控制信号中选择其中一个,并且输出选定的方向控制信号。当从第二方向选择电路输出的方向控制信号指示输出方向时,输出电路将从数据选择电路输出的数据信号输出到共用输入/输出端子。
本发明的第三共用输入/输出端子控制电路包括第一和第二数据选择电路、第一和第二方向选择电路、数据保持电路、方向保持电路及输出电路。
第一数据选择电路在从多个电路分别输出的多个数据信号中选择要被传送到共用输入/输出端子的数据信号,并且输出选定的数据信号。第一方向选择电路选择与从第一数据选择电路输出的数据信号的电路相同的电路的方向控制信号,并且输出选定的方向控制信号。数据保持电路保持从第一数据选择电路输出的数据信号。方向保持电路保持从第一方向选择电路输出的方向控制信号。
第二数据选择电路从第一数据选择电路输出的数据信号和由数据保持电路保持的数据信号中选择其中一个,并且输出选定的数据信号。第二方向选择电路从第一方向选择电路输出的方向控制信号和由方向保持电路保持的方向控制信号中选择其中一个,并且输出选定的方向控制信号。当从第二方向选择电路输出的方向控制信号指示输出方向时,输出电路将从第二数据选择电路输出的数据信号输出到共用输入/输出端子。


图1A示出了传统的共用输入/输出端子控制电路的配置;图1B示出了传统的第一切换操作的时序图;图1C示出了传统的第二切换操作的时序图;图1D示出了传统CPU中的共用输入/输出端子控制电路的配置;图1E示出了传统CPU中的第一切换操作的时序图;图1F示出了传统CPU中的第二切换操作的时序图;图2是本发明的共用输入/输出端子控制电路的原理视图;图3示出了第一共用输入/输出端子控制电路的配置;图4A示出了第一切换操作的时序图;图4B示出了第二切换操作的时序图;图5示出了第二共用输入/输出端子控制电路的配置;以及图6示出了比较器电路的配置。
具体实施例方式
在下文中,通过参照附图来说明本发明的最优选实施例。
图2是本发明的共用输入/输出端子控制电路的原理视图。
在本发明的第一技术方案中,共用输入/输出端子控制电路包括数据选择电路101和105、方向选择电路102、数据保持电路103以及输出电路107。
数据选择电路101在从多个电路分别输出的多个数据信号中选择要被传送到共用输入/输出端子108的数据信号,并且输出选定的数据信号。方向选择电路102在从上述多个电路中分别输出的多个方向控制信号中选择与从数据选择电路101输出的数据信号的电路相同的电路的方向控制信号,并输出选定的方向控制信号。数据保持电路103保持从数据选择电路101输出的数据信号。
数据选择电路105从数据选择电路101输出的数据信号和由数据保持电路103保持的数据信号中选择其中一个,并且输出选定的数据信号。当从方向选择电路102输出的方向控制信号指示输出方向时,输出电路107将从数据选择电路105输出的数据信号输出到共用输入/输出端子108。
从数据选择电路101输出的数据信号并不是被直接传送到输出电路107,而是通过数据保持电路103和数据选择电路105被传送到输出电路107。在数据保持电路103中,先前从数据选择电路101输出的数据信号被保持,因此,数据选择电路105可以将当前的数据信号替换为先前的数据信号。
因此,即使当如图1B所示,方向控制信号晚于数据信号的切换从输出方向切换到输入方向时,也可以从输出电路107输出被切换前的数据信号而不是被切换后的数据信号,因此,防止了冒险输出的出现。
在本发明的第二技术方案中,共用输入/输出端子控制电路包括数据选择电路101、方向选择电路102和106、方向保持电路104及输出电路107。
数据选择电路101在从多个电路分别输出的多个数据信号中选择要被传送到共用输入/输出端子108的数据信号,并且输出选定的数据信号。方向选择电路102在从上述多个电路中分别输出的多个方向控制信号中选择与从数据选择电路101输出的数据信号的电路相同的电路的方向控制信号,并输出选定的方向控制信号。方向保持电路104保持从方向选择电路102输出的方向控制信号。
方向选择电路106从方向选择电路102输出的方向控制信号和由方向保持电路104保持的方向控制信号中选择其中一个,并且输出选定的方向控制信号。当从方向选择电路106输出的方向控制信号指示输出方向时,输出电路107将从数据选择电路101输出的数据信号输出到共用输入/输出端子108。
从方向选择电路121输出的方向控制信号并不是被直接传送到输出电路107,而是通过方向保持电路104和方向选择电路106被传送到输出电路107。在方向保持电路104中,先前从方向选择电路102输出的方向控制信号被保持,因此,方向选择电路106可以将当前的方向控制信号替换为先前的方向控制信号。
因此,即使当如图1C所示,方向控制信号先于数据信号的切换从输入方向切换到输出方向时,也可以将被切换前的方向控制信号而不是被切换后的数据信号输出到输出电路107。由此,可以延迟从输出电路107输出数据信号的定时,因此,防止了冒险输出的出现。
在本发明的第三技术方案中,共用输入/输出端子控制电路包括数据选择电路101和105、方向选择电路102和106、数据保持电路103、方向保持电路104及输出电路107。
数据选择电路101在从多个电路分别输出的多个数据信号中选择要被传送到共用输入/输出端子108的数据信号,并且输出选定的数据信号。方向选择电路102在从上述多个电路中分别输出的多个方向控制信号中选择与从数据选择电路101输出的数据信号的电路相同的电路的方向控制信号,并输出选定的方向控制信号。数据保持电路103保持从数据选择电路101输出的数据信号。方向保持电路104保持从方向选择电路102输出的方向控制信号。
数据选择电路105从数据选择电路101输出的数据信号和由数据保持电路103保持的数据信号中选择其中一个,并且输出选定的数据信号。方向选择电路106从方向选择电路102输出的方向控制信号和由方向保持电路104保持的方向控制信号中选择其中一个,并且输出选定的方向控制信号。当从方向选择电路106输出的方向控制信号指示输出方向时,输出电路107将从数据选择电路105输出的数据信号输出到共用输入/输出端子108。
通过上述配置,可以防止图1B和图1C所示两种情况中的冒险输出的出现。
在稍后进行说明的如图3所示的共用输入/输出端子控制电路中,数据选择电路101和105、方向选择电路102和106、数据保持电路103、方向保持电路104及输出电路107分别对应于选择器202、235、203和236、锁存电路204和222及三态缓冲器208。
在稍后进行说明的如图5所示的共用输入/输出端子控制电路中,数据选择电路101和105、方向选择电路102和106、数据保持电路103、方向保持电路104及输出电路107分别对应于选择器502、535、503和536、锁存电路504和522及三态缓冲器508。
根据本发明,在包括共用输入/输出端子的例如CPU等的设备中,当端子的方向晚于数据信号的切换从输出切换到输入时以及/或者当端子的方向先于数据信号的切换从输入切换到输出时,可以防止来自端子的冒险输出的出现。
图3示出了在图1A所示的共用输入/输出端子控制电路中提供了抗冒险(anti hazard)电路的配置示例。所述控制电路包括选择器202和203、锁存电路201和204、选择信号比较器电路205、方向控制信号比较器电路206、冒险条件检测电路207以及三态缓冲器208,并且执行控制以使所述两个电路11和12共用设在三态缓冲器208的输出侧的I/O管脚(未示出)。
在上述的元件中,选择器202和203、锁存电路201以及三态缓冲器208的操作与图1A所示的选择器13和14、锁存电路15以及三态缓冲器16的操作相同。
锁存电路204在时钟信号clk的上升沿锁存数据信号sw_data,并且将该信号作为数据信号sw_data_cpt进行输出。数据信号sw_data_cpt指示数据信号sw_data一个周期前的值。
选择信号比较器电路205包括锁存电路211和异或(XOR)电路212,并且将最新的选择信号sel_data和先前的选择信号sel进行比较,并且生成指示比较结果的信号sel_change。
锁存电路211在时钟信号clk的上升沿锁存选择信号sel,并且将该信号作为选择信号sel_shift进行输出。该选择信号sel_shift指示选择信号sel_data两个周期前的值。异或电路212将sel_data和sel_shift之间的异或运算结果作为信号sel_change进行输出。
因此,当最新的选择信号sel_data的值和两个周期前的值相同时,信号sel_change变成逻辑“0”,并且当最新的选择信号sel_data的值和两个周期前的值不同时,信号sel_change变成逻辑“1”。由此,检测出了选择信号sel_data的状态变化。
方向控制信号比较器电路206包括选择器221、锁存电路222以及异或电路223,并且将最新的控制信号dir1或dir2和先前的控制信号sw_dir进行比较,并且生成指示比较结果的信号dir_change。
当选择信号sel_data为逻辑“1”时,选择器221选择dir1,当选择信号sel_data为逻辑“0”时,选择器221选择dir2,并且选择器221将选定的控制信号作为sel_dir进行输出。该控制信号sel_dir指示基于最新的选择信号sel_data选择的控制信号dir1或dir2的值。
锁存电路222在时钟信号clk的上升沿锁存控制信号sw_dir,并且将锁存的信号作为控制信号sw_dir_cpt进行输出。该控制信号sw_dir_cpt指示控制信号sel_dir两个周期前的值。异或电路223将sw_dir_cpt和sel_dir之间的异或运算结果作为信号dir_change进行输出。
因此,当最新的控制信号sel_dir的值和两个周期前的值相同时,信号dir_change变成逻辑“0”,并且当最新的控制信号sel_dir的值和两个周期前的值不同时,信号dir_change变成逻辑“1”。由此,检测出了控制信号sel_dir的状态变化。
冒险条件检测电路207包括与(AND)电路231、233和234、反相器232及选择器235和236,并且从信号sel_change和信号dir_change检测冒险条件,将数据信号sw_data或控制信号sw_dir替换为一个周期前的值,由此,生成数据信号sw_data_o或控制信号sw_dir_o。
与电路231将信号sel_change和信号dir_change之间的与运算结果作为冒险条件检测信号hazard进行输出。反相器232输出控制信号sw_dir_cpt的反相。与电路233将反相器232的输出和信号hazard之间的与运算结果作为信号data_lock进行输出。与电路234将控制信号sw_dir_cpt和信号hazard之间的与运算结果作为信号dir_lock进行输出。
当信号data_lock为逻辑“1”时,选择器235选择数据信号sw_data_cpt,当信号data_lock为逻辑“0”时,选择器235选择数据信号sw_data,并且选择器235将选定的数据信号作为sw_data_o进行输出。
当信号dir_lock为逻辑“1”时,选择器236选择控制信号sw_dir_cpt,当信号dir_lock为逻辑“0”时,选择器236选择控制信号sw_dir,并且选择器236将选定的控制信号作为sw_dir_o进行输出。
所述控制信号sw_dir_o被以负逻辑输入到三态缓冲器208的使能端。因此,当控制信号sw_dir_o为逻辑“1”时,三态缓冲器208处于输入状态,当控制信号sw_dir_o为逻辑“0”时,三态缓冲器208处于输出状态,并且三态缓冲器208将数据信号sw_data_o作为outdata输出到I/O管脚。
根据上述的共用输入/输出端子控制电路,当下述条件(1)和(2)同时满足时,冒险条件检测信号hazard变成逻辑“1”,并且冒险条件检测电路207进行操作以防止冒险数据的输出。
(1)当比较最新的选择信号sel_data的值和两个周期前的值时,认识到值发生了变化(信号sel_change为逻辑“1”)。
(2)电路11的控制信号dir1的方向与电路12的控制信号dir2的方向不同(信号dir_change为逻辑“1”)。
当条件(1)和(2)不同时满足时,不输出冒险数据,因此,可以完全不管时序而执行数据信号outdata的输出控制。
图4A和图4B是示出了当条件(1)和(2)同时满足时防止冒险输出出现的时序图。
首先,与图1B相似,在图4A所示的时序图中,选择信号sel在t12时刻从逻辑“1”切换到逻辑“0”,并且随后控制信号sw_dir晚于数据信号sw_data的变化从逻辑“0”切换到逻辑“1”。随后,选择信号sel_shift在t13时刻从逻辑“1”切换到逻辑“0”。
因此,在选择信号sel_data变化的t11时刻和选择信号sel_shift变化的t13时刻之间的期间内,信号sel_change为逻辑“1”。相似地,在控制信号sel_dir变化的t11时刻和控制信号sw_dir_cpt变化的t13时刻之间的期间内,信号dir_change也为逻辑“1”。因此,在t11时刻和t13时刻之间的两个周期内信号hazard为逻辑“1”。
在所述两个周期内,控制信号sw_dir_cpt为逻辑“0”,因此,信号data_lock为逻辑“1”,并且信号dir_lock为逻辑“0”。因此,将数据信号sw_data_cpt作为sw_data_o输出,并且将控制信号sw_dir作为sw_dir_o输出。
如上所述,基于信号data_lock,在所述两个周期内,数据信号sw_data_o的值被固定为数据信号sw_data变化前的值。因此,即使当三态缓冲器208的方向在t12时刻和t13时刻之间基于控制信号sw_dir_o被切换时,也不将冒险数据作为outdata进行输出。
另外,在图3所示的控制电路中,使用这样的配置在t11时刻和t13之间的两个周期期间内,数据信号sw_data被替换为数据信号sw_data_cpt,然而,可以将所述期间延长为规定的三个周期或更多个周期期间。
接下来,与图1C相似,在图4B所示的时序图中,选择信号sel在t12时刻从逻辑“1”切换到逻辑“0”,并且随后控制信号sw_dir先于数据信号sw_data的变化从逻辑“1”切换到逻辑“0”。随后,选择信号sel_shift在t13时刻从逻辑“1”切换到逻辑“0”。
由此,与图4A所示的情况相似,在t11时刻和t13时刻之间的两个周期期间内,信号sel_change为逻辑“1”,并且信号dir_change也为逻辑“1”。因此,在所述两个周期期间内,信号hazard为逻辑“1”。
在所述期间内,控制信号sw_dir_cpt为逻辑“1”,因此,信号data_lock为逻辑“0”,并且信号dir_lock为逻辑“1”。因此,将数据信号sw_data作为sw_data_o输出,并且将控制信号sw_dir_cpt作为sw_dir_o输出。
如上所述,基于信号dir_lock,在所述两个周期内,控制信号sw_dir_o的值被固定为控制信号sw_dir变化前的值。因此,在t12时刻和t13时刻之间的期间内,三态缓冲器208的方向不被切换,并且不将冒险数据作为outdata进行输出。在所述期间内,完成数据信号sw_data_o的切换。
另外,在图3所示的控制电路中,使用这样的配置在t11时刻和t13时刻之间的两个周期期间内,控制信号sw_dir被替换为控制信号sw_dir_cpt,然而,可以将所述期间延长为指定的三个周期或更多个周期期间。
此外,在图3所示的控制电路中,使用这样的配置所述两个电路11和12共用I/O管脚,然而,本发明可以被应用于三个电路或者更多个电路的配置。例如,当四个电路共用I/O管脚时,共用输入/输出端子控制电路的配置如图5所示。
如图5所示的控制电路包括选择器502和503、锁存电路501和504、选择信号比较器电路505、方向控制信号比较器电路506、冒险条件检测电路507及三态缓冲器508,并且执行控制以使四个电路A、B、C和D(未示出)共用设在三态缓冲器508的输出侧的I/O管脚(未示出)。
在上述的元件中,锁存电路504和三态缓冲器508的操作与图3所示的锁存电路204和三态缓冲器208的操作相同。
电路A、B、C和D分别输出数据信号data1、data2、data3和data4,并且还分别输出控制信号dir1、dir2、dir3和dir4。
锁存电路501锁存用于切换选择器502和503的选择信号的两个比特sel_data[1:0],并且将锁存的信号作为选择信号sel[1:0]进行输出。
当选择信号sel[1:0]的值为“00”时,选择器502选择data1,当选择信号sel[1:0]的值为“01”时,选择器502选择data2,当选择信号sel[1:0]的值为“10”时,选择器502选择data3,当选择信号sel[1:0]的值为“11”时,选择器502选择data4,并且选择器502将选定的信号作为sw_data进行输出。
当选择信号sel[1:0]的值为“00”时,选择器503选择dir1,当选择信号sel[1:0]的值为“01”时,选择器503选择dir2,当选择信号sel[1:0]的值为“10”时,选择器503选择dir3,当选择信号sel[1:0]的值为“11”时,选择器503选择dir4,并且选择器503将选定的信号作为sw_dir进行输出。
选择信号比较器电路505包括锁存电路511和比较器电路512,并且将最新的选择信号sel_data[1:0]与先前的选择信号sel[1:0]进行比较,并且生成指示比较结果的信号sel_change。
锁存电路511在时钟信号clk的上升沿锁存选择信号sel[1:0],并且将锁存的信号作为选择信号sel_shift[1:0]进行输出。
如图6所示,比较器电路512包括异或电路601和602及或(OR)电路603。异或电路601输出sel_data
和sel_shift
之间的异或运算结果。异或电路602输出sel_data[1]和sel_shift[1]之间的异或运算结果。或电路603将异或电路601的输出和异或电路602的输出之间的或运算结果作为信号sel_change进行输出。由此,检测出了选择信号sel_data[1:0]的状态变化。
方向控制信号比较器电路506包括选择器521、锁存电路522及异或电路523,并且将最新的控制信号dir1、dir2、dir3或dir4与先前的控制信号sw_dir进行比较,并且生成指示比较结果的信号dir_change。
当选择信号sel_data[1:0]的值为“00”时,选择器521选择dir1,当选择信号sel_data[1:0]的值为“01”时,选择器521选择dir2,当选择信号sel_data[1:0]的值为“10”时,选择器521选择dir3,当选择信号sel_data[1:0]的值为“11”时,选择器521选择dir4,并且选择器521将选定的控制信号作为sel_dir进行输出。锁存电路522和异或电路523的操作与图3所示的锁存电路222和异或电路223的操作相同。因此,基于信号dir_change检测出了控制信号sel_dir的状态变化。
与图3所示的冒险条件检测电路207相似,冒险条件检测电路507包括与电路531、533和534、反相器532及选择器535和536,并且从信号sel_change和信号dir_change检测冒险条件,并且输出数据信号sw_data_o和控制信号sw_dir_o。
与图3所示的情况相似,根据上述的共用输入/输出端子控制电路,当下述条件(1)和(2)同时满足时,冒险条件检测信号hazard变为逻辑“1”,并且冒险条件检测电路507进行操作以防止冒险数据的输出。
(1)当比较最新的选择信号sel_data[1:0]的值和两个周期前的值时,认识到值发生了变化(信号sel_change为逻辑“1”)。
(2)切换前电路的控制信号diri的方向与切换后电路的控制信号dirj(i,j=1,2,3,4,i≠j)的方向不同(信号dir_change为逻辑“1”)。
权利要求
1.一种共用输入/输出端子控制电路,包括第一数据选择电路,用于在从多个电路分别输出的多个数据信号中选择并输出要被传送到共用输入/输出端子的数据信号;方向选择电路,用于在从所述多个电路中分别输出的多个方向控制信号中,选择并输出与从所述第一数据选择电路输出的数据信号的电路相同的电路的方向控制信号;数据保持电路,用于保持从所述第一数据选择电路输出的数据信号;第二数据选择电路,用于从所述第一数据选择电路输出的数据信号和由所述数据保持电路保持的数据信号中选择并输出其中一个;以及输出电路,用于当从所述方向选择电路输出的方向控制信号指示输出方向时,将从所述第二数据选择电路输出的数据信号输出到所述共用输入/输出端子。
2.如权利要求1所述的共用输入/输出端子控制电路,其中当由从所述方向选择电路输出的方向控制信号指示的方向从输出方向切换到输入方向时,所述第二数据选择电路选择并输出由所述数据保持电路保持的数据信号。
3.如权利要求1所述的共用输入/输出端子控制电路,还包括用于检测控制所述第一数据选择电路和所述方向选择电路的第一选择信号的变化的第一检测电路;用于检测从所述方向选择电路输出的方向控制信号的变化的第二检测电路;以及用于检测来自所述第一检测电路和第二检测电路的输出信号的冒险条件并且用于输出控制所述第二数据选择电路的第二选择信号的第三检测电路。
4.如权利要求3所述的共用输入/输出端子控制电路,其中所述第一检测电路将指定时间期间过去之前的所述第一选择信号的值与所述指定时间期间过去之后的所述第一选择信号的值进行比较,并且检测所述第一数据选择信号的变化;并且所述第二检测电路将所述指定时间期间过去之前的所述方向控制信号的值与所述指定时间期间过去之后的方向控制信号的值进行比较,并且检测所述方向控制信号的变化。
5.如权利要求3所述的共用输入/输出端子控制电路,还包括用于保持从所述方向选择电路输出的方向控制信号的方向保持电路,其中所述第三检测电路根据由所述方向保持电路保持的方向控制信号的值改变所述第二选择信号的值。
6.一种共用输入/输出端子控制电路,包括数据选择电路,用于在从多个电路分别输出的多个数据信号中选择并输出要被传送到共用输入/输出端子的数据信号;第一方向选择电路,用于在从所述多个电路中分别输出的多个方向控制信号中选择并输出与从所述数据选择电路输出的数据信号的电路相同的电路的方向控制信号;方向保持电路,用于保持从所述第一方向选择电路输出的方向控制信号;第二方向选择电路,用于从所述第一方向选择电路输出的方向控制信号和由所述方向保持电路保持的方向控制信号中选择并输出其中一个;以及输出电路,用于当从所述第二方向选择电路输出的方向控制信号指示输出方向时,将从所述数据选择电路输出的数据信号输出到所述共用输入/输出端子。
7.如权利要求6所述的共用输入/输出端子控制电路,其中当由从所述第一方向选择电路输出的方向控制信号指示的方向从输入方向切换到输出方向时,所述第二方向选择电路选择并输出由所述方向保持电路保持的方向控制信号。
8.如权利要求6所述的共用输入/输出端子控制电路,还包括用于检测控制所述数据选择电路和所述第一方向选择电路的第一选择信号的变化的第一检测电路;用于检测从所述第一方向选择电路输出的方向控制信号的变化的第二检测电路;以及用于检测来自所述第一检测电路和第二检测电路的输出信号的冒险条件并且用于输出控制所述第二方向选择电路的第二选择信号的第三检测电路。
9.如权利要求8所述的共用输入/输出端子控制电路,其中所述第一检测电路将指定时间期间过去之前的所述第一选择信号的值与所述指定时间期间过去之后的所述第一选择信号的值进行比较,并且检测所述第一数据选择信号的变化;并且所述第二检测电路将所述指定时间期间过去之前的所述方向控制信号的值与所述指定时间期间过去之后的所述方向控制信号的值进行比较,并且检测所述方向控制信号的变化。
10.如权利要求8所述的共用输入/输出端子控制电路,其中所述第三检测电路根据由所述方向保持电路保持的方向控制信号的值改变第二选择信号的值。
11.一种共用输入/输出端子控制电路,包括第一数据选择电路,用于在从多个电路分别输出的多个数据信号中选择并输出要被传送到共用输入/输出端子的数据信号;第一方向选择电路,用于在从所述多个电路中分别输出的多个方向控制信号中选择并输出与从所述第一数据选择电路输出的数据信号的电路相同的电路的方向控制信号;数据保持电路,用于保持从所述第一数据选择电路输出的数据信号;方向保持电路,用于保持从所述第一方向选择电路输出的方向控制信号;第二数据选择电路,用于从所述第一数据选择电路输出的数据信号和由所述数据保持电路保持的数据信号中选择并输出其中一个;第二方向选择电路,用于从所述第一方向选择电路输出的方向控制信号和由所述方向保持电路保持的方向控制信号中选择并输出其中一个;以及输出电路,用于当从所述第二方向选择电路输出的方向控制信号指示输出方向时,将从所述第二数据选择电路输出的数据信号输出到所述共用输入/输出端子。
全文摘要
第一数据选择电路在来自多个电路的多个数据信号中选择数据信号,第一方向选择电路在来自上述电路的多个方向控制信号中选择相同电路的方向控制信号。数据保持电路和方向保持电路分别保持选定的数据信号和方向控制信号。第二数据选择电路从第一数据选择电路或数据保持电路中选择数据信号。第二方向选择电路从第一方向选择电路或方向保持电路中选择方向控制信号。输出电路根据来自第二方向选择电路的方向控制信号,将来自第二数据选择电路的数据信号输出到共用输入/输出端子。
文档编号H03K19/0175GK101047380SQ200610104269
公开日2007年10月3日 申请日期2006年8月7日 优先权日2006年3月27日
发明者福户山祯冶, 前田昌弘, 垄桥悟, 久保悠司, 伊藤芳治, 藤田淳 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1