下面对本发明的优选实施例进行说明。在优选实施例中,基于本发
明的半导体集成电路在不使用中央处理单元的情况下,实现了从芯片外
部经微型计算机的一条内部总线对附加用户逻辑电路的读出和写入操
作。更具体地说,该半导体集成电路包括:一个专用连接逻辑电路(图
1中的4),作为直接将附加用户逻辑电路和微型计算机的内部总线(图
1中的30)连接的装置;一个端口电路(图1中的31),作为从作为
芯片外部接头的一个总线/端口转换外部接头(图1中的3)到微型计算
机的一条内部总线(图1中的30)的读出和写入装置。
在优选实施例中,以使测试方便为目的对连接微型计算机的内部总
线和附加用户逻辑电路的开关部分进行了设置。更具体地说,在连接附
加用户逻辑电路的专用连接逻辑电路(图2中的4)的内部,设置有一
个总线检测寄存器(图2中的50),作为校验连接附加用户逻辑电路
(图2中的5)的总线(图2中的7)的装置。
在本发明的另一个实施例中,提供了一个用于中断请求信号和微型
计算机的端口功能的多路转换器(图7中的63),作为在测试模式中
从外部校验来自附加用户逻辑电路(图7中的5)的中断请求信号(图
7中的69)的装置。该实施例还提供了一个检测寄存器(图7中的65),
作为以中断请求信号驱动微型计算机中断控制器的装置;以及一个用于
检测寄存器输出和来自附加用户逻辑电路的中断请求信号的多路转换
器。
在前述本发明实施例中,由于从芯片外部对附加用户逻辑电路的读
出或写入操作是使用普通微型计算机具备的内部总线和端口电路实现
的,因此没有必要在专用连接逻辑电路内部提供常规情况下需要的端口
模拟功能。
由于可通过从微型计算机向总线检测寄存器写入一个选择值,从微
型计算机测试与附加用户逻辑电路连接的总线,所以可用同样的方式测
试专用于连接的接口内部的总线转换开关,而不必考虑附加用户逻辑电
路的类型。
同样,在负载测试模式中,来自附加用户逻辑电路的中断请求信号
由微型计算机的端口功能接头进行多路转换后输出,使用检测寄存器对
向微型计算机的中断请求信号进行测试,因而芯片的外部接头数量可比
常规数量降低。
图1显示本发明实施例的整体结构的方框图。参见图1,本发明的
实施例包括:一个微型计算机1,一个附加用户逻辑电路5和一个连接
微型计算机1和附加用户逻辑电路5的专用连接逻辑电路4。
微型计算机1有一个总线/端口转换外部接头3和一条内部总线
30。专用连接逻辑电路4直接与微型计算机1的内部总线30相连。还
提供有自微型计算机1以数据输入/输出方式访问附加用户逻辑电路5
的控制信号组61和62。
在本发明的实施例中,所述集成电路至少有两种工作模式,一种是
“常规工作模式”,另一种是“附加用户逻辑电路测试模式”。该模式
可通过例如一个与芯片外部相连的测试输入接头等进行设置。
在常规工作模式中,附加用户逻辑电路5只能由微型计算机1内部
的中央处理单元35(图2)访问。在该模式中,总线/端口转换外部接
头3可作为一条总线连接外设,例如在微型计算机1外部的一个存储器
(未显示),或一个外设芯片,或是当没有芯片之类的外设连接时作为
一个端口使用。在该模式中,内部总线30和读出/写入控制信号组61,
62由微型计算机1内部的中央处理单元控制。
在附加用户逻辑电路测试模式中,附加用户逻辑电路5不再由微型
计算机1内部的中央处理单元控制,使得可以通过总线/端口转换外部接
头3从芯片外部对附加用户逻辑电路直接进行访问。此时,内部总线30
也不由微型计算机1内部的中央处理单元控制。
为控制芯片外部对附加用户逻辑电路5的读出/写入操作,电路中
使用了模式设置接头32和34。芯片外部对读出/写入控制信号组61,
62的控制也是通过模式设置接头32和34进行的。
下面参考附图对本发明的优选实施例进行说明。
图1显示本发明的一个实施例的结构。在图1中,微型计算机1是
一个单片微型计算机,其处理单元和一个专用功能块集成在一个芯片
上。
微型计算机1包括:一组输入/输出接头2,一个总线/端口转换外
部接头3,一条内部总线30,一个端口电路31,第一和第二输入接头
9,10,模式设置接头31,33,34,和一组控制信号(信号线)61。
该组控制信号61用于控制微型计算机1对专用连接逻辑电路4的
写入和读出操作。
专用连接逻辑电路4直接与内部总线30连接,用于微型计算机中
地址和数据的传输。专用连接逻辑电路4有一个用于微型计算机1对附
加用户逻辑电路5的访问的总线7,以及一组读出和写入控制信号接头
(线)62。
附加用户逻辑电路5包括:地址/数据总线7,一组读出和写入控
制信号接头62,一个与芯片外部连接的输入/输出接头6。
图2是显示微型计算机1和专用连接逻辑电路4的详细结构的方框
图。
参见图2,微型计算机1包括一个中央处理单元35,内部总线30,
一个端口电路31,一个存取控制电路60。内部总线30分别与中央处
理单元35,端口电路31,存取控制电路60和专用连接逻辑电路4连
接。
专用连接逻辑电路4包括:一个写入/读出控制电路45,一个地址
锁存器46,总线缓冲寄存器47和49,一个总线检测寄存器50。
在本发明的集成电路中,微型计算机1的内部总线30是地址/数据
多路转换型的总线,而附加用户逻辑电路5的总线是地址/数据分离型的
总线,其总线分为一条数据总线7a和一条地址总线7b。因此,在专用
连接逻辑电路4的内部有一个地址锁存器46用于多路转换总线与分离
总线之间的转换。
附加用户逻辑电路5还包括一个总线检测寄存器50,用于改善对
专用连接逻辑电路4的检测的检错率。
下面对本发明实施例的工作过程详细说明。
在实施例中,微型计算机1的工作模式由第一和第二测试输入接头
9,10决定。如图3所示,如果第一测试输入接头9为逻辑值“0”,
则工作模式被设为“常规工作模式”;而如果第一测试输入接头9为逻
辑值“1”时,工作模式被设为“负载测试模式”。
以上两种模式再经第二测试输入接头10设置为更细的模式。即,
“常规工作模式”被设置为“单片工作模式”和“外部控制模式”,而
“负载测试模式”被设置为“微型计算机测试模式”和“附加用户逻辑
电路测试模式”。
在常规工作模式中,实施例中的微型计算机1在复位后立即从其内
部的ROM中检索一个命令。反之,在负载测试模式的微型计算机测试
模式中,微型计算机1在复位后立即从芯片外部检索一个命令。在附加
用户逻辑电路测试模式中,可从芯片外部访问该逻辑电路,即可进行数
据的输入/输出。
在常规工作模式和微型计算机测试模式中,只能由微型计算机1
内部的中央处理单元35对附加用户逻辑电路5进行访问,即对其输入
或输出数据。在附加用户逻辑电路测试模式中,只能从集成电路外部对
附加用户逻辑电路5进行访问。
在该模式中,内部总线30以及读出和写入控制信号组61,62由
微型计算机1内部的中央处理单元35控制。
而且,如果在常规工作模式中第二测试输入接头10为逻辑值
“1”,则单片微型计算机1工作在外部扩展模式。即,此时总线/端口
转换接头3作为连接微型计算机1外部的存储器或外设芯片的总线。
相反,如果在常规工作模式中,第二输入接头10为逻辑值“0”,
则总线/端口转换外部接头3作为端口使用。
在常规工作模式下工作时,中央处理单元35对端口电路31和专用
连接逻辑电路4的读出和写入操作可以经内部总线30完成。
在常规工作模式和微型计算机测试模式中,微型计算机中的读出/
写入控制电路60将中央处理单元35输出的控制信号42,43,44的
值传送至控制信号线61a,62b,63c。而在附加用户逻辑电路测试模
式中,则将作为外部接头的模式接头32,33,34的值传送至控制信
号线61a,62b,63c。
专用连接逻辑电路4中的读出/写入控制电路45连续地将控制信号
61a,62b,63c传送到专用连接逻辑电路4中使用的控制信号线54,
55,同时,在不依赖于工作模式的条件下将控制信号61a,61b传送到
进入专用连接逻辑电路的控制信号线62a,62b。
下面对在常规工作模式和微型计算机测试模式中对附加用户逻辑
电路5的读出和写入操作进行说明。
在这两种模式中,控制信号42,43,44的状态被传送至控制信
号线61a,61b,61c。另一方面,端口控制信号39,40,41由一个
读出/写入控制电路60的内部寄存器的状态控制。
在第一周期中,由中央处理单元35输出的一个地址经内部总线30
传送。此时,中央处理单元35输出的控制信号44(地址脉冲)被激活。
读出/写入控制电路60将控制信号44的状态传送至控制信号线61c,使
得内部总线30中的一个地址信号被传送到一个地址锁存器46。当控制
信号44被抑制后,一个地址信号被地址锁存器46锁存。该地址信号经
地址总线7b被传送到附加用户逻辑电路5。
在第二周期中,数据由内部总线30传送。此时,控制信号42(读
取脉冲)和控制信号43(写入脉冲)分别被激活用于信号读出和写入。
微型计算机1内部的读出/写入控制电路60将控制信号42,43的状态
分别传送到控制信号线61a,61b。
专用连接逻辑电路4中的读出/写入控制电路45将控制信号61b的
状态传送到控制信号线54,62b,而将控制信号61a的状态传送到控
制信号线55和62a。为进行读出操作,控制信号线54被抑制,而控制
信号线55被激活,同时,总线缓冲寄存器47不驱动数据总线7a,而
总线缓冲寄存器48驱动内部总线30。
在写操作中,控制信号线54被激活,而控制信号线55被抑制,同
时,总线缓冲寄存器47驱动数据总线7a,而总线缓冲寄存器48不驱
动内部总线30。
因此,在读出操作中,附加用户逻辑电路5的输出数据先后经数据
总线7a,总线缓冲寄存器48和内部总线30被传送至中央处理单元35。
以上是在常规工作模式中对附加用户逻辑电路5的读出或写入操
作的说明。
下面对在附加用户逻辑电路测试模式中芯片外部对该逻辑电路的
读出和写入操作进行说明。图4显示的是各个部分的工作状态的真值
表。
当芯片工作在附加用户逻辑电路测试模式中时,端口电路31对专
用连接逻辑电路4的读出/写入操作可经内部总线30进行。该读出/写入
操作由微型计算机1的读出/写入控制电路60控制。
在该模式中,模式接头32,33,34的状态被分别传送至控制信
号线61a,61b,61c。应注意,端口控制信号39,40,41是由模式
接头32,33,34共同控制的。
图5和6分别显示的是该模式中读出操作和写入操作的时序图。
在第一周期中,一个由总线/端口转换接头3进入的地址经内部总
线30被传送到地址总线7b。此时,模式设置接头34(地址脉冲)被
激活,而模式设置接头32(读取脉冲)和模式设置接头33(写入脉冲)
被抑制。
读出/写入控制电路60将模式设置接头34的状态传送到控制信号
线40和61c,同时将模式设置接头32的状态传送到控制信号线41和
61a,并且总线缓冲寄存器36驱动内部总线30,而总线缓冲寄存器37
不驱动总线/端口转换外部接头3。
因此,总线/端口转换外部接头发出的地址信号经内部总线30被传
送到地址锁存器46。当控制信号34被抑制时,地址信号被地址锁存器
46锁存。该地址信号经地址总线7b被传送至附加用户逻辑电路5。
在第二周期中,数据由内部总线30传送。此时,模式设置接头34
(地址脉冲)被抑制。为进行读出操作,如果模式设置接头32(读出
脉冲)被激活,则微型计算机1中的读出/写入控制电路60将模式设置
接头32的状态传送至控制信号线39,41和61a,同时,端口锁存器
38处于数据-直通状态,总线缓冲寄存器37和36分别处于驱动和不驱
动状态。
在进行写操作时,如果模式设置接头33(写入脉冲)被激活,则
微型计算机1中的读出/写入控制电路60将模式设置接头33的状态传送
到控制信号线40,61b,同时总线缓冲寄存器36,37分别处于驱动
状态和不驱动状态。
专用连接逻辑电路4中的读出/写入控制电路45将控制信号61b的
状态传送到控制信号线54,62b,而将控制信号61a传送到控制信号
线55和62a。
在进行读操作时,控制信号54,55分别被抑制和激活,同时总线
缓冲寄存器47不驱动数据总线7a,总线缓冲寄存器48驱动内部总线
30。
在进行写操作时,控制信号54被激活,而控制信号55被抑制,同
时总线缓冲寄存器47驱动数据总线7a,总线缓冲寄存器48不驱动内
部总线30。
因此,在读出操作中,附加用户逻辑电路5输出的数据先后通过数
据总线7a,总线缓冲寄存器48,内部总线30,端口锁存器38和总线
缓冲寄存器37,从而在总线/端口转换外部接头3输出。
在写操作中,进入总线/端口转换外部接头3的数据先后经总线缓
冲寄存器36,内部总线30,总线缓冲寄存器47和数据总线7a,从而
输入至附加用户逻辑电路5。
以上所述是在附加用户逻辑电路测试模式中对附加用户逻辑电路
5的读出或写入操作的说明。
下面对基于本发明的一个总线检测寄存器的实施例进行说明,该寄
存器用于对与附加用户逻辑电路相连的一条总线进行检测。
参见图2,总线检测寄存器50的输入端和连接至附加用户逻辑电
路5的数据总线7a相连,而其输出端经总线缓冲寄存器49连接至数据
总线7a。
总线检测寄存器50的写控制信号56和总线缓冲寄存器49的驱动
控制信号57由专用连接逻辑电路4中的读出/写入控制电路45产生。总
线检测寄存器50的读出/写入地址由控制电路45分配。该地址分配使得
总线各位的常置0或常置1故障可以被检测出,即如果地址为8位,则
既可以以十六进制数55进行访问也可以以十六进制数AA进行访问。
控制信号56由控制信号61a的输出和控制电路45内部的地址解码
器的输出的逻辑结果产生。控制信号57由控制信号61b的输出和控制
电路45内部的地址解码器的输出的逻辑结果产生。
下面对使用总线检测寄存器50检测故障的步骤进行说明。
如果总线检测寄存器50的数据宽度是8位,地址被冗余地分配给
十六进制数55和AA,则随后的过程是:首先,十六进制数据55被写
入十六进制地址55。而后读出十六进制地址AA以校验该数据是十六
进制数55。接着,将十六进制数据AA写入十六进制地址AA以校验该
数据是十六进制数AA。
以上操作可以检测数据总线7a和地址总线每一位的常置0和常置1
故障。
参考图7和图8,在该实施例中,附加用户逻辑电路5产生的一个
中断信号被输出到中央处理单元35。图7中只显示了用于说明中断的
部分电路,总线及其类似电路结构与图1和图2中的相同。图8显示本
实施例的操作模式表。
参见图7,中断请求输出69经专用连接逻辑电路4连接到微型计
算机1。中断请求信号69(69a,69b)和中断检测寄存器65输出的
检测信号70(70a,70b)经一个多路转换器71选择传送到中断请求
输入68(68a,68b)。中断请求输入68被供给至微型计算机1中的
中断控制器64,同时还被供给至微型计算机1中的端口电路31。在端
口电路31内部,中断请求输入68(68a,68b)和端口锁存器38的一
个输出经多路转换器63选择传送至输入/输出接头67(67a,67b)。
专用于连接逻辑电路4中的多路转换器71对其两个输入信号的选
择以及端口电路31中的多路转换器63对其两个输入信号的选择是由读
出/写入控制电路60输出的控制信号控制的。
端口电路31中的多路转换器63在附加用户逻辑电路测试模式中选
择中断请求信号68,在其它模式中选择端口锁存器38的输出。专用连
接逻辑电路4中的多路转换器71在微型计算机测试模式中选择中断检
测寄存器65的输出70,在其它模式中选择附加用户逻辑电路输出的中
断请求输出69。
中断检测寄存器65与数据总线7a连接,并且可以象总线检测寄存
器(图2中的50)一样与中央处理单元35之间进行读写操作。
下面说明对中断请求输出信号69和中断请求输入信号68的检测过
程。
为检测中断请求输出信号69,第一和第二测试输入接头9,10将
集成电路设置为附加用户逻辑电路测试模式。
从集成电路外部对附加用户逻辑电路5访问,使其产生一个中断请
求。该激活的中断请求信号经多路转换器71,中断请求输入68,电路
转换器63和输入/输出接头67输出到集成电路外部,从而被检测到。
为检测中断请求输入信号,测试输入接头9,10将集成电路设置
为微型计算机测试模式。如果中断检测寄存器35的对应位被中央处理
单元35设定,被多路转换器71设定的位被选中来激活中断请求输入
68。产生的中断请求信号被传送至中断控制器中的中断请求寄存器以设
置寄存器中的对应位,再经中央处理单元35读出后将读出状态传送至
输入/输出接头组2用以检测。