以下要参照图1到3说明本发明的一个实施例。输出延迟电路10是这样一个电路,当微处理器Mi输出用于控制存储装置Me写入操作的一个写入信号被输入到输出延迟电路时,在接收到该信号之后,它可以在经过预定的时间延迟段以后把这一输入信号作为输出信号输出。为此,这一输出延迟电路是由计数器(时钟计数装置)1,比较器(比较装置)2,锁存器3,第一逻辑电路4,第二逻辑电路5,第三逻辑电路(输出部分)6,第一反相器7和第二反相器8构成的。
计数器(时钟计数装置)1在时钟的每个上升沿对输入到其CK端的时钟计数,并且从它的Q端输出时钟的计数值或是累加计数值。当输入到计数器R端的R信号是低(L)电平时,计数器就将累加计数值复位,并且从Q端输出一个值“0”。
比较器(比较装置)2把从计数器1Q端输出后又输入到比较器A端的A侧信号与从锁存器3Q端输出后又输入到比较器B端的B侧信号相比较。如果A侧信号与B侧信号相符,比较器就输出一个“L”(低)电平信号,在其一致输出端C0上表示两信号一致。
锁存器3从CK端上接收一个设定值写入信号,并且通过与其连接的数据总线接收输入到其D端的数据,由此把数据写入锁存器,然后从它的Q端输出。
第一逻辑电路4从其一个输入端接收时钟,并且从其另一端接收给输出延迟电路10输入的输入信号,这样,当提供给其一个和另一个输入端的输入值中至少有一个处在“H”电平时,第一逻辑电路4就从其输出端输出一个“H”(高)电平信号。
第二逻辑电路5从其一个输入端接收来自第一逻辑电路4输出端的输出值,并且从其另一输入端接收第二反相器8的输出值,这样,当提供给其一个和另一个输入端的输入值中至少有一个处在“H”电平时,第二逻辑电路5就从其输出端输出一个“H”电平信号。
第三逻辑电路(输出部分)6从其一个输入端接收来自比较器2的一致输出端C0的输出值,并且从其另一输入端接收给输出延迟电路10的输入信号,这样,当提供给其一个和另一个输入端的输入值中至少有一个处在“H”电平时,第三逻辑电路6就从其输出端输出一个“H”电平信号。
第一反相器7从其一个输入端接收给输出延迟电路10输入的输入信号,然后将输入信号的信号状态反相,并且从它的输出端将反相的输入信号输出到计数器1的R端。
第二反相器8从其一个输入端接收来自比较器2的一致输出端C0的输出值,然后将这一输出值的信号状态反相,并且从它的输出端将反相的输出值输出到第二逻辑电路5的另一个输入端。
以下要说明这种输出延迟电路的工作方式。此处所要说明的是数据总线的数据为“0”的情况,也就是说,作为数据总线的数据的预定时钟数是“0”。当数据总线的数据为“0”时,有一个“0”值从锁存器3的Q端被输入到比较器2的B端。如果输入到输出延迟电路10的输入信号是“H”电平,它是代表一种非允许状态的第一信号状态,第一反相器7使“H”电平的输入信号反相,然后把“L”电平提供给计数器1的R端。这样,计数器就会使其原先累加的计数值复位,并且从其Q端向比较器2的A端输出一个值“0”。
在这种情况下,由于提供给比较器2的A侧信号和B侧信号都是“0”,比较器就输出一个“L”电平信号,在其一致输出端C0上表示两信号一致。这样,来自一致输出端C0的“L”电平信号被第二反相器8反相,并且将“H”电平提供给第二逻辑电路5的另一个输入端。因此,无论第二逻辑电路5的一个输入端上的输入值是“L”还是“H”电平,第二逻辑电路5输出端的输出值也就是计数器1的CK端的输入值都会变成“H”电平,这样就停止了计数器1的计数操作。此时,输出延迟电路10的输出信号是“H”电平。
在计数器1停止计数操作的这种状态下,即使是输入到输出延迟电路10的输入信号变成了“L”电平,该电平是一种代表允许状态的第二信号状态,比较器2的一致输出端C0上的输出值也不会从“L”电平发生变化。也就是说,计数器1已经将累加计数值复位,因而不执行计数操作。因此,即使在计数器1的R端输入“H”电平信号,它也不会计数。因此,在第三逻辑电路6的一个输入端上持续输入“L”电平的值。由于代表着第二信号状态的“L”电平值也被提供给第三逻辑电路6的另一输入端,第三逻辑电路6的两个输入端接收的都是“L”电平值。这样,第三逻辑电路6就会从它的输出端输出一个“L”电平输出信号,它代表的信号状态与输入信号的状态相同。换句话说,输入信号被原封不动地当作输出信号从输出端输出,没有受到延迟。
接着要说明数据总线的数据情况,数据总线的数据是由自然数构成的预定的时钟数。当数据总线的数据是自然数时,这种自然数从锁存器3的Q端被输入到比较器2的B端。如果输入到输出延迟电路10的输入信号是第一信号状态的“H”电平,输入信号的“H”电平就被第一反相器7反相,然后变成“L”电平提供给计数器1的R端。这样,计数器就将其已经累加的计数值复位,并且从它的Q端向比较器2的A端输出一个值“0”。
在这种情况下,由于提供给比较器2的A侧信号和B侧信号不一致,比较器2就输出一个“H”电平信号,该信号代表在其一致输出端C0上的不一致。在这种情况下,由于第一逻辑电路4从其另一个输入端上接收“H”电平的输入信号,则无论它的一个输入端上输入的时钟是“L”还是“H”电平,第一逻辑电路4总是输出“H”电平的值。换句话说,第一逻辑电路4停止输出输入的时钟,因此,输入时钟不能通过第二逻辑电路5被提供给计数器1的CK端。在这种情况下,由于第二逻辑电路5在其另一个输入端上接收“H”电平的输入信号,第二逻辑电路5从它的输出端上输出一个“H”电平的输出信号,该电平与输入信号具有相同的信号状态,无论它的一个输入端上输入的信号是“H”还是“L”电平。也就是说,从输出端输出的输入信号照原样没有受到延迟。
如果输入到输出延迟电路10的输入信号变成了第二信号状态的“L”电平,输入到第一逻辑电路4的另一输入端的输入信号也会变成“L”电平。因此,输入到第一逻辑电路的一个输入端的时钟照原样从它的输出端输出,并且被提供给第二逻辑电路5的一个输入端。另外,当输入信号处在“L”电平时,从比较器2的一致输出端C0输出一个“H”电平的值,并且提供给第二反相器8,后者接着输出反相的电平“L”。这样,由于第二逻辑电路5的另一输入端从第二反相器8接收反相的输入电平“L”,第二逻辑电路把输入其一个输入端的时钟从其输出端上照原样输出,并且提供给计数器1的CK端,从而使计数器1开始对输入时钟执行计数操作。这样,计数器就能从它的Q端向比较器2的A端输出累加的计数。
当比较器2从它的一致输出端向第三逻辑电路6的一个输入端输出一个“H”电平的值时,无论输入到第三逻辑电路6的另一个输入端上的输入信号是“H”还是“L”电平,第三逻辑电路6都把一个代表第一信号状态的“H”电平值作为输出信号输出。换句话说,即使是输入信号从第一信号状态变成了第二信号状态,输出信号仍然保持在第一信号状态。
计数器1按照这种方式连续执行时钟的计数操作,当输入到比较器2的A端的累加计数与输入到比较器2的B端的预定的计数达到一致时,由于A侧信号与B侧信号一致,比较器2就输出一个代表其一致输入端C0上一致的“L”电平值。这样,第二逻辑电路5就在其另一个输入端上从第二反相器8接收反相的电平“H”。因此,无论提供给第二逻辑电路5的一个输入端的输入电平是“H”还是“L”,第二逻辑电路5输出端上的输出值也就是计数器1的CK端的输入值都会变成“H”电平,这样就能停止计数器1的计数操作。
如果按照这种方式来停止计数器1的计数操作,即使是输入到输出延迟电路10的输入信号变成了代表第二信号状态的“L”电平,比较器2的一致输出端C0的输出值也不会改变其“L”电平。因此,输入到第三逻辑电路6的一个输入端的“L”电平的值就会保持。由于代表着第二信号状态的“L”电平值也被提供给第三逻辑电路6的另一个输入端,第三逻辑电路6的两个输入端都接收“L”电平的值。因此,第三逻辑电路6就从它的输出端输出一个“L”电平的输出信号,它代表的信号状态与输入信号相同。换句话说,输入信号被原封不动地当作输出信号从输出端输出,没有受到延迟。
此后,如果输入到输出延迟电路10的输入信号变成了代表第一信号状态的“H”电平,第三逻辑电路6的一个输入端就接收“H”电平的值。这样,无论来自一个输入端的输入电平是“H”还是“L”,第三逻辑电路都会从它的输出端输出“H”电平值的输出信号。也就是说,输入信号被原封不动地当作输出信号从输出端输出,没有受到延迟。
在这种情况下,从第一反相器7向计数器1的R端提供反相的电平“L”,让计数器将至今已经累加的计数值复位,并且重复上述操作。
按照这样的一种输出延迟电路10,计数器1按照第一信号状态的输入信号复位,并且在输入信号处在第二信号状态时对输入的时钟计数。比较器2把计数器的累加计数值与预先设定的预定时钟数相比较。如果累加的计数小于预定的时钟数,第三逻辑电路6就输出一种具有与第一信号状态相同信号状态的输出信号,如果累加的计数达到了预定的时钟数,就输出一个具有与第二信号状态相同信号状态的输出信号。这样,在第二信号状态的输入信号被输入到输出延迟电路以后,直到输出一个具有与第二信号状态相同信号状态的输出信号之前,已经有预定数的时钟被输入到输出延迟电路。换句话说,在经过了对应于预定时钟数的延迟时间之后,输入信号被当作输出信号输出。因此,通过适当地设定上述的预定时钟数,就可以在接收到输入信号以后经过一个需要的延迟时间之后再把输入信号当作输出信号来输出。
当另一个控制信号在输入信号的延迟时间内已经指定了一个存取终点的状态下,作为写入信号的控制信号被输入到存储装置Me,另一个控制信号例如是一个用来指定存取终点(access destination)的CS信号,它可以是和控制信号同时输出的,并且不经过输出延迟电路而直接输入到存储装置Me。这样就能在对存储装置进行写入时防止把数据写入不同的存取终点。
尽管本实施例中的输入信号是从微处理器Mi输出的控制信号用于控制对存储装置Me的存取向其输出的输出信号,本发明并非仅限于此,也可以使用除这种控制信号之外的其他输入信号。
另外,尽管在本实施例中作为控制信号的输入信号是一个写入信号,本发明并非仅限于此,输入信号也可以是用来控制存储装置Me的读出操作的读出信号。在这种情况下,在从存储装置中读出时可以防止从不同的存取终点读出数据。
即使输入信号既不是写入信号也不是读出信号,本发明仍可以获得以下的优点。也就是说,如果存储装置Me需要具有一种用来接收控制信号的状态,以便让微处理器Mi可以用控制信号来控制对存储装置Me的存取,用来形成这种状态的另一个控制信号可以和控制信号同时输出,并且不经过输出延迟电路10而直接输入到存储装置Me。这样,另一个控制信号就可以在控制信号通过输出延迟电路的延迟时间内准备好存储装置的状态,在这种状态准备好之后再把通过输出延迟电路10的控制信号输入到存储装置,以便对存储装置Me执行存取控制。
尽管本实施例中的第一信号状态是“H”电平,而第二信号状态是“L”电平,本发明并非仅限于此,即使是在第一信号状态是“L”电平,而第二信号状态是“H”电平的情况下,本发明仍可以获得相同的技术优点。
尽管本实施例中代表非允许状态的信号状态是“H”电平,而代表允许状态的信号状态是“L”电平,本发明并非仅限于此,即使是在代表非允许状态的信号状态是“L”电平,而代表允许状态的信号状态是“H”电平的情况下,本发明仍可以获得相同的技术优点。
尽管本实施例中的计数器是在每个时钟的上升沿对时钟计数的,本发明并非仅限于此,即使是在每个时钟的下降沿对时钟计数,本发明仍可以获得同样的技术优点。
在本实施例中,尽管与第一信号状态具有相同信号状态的输出信号是在累加的计数达到预定的时钟数时输出的,本发明并非仅限于这种情况。例如,如果用计数器对输入时钟进行连续的计数操作直到被复位时为止,即使是累加的时钟数超过了预定的时钟数,本发明仍可以在累加的时钟数超过预定时钟数时输出一个信号状态与第一信号状态相同的输出信号。
如上所述,本发明的时钟计数装置是按照第一信号状态的输入信号来复位的,并且在输入第二信号状态的输入信号时对输入的时钟连续地计数,从而获得累加的时钟数,比较装置将累加的计数与预先设定的预定时钟数相比较,并且用输出部分在累加的输入时钟数小于预定时钟数时输出一个信号状态与输入信号的第一信号状态相同的输出信号,并且在累加的输入时钟数不小于预定时钟数时输出一个信号状态与输入信号的第二信号状态相同的输出信号。因此,在第二信号状态的输入信号被输入到输出延迟电路之后,一直到输出一个信号状态与第二信号状态相同的输出信号时为止,会出现预定的时钟数。换句话说,输入信号在经过了对应于预定时钟数的延迟时间之后被当作输出信号输出。因此,通过适当地设定上述的预定时钟数,就可以在接收到输入信号以后经过一个必要的延迟时间之后把输入信号当作输出信号来输出。
除了上述情况之外,如果存储装置需要有一个用来接收控制信号的状态,以便微处理器能够用控制信号来控制对存储装置的存取,用来提供这种状态的另一个控制信号可以和控制信号同时输出,并且不通过延迟电路而直接输入给存储装置。这样,另一个控制信号就能在通过输出延迟电路的控制信号的延迟时间内准备好存储装置的状态,以便通过输出延迟电路的控制信号被输入到存储装置时,存储装置的状态已经准备好了,这样就能对存储装置执行存取控制。
除此之外,作为写入信号或是读出信号的控制信号是在另一个控制信号在输入信号的延迟时间内指定了一个存取终点时被输入到存储装置的,另一个控制信号例如可以是用来指定存取终点的一个CS信号,它可以和控制信号同时输出,并且不通过输出延迟电路而直接输入到存储装置。这样就能在对存储装置执行写入时防止把数据写入不同的存取终点,或是在对存储装置执行读出时防止从不同的存取终点上读出数据。