(57)【要約】【課題】外部装置との間でデータを受け渡すためのインタフェース回路であって、クロック信号に同期して動作するインタフェース回路を提供する。【解決手段】インタフェースＬＳＩ１は、制御部２と、ステートマシン制御レジスタ群３とを含む。ステートマシン制御レジスタは、第１〜第５のレジスタ３１〜３５を含む。制御部２は、クロック信号に同期して第１〜第７のステートに循環的に遷移するとともに、クロック信号に同期して外部装置４０に信号を出力し、外部装置４０から信号を受け取る。第１のステートは、アイドルステートであり、第２のステートは、内部の初期化のためのステートであり、第３〜第７のステートは、外部装置４０に信号を出力し外部装置４０から信号を受け取るためのステートである。第３〜第７のステートの時間長は、第１〜第５レジスタ３１に格納されている値によって決定される。【選択図】図１
2007249261.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号に非同期に動作を行う外部装置にデータを出力し及び／又は前記外部装置からデータを受け取るためのインタフェース回路であって、
第１〜第５の値を格納するための第１〜第５のレジスタと、
クロック信号に同期して第１〜第７のステートに循環的に遷移するとともに、クロック信号に同期して前記外部装置に信号を出力し及び／又は前記外部装置から信号を受け取る制御部と、
を具備し、
前記第１のステートが、アイドルステートであり、
前記第２のステートが、内部の初期化及び／又は内部の準備のためのステートであり、
前記第３〜第７のステートが、前記外部装置に制御信号及び／又はアドレス信号を出力し、前記外部装置から制御信号を受け取り、前記メモリに格納されているデータを前記外部装置に出力し、及び／又は、前記外部装置からデータを受け取るためのステートであり、
前記第３〜第７のステートの時間長が、前記第１〜第５の値によってそれぞれ決定されること
を特徴とする、インタフェース回路。
【請求項２】
前記外部装置が、ＰＣ  Ｃａｒｄ  Ｓｔａｎｄａｒｄ（以下、「第１の仕様」という）又はＣＦ＋  ａｎｄ  ＣｏｍｐａｃｔＦｌａｓｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、「第２の仕様」という）を満たすカードであること
を特徴とする、請求項１記載のインタフェース回路。
【請求項３】
前記外部装置へのメモリライトを行う場合に、
前記制御部が、
前記第２のステートから前記第３のステートに遷移したときに、前記第１又は第２の仕様に規定されているＡ［２５：：０］信号、並びに、ＲＥＧ＃、ＣＥ２＃、及び／又は、ＣＥ１＃信号をアサートし、
前記第３のステートから前記第４のステートに遷移したときに、前記第１又は第２の仕様に規定されているＯＥ＃信号をネゲートし、
前記第４のステートから前記第５のステートに遷移したときに、前記第１又は第２の仕様に規定されているＷＥ＃信号をアサートし、
前記第５のステートから前記第６のステートに遷移したときに、前記ＷＥ＃信号をネゲートし、
前記第６のステートから前記第７のステートに遷移したときに、前記ＯＥ＃信号をアサートし、
前記第７のステートから前記第１のステートに遷移したときに、前記Ａ［２５：：０］信号、並びに、前記ＲＥＧ＃信号、前記ＣＥ２＃信号、及び／又は、前記ＣＥ１＃信号をネゲートし、
前記第５及び／又は第６のステートにおいて、データを前記第１又は第２の仕様に規定されているＤ［１５：：０］信号として出力すること
を特徴とする、請求項２記載のインタフェース回路。
【請求項４】
前記Ａ［２５：：０］信号、並びに、前記ＲＥＧ＃信号、前記ＣＥ２＃信号、及び／又は、前記ＣＥ１＃信号がアサートされてから前記ＯＥ＃信号がネゲートされるまでの時間が前記第１又は第２の仕様に規定されているｔｓｕ（Ａ）（ＩＥＥＥ記号ｔＡＶＷＬ）及びｔｓｕ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＷＬ）を満たすこととなるような値が、前記第１のレジスタに格納されており、
前記ＯＥ＃信号がネゲートされてから前記ＷＥ＃信号がアサートされるまでの時間が前記第１又は第２の仕様に規定されているｔｄｉｓ（ＯＥ）（ＩＥＥＥ記号ｔＧＨＱＺ）及びｔｓｕ（ＯＥ−ＷＥ）（ＩＥＥＥ記号ｔＧＨＷＬ）を満たすこととなるような値が、前記第２のレジスタに格納されており、
前記ＷＥ＃信号がアサートされてから前記ＷＥ＃信号がネゲートされるまでの時間が前記第１又は第２の仕様に規定されているｔｄｉｓ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＱＺ）とｔ（Ｄ−ＷＥＨ）（ＩＥＥＥ記号ｔＤＶＷＨ）との和及びｔｗ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＷＨ）を満たすこととなると共に、前記Ａ［２５：：０］信号、並びに、前記ＲＥＧ＃信号、前記ＣＥ２＃信号、及び／又は、前記ＣＥ１＃信号がアサートされてから前記ＷＥ＃信号がネゲートされるまでの時間が第１の仕様のｔｓｕ（Ａ−ＷＥＨ）（ＩＥＥＥ記号ｔＡＶＷＨ）及びｔｓｕ（ＣＥ−ＷＥＨ）（ＩＥＥＥ記号ｔＥＬＷＨ）を満たすこととなるような値が、前記第３のレジスタに格納されており、
前記ＷＥ＃信号がネゲートされてから前記ＯＥ＃信号がアサートされるまでの時間が前記第１又は第２の仕様に規定されているｔｈ（ＯＥ−ＷＥ）（ＩＥＥＥ記号ｔＷＨＧＬ）及びｔｈ（Ｄ）（ＩＥＥＥ記号ｔＷＭＤＸ）を満たすこととなるような値が、前記第４のレジスタに格納されており、
前記ＷＥ＃信号がネゲートされてから前記Ａ［２５：：０］信号、並びに、前記ＲＥＧ＃信号、前記ＣＥ２＃信号、及び／又は、前記ＣＥ１＃信号がネゲートされるまでの時間が前記第１又は第２の仕様に規定されているｔｈ（ＣＥ）（ＩＥＥＥ記号ｔＧＨＥＨ）及びｔｒｅｃ（ＷＥ）（ＩＥＥＥ記号ｔＷＭＡＸ）を満たすこととなるような値が、前記第５のレジスタに格納されていること
を特徴とする、請求項３記載のインタフェース回路。
【請求項５】
前記外部装置からのメモリリードを行う場合に、
前記制御部が、
前記第２のステートから前記第３のステートに遷移したときに、前記第１又は第２の仕様に規定されているＡ［２５：：０］信号、並びに、ＲＥＧ＃、ＣＥ２＃、及び／又は、ＣＥ１＃信号をアサートし、
前記第３のステートから前記第４のステートに遷移したときに、前記第１又は第２の仕様に規定されているＯＥ＃信号をアサートし、
前記第６のステートから前記第７のステートに遷移したときに、前記ＯＥ＃信号をネゲートし、
前記第７のステートから前記第１のステートに遷移したときに、前記Ａ［２５：：０］信号、並びに、前記ＲＥＧ＃信号、前記ＣＥ２＃信号、及び／又は、前記ＣＥ１＃信号をネゲートし、
前記第４、前記第５、及び／又は、前記第６のステートにおいて、前記第１又は第２の仕様に規定されているＤ［１５：：０］信号をデータ信号として受け取ること
を特徴とする、請求項２〜４のいずれか１項に記載のインタフェース回路。
【請求項６】
前記Ａ［２５：：０］信号、並びに、前記ＲＥＧ＃信号、前記ＣＥ２＃信号、及び／又は、前記ＣＥ１＃信号がアサートされてから前記ＯＥ＃信号がアサートされるまでの時間が前記第１又は第２の仕様に規定されているｔｓｕ（Ａ）（ＩＥＥＥ記号ｔＡＶＧＬ）及びｔｓｕ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＧＬ）を満たすこととなるような値が、前記第１のレジスタに格納されており、
前記ＯＥ＃信号がアサートされてから、前記第５のステートから前記第６のステートに遷移するまでの時間が、前記第１又は第２の仕様に規定されているｔａ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＶ）を満たすこととなると共に、前記Ａ［２５：：０］信号、並びに、前記ＲＥＧ＃信号、前記ＣＥ２＃信号、及び／又は、前記ＣＥ１＃信号がアサートされてから、前記第５のステートから前記第６のステートに遷移するまでの時間が、前記第１又は第２の仕様に規定されているｔａ（Ａ）（ＩＥＥＥ記号ｔＡＶＱＶ）及びｔａ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＱＶ）を満たすこととなるような値が、前記第３のレジスタに格納されており、
前記ＯＥ＃信号がネゲートされてから前記Ａ［２５：：０］信号、並びに、前記ＲＥＧ＃信号、前記ＣＥ２＃信号、及び／又は、前記ＣＥ１＃信号がネゲートされるまで時間が前記第１又は第２の仕様のｔｈ（Ａ）（ＩＥＥＥ記号ｔＧＨＡＸ）及びｔｈ（ＣＥ）（ＩＥＥＥ記号ｔＧＨＥＨ）を満たすこととなるような値が、前記第５のレジスタに格納されていること
を特徴とする、請求項５記載のインタフェース回路。
【請求項７】
前記外部装置からのアトリビュートメモリリードを行う場合に、
前記ＯＥ＃信号がアサートされてから、前記第４のステートから前記第５のステートに遷移するときまでの時間が、前記第１又は第２の仕様のｔｅｎ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＮＺ）を満たすこととなるような値が、前記第２のレジスタに格納されていること
を特徴とする、請求項６記載のインタフェース回路。
【請求項８】
前記外部装置へのＩ／Ｏライトを行う場合に、
前記制御部が、
前記第２のステートから前記第３のステートに遷移したときに、前記第１又は第２の仕様に規定されているＡ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号をアサートし、
前記第３のステートから前記第４のステートに遷移したときに、前記第１又は第２の仕様に規定されているＩＯＷＲ＃信号をアサートし、
前記第５のステートから前記第６のステートに遷移したときに、前記ＩＯＷＲ＃信号をネゲートし、
前記第７のステートから前記第１のステートに遷移したときに、前記Ａ［２５：：０］信号、前記ＲＥＧ＃信号、並びに、前記ＣＥ２＃及び／又は前記ＣＥ１＃信号をネゲートし、
前記第５及び／又は第６のステートにおいて、前記第１又は第２の仕様に規定されているＤ［１５：：０］信号としてデータを出力すること
を特徴とする、請求項２〜７のいずれか１項に記載のインタフェース回路。
【請求項９】
前記Ａ［２５：：０］信号、前記ＲＥＧ＃信号、並びに、前記ＣＥ２＃及び／又は前記ＣＥ１＃信号がアサートされてから前記ＩＯＷＲ＃信号がアサートされるまでの時間が前記第１又は第２の仕様のｔｓｕＡ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＡＶＩＷＬ）、ｔｓｕＲＥＧ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＲＧＬＩＷＬ）、及び、ｔｓｕＣＥ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＥＬＩＷＬ）を満たすこととなるような値が、前記第１のレジスタに格納されており、
前記第４のステートから前記第５のステートに遷移してから、前記ＩＯＷＲ＃信号がネゲートされるまでの時間が、前記第１又は第２の仕様のｔｓｕ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＤＶＩＷＬ）を満たすこととなると共に、前記ＩＯＷＲ＃信号がアサートされてから前記ＩＯＷＲ＃信号がネゲートされるまでの時間が前記第１又は第２の仕様のｔｗ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＬＩＷＨ）を満たすこととなるような値が、前記第３のレジスタに格納されており、
前記ＩＯＷＲ＃信号がアサートされてから、前記第６のステートから前記第７のステートに遷移するときまでの時間が、前記第１又は第２の仕様のｔｈ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＤＸ）を満たすこととなるような値が、前記第４のレジスタに格納されており、
前記ＩＯＷＲ＃信号がアサートされてから前記Ａ［２５：：０］信号、前記ＲＥＧ＃信号、並びに、前記ＣＥ２＃及び／又は前記ＣＥ１＃信号がネゲートされるまでの時間が前記第１又は第２の仕様のｔｈＡ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＡＸ）、ｔｈＲＥＧ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＲＧＨ）、及び、ｔｈＣＥ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＥＨ）を満たすこととなるような値が、前記第５のレジスタに格納されていること
を特徴とする、請求項８記載のインタフェース回路。
【請求項１０】
前記外部装置からのＩ／Ｏリードを行う場合に、
前記制御部が、
前記第２のステートから前記第３のステートに遷移したときに、前記第１又は第２の仕様に規定されているＡ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号をアサートし、
前記第３のステートから前記第４のステートに遷移したときに、前記第１又は第２の仕様に規定されているＩＯＲＤ＃信号をアサートし、
前記第５のステートから前記第６のステートに遷移したときに、前記ＩＯＲＤ＃信号をネゲートし、
前記第７のステートから前記第１のステートに遷移したときに、前記Ａ［２５：：０］信号、前記ＲＥＧ＃信号、並びに、前記ＣＥ２＃及び／又は前記ＣＥ１＃信号をネゲートし、
前記第５、前記第６、及び／又は、前記第７のステートにおいて、前記第１又は第２の仕様に規定されているＤ［１５：：０］信号をデータ信号として受け取ること
を特徴とする、請求項２〜７のいずれか１項に記載のインタフェース回路。
【請求項１１】
前記Ａ［２５：：０］信号、前記ＲＥＧ＃信号、並びに、前記ＣＥ２＃及び／又は前記ＣＥ１＃信号がアサートされてから前記ＩＯＲＤ＃信号がアサートされるまでの時間が前記第１又は第２の仕様のｔｓｕＡ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＡＶＩＧＬ）、ｔｓｕＲＥＧ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＲＧＬＩＧＬ）、及び、ｔｓｕＣＥ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＥＬＩＧＬ）を満たすこととなるような値が、前記第１のレジスタに格納されており、
前記ＩＯＲＤ＃信号がアサートされてから前記ＩＯＲＤ＃信号がネゲートされるまでの時間が前記第１又は第２の仕様のｔｗ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＬＩＧＨ）を満たすこととなるような値が、前記第３のレジスタに格納されており、
前記ＩＯＲＤ＃信号がネゲートされてから、前記第６のステートから前記第７のステートに遷移するときまでの時間が、前記第１又は第２の仕様のｔｈ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＱＸ）を満たすこととなるような値が、前記第４のレジスタに格納されており、
前記ＩＯＲＤ＃信号がネゲートされてから前記Ａ［２５：：０］信号、前記ＲＥＧ＃信号、並びに、前記ＣＥ２＃及び／又は前記ＣＥ１＃信号がネゲートされるまでの時間が前記第１又は第２の仕様のｔｈＡ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＡＸ）、ｔｈＲＥＧ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＲＧＨ）、及び、ｔｈＣＥ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＥＨ）を満たすこととなるような値が、前記第５のレジスタに格納されていること
を特徴とする、請求項１０記載のインタフェース回路。
【請求項１２】
前記制御部が、
前記第４又は第５のステートにおいて前記外部装置から前記第１又は第２の仕様に規定されているＷＡＩＴ＃信号がアサートされている場合に、前記第５のステートを継続すること
を特徴とする、請求項２〜１１記載のインタフェース回路。
【請求項１３】
請求項１〜１２のいずれか１項に記載のインタフェース回路を具備する半導体集積回路。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、外部装置にデータを出力し、外部装置からデータを受け取るためのインタフェース回路に関する。さらに、本発明は、そのようなインタフェース回路を具備する半導体集積回路に関する。
【背景技術】
【０００２】
現在、パーソナルコンピュータ、ＰＤＡ（携帯情報端末）、ディジタルスチルカメラ、カーナビゲーション装置、携帯電話装置等の周辺装置として、ＰＣカード（商標）やコンパクトフラッシュ（登録商標）カードが広く利用されている。
【０００３】
ＰＣカード（商標）の仕様は、社団法人  電子情報技術産業協会（ＪＥＩＴＡ）と米国のＰＣＭＣＩＡ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ  Ｍｅｍｏｒｙ  Ｃａｒｄ  Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ａｓｓｏｃｉａｔｉｏｎ）とによって策定されている。現在、ＰＣカード（商標）の最新の仕様は、ＰＣ  Ｃａｒｄ  Ｓｔａｎｄａｒｄ  Ｒｅｌｅａｓｅ  ８．１（以下、「第１の仕様」という）である。
【０００４】
コンパクトフラッシュ（登録商標）カードは、米国ＳａｎＤｉｓｋ社によって提唱され、その仕様は米国のＣｏｍｐａｃｔＦｌａｓｈ  Ａｓｓｏｃｉａｔｉｏｎによって策定されている。現在、コンパクトフラッシュ（登録商標）カードの最新の仕様は、ＣＦ＋  ａｎｄ  ＣｏｍｐａｃｔＦｌａｓｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ  Ｒｅｖｉｓｉｏｎ  ３．０（以下、「第２の仕様」という）である。
【０００５】
パーソナルコンピュータ等とＰＣカード（商標）又はコンパクトフラッシュ（登録商標）カードとの間の信号の送受信のタイミング（以下、「信号送受信タイミング」という）は、クロック信号に非同期であるものとして規定されている。具体的には、第１及び第２の仕様において、信号送受信タイミングは、送受信される信号相互間の時間の最大値及び／又は最小値によって規定されている。
【０００６】
パーソナルコンピュータ等に内蔵されてＰＣカード（商標）又はコンパクトフラッシュ（登録商標）カードとの間の信号の送受信を行うためのインタフェース回路は、１つのクロック信号に同期して動作する同期回路であることが望ましい。しかしながら、信号送受信タイミングが非同期で規定されているため、インタフェース回路を同期回路とすることが困難であった。また、信号送受信タイミングとして非常に多くの値が規定されているため、回路構成が非常に複雑になってしまうという問題があった。また、ＰＣカード（商標）の仕様やコンパクトフラッシュ（登録商標）カードの仕様は適宜更新される。仕様更新に対応するためにはインタフェース回路を設計変更する必要があるが、設計変更は容易ではない。
【０００７】
なお、関連する技術として、下記の特許文献１には、ターゲットボードの動作を検証するためのデータを、ターゲットボードに供給するメモリエミュレーション装置であって、ランダムアクセス可能な記憶手段と、クロック信号に同期して記憶手段に記憶されているデータをバースト読出する同期バースト読出モードに対応した信号を出力する第１の信号出力手段と、クロック信号に非同期で記憶手段に記憶されているデータをページ読出する非同期ページ読出モードに対応した信号を出力する第２の信号出力手段と、第１及び第２の信号出力手段のいずれかから出力された信号を選択して記憶手段に供給することにより、記憶手段に記憶されているデータを読み出してターゲットボードに供給する選択供給手段とを備えることを特徴とするメモリエミュレーション装置が掲載されている。
このメモリエミュレーション装置によれば、記憶手段からの同期読み出しと非同期読み出しを選択して行うことができる。
【０００８】
【特許文献１】特開２００２−３１２１９１号公報（第１頁、図１）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
そこで、上記の点に鑑み、本発明は、クロック信号に同期して動作し、回路構成が簡易であり、外部装置の仕様更新があっても容易に対応可能なインタフェース回路を提供することを目的とする。また、本発明はそのようなインタフェース回路を具備する半導体集積回路を提供することを更なる目的とする。
【課題を解決するための手段】
【００１０】
以上の課題を解決するため、本発明に係るインタフェース回路は、クロック信号に非同期に動作を行う外部装置にデータを出力し及び／又は外部装置からデータを受け取るためのインタフェース回路であって、第１〜第５の値を格納するための第１〜第５のレジスタと、クロック信号に同期して第１〜第７のステートに循環的に遷移するとともに、クロック信号に同期して外部装置に信号を出力し及び／又は外部装置から信号を受け取る制御部と、を具備し、第１のステートが、アイドルステートであり、第２のステートが、内部の初期化及び／又は内部の準備のためのステートであり、第３〜第７のステートが、外部装置に制御信号及び／又はアドレス信号を出力し、外部装置から制御信号を受け取り、メモリに格納されているデータを外部装置に出力し、及び／又は、外部装置からデータを受け取るためのステートであり、第３〜第７のステートの時間長が、第１〜第５の値によってそれぞれ決定されることを特徴とする。
【００１１】
ここで、外部装置が、ＰＣ  Ｃａｒｄ  Ｓｔａｎｄａｒｄ（以下、「第１の仕様」という）又はＣＦ＋  ａｎｄ  ＣｏｍｐａｃｔＦｌａｓｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、「第２の仕様」という）を満たすカードであることとしても良い。
【００１２】
また、外部装置へのメモリライトを行う場合に、制御部が、第２のステートから第３のステートに遷移したときに、第１又は第２の仕様に規定されているＡ［２５：：０］信号、並びに、ＲＥＧ＃、ＣＥ２＃、及び／又は、ＣＥ１＃信号をアサートし、第３のステートから第４のステートに遷移したときに、第１又は第２の仕様に規定されているＯＥ＃信号をネゲートし、第４のステートから第５のステートに遷移したときに、第１又は第２の仕様に規定されているＷＥ＃信号をアサートし、第５のステートから第６のステートに遷移したときに、ＷＥ＃信号をネゲートし、第６のステートから第７のステートに遷移したときに、ＯＥ＃信号をアサートし、第７のステートから第１のステートに遷移したときに、Ａ［２５：：０］信号、並びに、ＲＥＧ＃信号、ＣＥ２＃信号、及び／又は、ＣＥ１＃信号をネゲートし、第５及び／又は第６のステートにおいて、データを第１又は第２の仕様に規定されているＤ［１５：：０］信号として出力することとしても良い。
【００１３】
また、Ａ［２５：：０］信号、並びに、ＲＥＧ＃信号、ＣＥ２＃信号、及び／又は、ＣＥ１＃信号がアサートされてからＯＥ＃信号がネゲートされるまでの時間が第１又は第２の仕様に規定されているｔｓｕ（Ａ）（ＩＥＥＥ記号ｔＡＶＷＬ）及びｔｓｕ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＷＬ）を満たすこととなるような値が、第１のレジスタに格納されており、ＯＥ＃信号がネゲートされてからＷＥ＃信号がアサートされるまでの時間が第１又は第２の仕様に規定されているｔｄｉｓ（ＯＥ）（ＩＥＥＥ記号ｔＧＨＱＺ）及びｔｓｕ（ＯＥ−ＷＥ）（ＩＥＥＥ記号ｔＧＨＷＬ）を満たすこととなるような値が、第２のレジスタに格納されており、ＷＥ＃信号がアサートされてからＷＥ＃信号がネゲートされるまでの時間が第１又は第２の仕様に規定されているｔｄｉｓ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＱＺ）とｔ（Ｄ−ＷＥＨ）（ＩＥＥＥ記号ｔＤＶＷＨ）との和及びｔｗ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＷＨ）を満たすこととなると共に、Ａ［２５：：０］信号、並びに、ＲＥＧ＃信号、ＣＥ２＃信号、及び／又は、ＣＥ１＃信号がアサートされてからＷＥ＃信号がネゲートされるまでの時間が第１の仕様のｔｓｕ（Ａ−ＷＥＨ）（ＩＥＥＥ記号ｔＡＶＷＨ）及びｔｓｕ（ＣＥ−ＷＥＨ）（ＩＥＥＥ記号ｔＥＬＷＨ）を満たすこととなるような値が、第３のレジスタに格納されており、ＷＥ＃信号がネゲートされてからＯＥ＃信号がアサートされるまでの時間が第１又は第２の仕様に規定されているｔｈ（ＯＥ−ＷＥ）（ＩＥＥＥ記号ｔＷＨＧＬ）及びｔｈ（Ｄ）（ＩＥＥＥ記号ｔＷＭＤＸ）を満たすこととなるような値が、第４のレジスタに格納されており、ＷＥ＃信号がネゲートされてからＡ［２５：：０］信号、並びに、ＲＥＧ＃信号、ＣＥ２＃信号、及び／又は、ＣＥ１＃信号がネゲートされるまでの時間が第１又は第２の仕様に規定されているｔｈ（ＣＥ）（ＩＥＥＥ記号ｔＧＨＥＨ）及びｔｒｅｃ（ＷＥ）（ＩＥＥＥ記号ｔＷＭＡＸ）を満たすこととなるような値が、第５のレジスタに格納されていることとしても良い。
【００１４】
また、外部装置からのメモリリードを行う場合に、制御部が、第２のステートから第３のステートに遷移したときに、第１又は第２の仕様に規定されているＡ［２５：：０］信号、並びに、ＲＥＧ＃、ＣＥ２＃、及び／又は、ＣＥ１＃信号をアサートし、第３のステートから第４のステートに遷移したときに、第１又は第２の仕様に規定されているＯＥ＃信号をアサートし、第６のステートから第７のステートに遷移したときに、ＯＥ＃信号をネゲートし、第７のステートから第１のステートに遷移したときに、Ａ［２５：：０］信号、並びに、ＲＥＧ＃信号、ＣＥ２＃信号、及び／又は、ＣＥ１＃信号をネゲートし、第４、第５、及び／又は、第６のステートにおいて、第１又は第２の仕様に規定されているＤ［１５：：０］信号をデータ信号として受け取ることとしても良い。
【００１５】
また、Ａ［２５：：０］信号、並びに、ＲＥＧ＃信号、ＣＥ２＃信号、及び／又は、ＣＥ１＃信号がアサートされてからＯＥ＃信号がアサートされるまでの時間が第１又は第２の仕様に規定されているｔｓｕ（Ａ）（ＩＥＥＥ記号ｔＡＶＧＬ）及びｔｓｕ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＧＬ）を満たすこととなるような値が、第１のレジスタに格納されており、ＯＥ＃信号がアサートされてから、第５のステートから第６のステートに遷移するまでの時間が、第１又は第２の仕様に規定されているｔａ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＶ）を満たすこととなると共に、Ａ［２５：：０］信号、並びに、ＲＥＧ＃信号、ＣＥ２＃信号、及び／又は、ＣＥ１＃信号がアサートされてから、第５のステートから第６のステートに遷移するまでの時間が、第１又は第２の仕様に規定されているｔａ（Ａ）（ＩＥＥＥ記号ｔＡＶＱＶ）及びｔａ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＱＶ）を満たすこととなるような値が、第３のレジスタに格納されており、ＯＥ＃信号がネゲートされてからＡ［２５：：０］信号、並びに、ＲＥＧ＃信号、ＣＥ２＃信号、及び／又は、ＣＥ１＃信号がネゲートされるまで時間が第１又は第２の仕様のｔｈ（Ａ）（ＩＥＥＥ記号ｔＧＨＡＸ）及びｔｈ（ＣＥ）（ＩＥＥＥ記号ｔＧＨＥＨ）を満たすこととなるような値が、第５のレジスタに格納されていることとしても良い。
【００１６】
また、外部装置からのアトリビュートメモリリードを行う場合に、ＯＥ＃信号がアサートされてから、第４のステートから第５のステートに遷移するときまでの時間が、第１又は第２の仕様のｔｅｎ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＮＺ）を満たすこととなるような値が、第２のレジスタに格納されていることとしても良い。
【００１７】
また、外部装置へのＩ／Ｏライトを行う場合に、制御部が、第２のステートから第３のステートに遷移したときに、第１又は第２の仕様に規定されているＡ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号をアサートし、第３のステートから第４のステートに遷移したときに、第１又は第２の仕様に規定されているＩＯＷＲ＃信号をアサートし、第５のステートから第６のステートに遷移したときに、ＩＯＷＲ＃信号をネゲートし、第７のステートから第１のステートに遷移したときに、Ａ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号をネゲートし、第５及び／又は第６のステートにおいて、第１又は第２の仕様に規定されているＤ［１５：：０］信号としてデータを出力することとしても良い。
【００１８】
また、Ａ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号がアサートされてからＩＯＷＲ＃信号がアサートされるまでの時間が第１又は第２の仕様のｔｓｕＡ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＡＶＩＷＬ）、ｔｓｕＲＥＧ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＲＧＬＩＷＬ）、及び、ｔｓｕＣＥ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＥＬＩＷＬ）を満たすこととなるような値が、第１のレジスタに格納されており、第４のステートから第５のステートに遷移してから、ＩＯＷＲ＃信号がネゲートされるまでの時間が、第１又は第２の仕様のｔｓｕ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＤＶＩＷＬ）を満たすこととなると共に、ＩＯＷＲ＃信号がアサートされてからＩＯＷＲ＃信号がネゲートされるまでの時間が第１又は第２の仕様のｔｗ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＬＩＷＨ）を満たすこととなるような値が、第３のレジスタに格納されており、ＩＯＷＲ＃信号がアサートされてから、第６のステートから第７のステートに遷移するときまでの時間が、第１又は第２の仕様のｔｈ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＤＸ）を満たすこととなるような値が、第４のレジスタに格納されており、ＩＯＷＲ＃信号がアサートされてからＡ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号がネゲートされるまでの時間が第１又は第２の仕様のｔｈＡ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＡＸ）、ｔｈＲＥＧ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＲＧＨ）、及び、ｔｈＣＥ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＥＨ）を満たすこととなるような値が、第５のレジスタに格納されていることとしても良い。
【００１９】
また、外部装置からのＩ／Ｏリードを行う場合に、制御部が、第２のステートから第３のステートに遷移したときに、第１又は第２の仕様に規定されているＡ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号をアサートし、第３のステートから第４のステートに遷移したときに、第１又は第２の仕様に規定されているＩＯＲＤ＃信号をアサートし、第５のステートから第６のステートに遷移したときに、ＩＯＲＤ＃信号をネゲートし、第７のステートから第１のステートに遷移したときに、Ａ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号をネゲートし、第５、第６、及び／又は、第７のステートにおいて、第１又は第２の仕様に規定されているＤ［１５：：０］信号をデータ信号として受け取ることとしても良い。
【００２０】
また、Ａ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号がアサートされてからＩＯＲＤ＃信号がアサートされるまでの時間が第１又は第２の仕様のｔｓｕＡ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＡＶＩＧＬ）、ｔｓｕＲＥＧ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＲＧＬＩＧＬ）、及び、ｔｓｕＣＥ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＥＬＩＧＬ）を満たすこととなるような値が、第１のレジスタに格納されており、ＩＯＲＤ＃信号がアサートされてからＩＯＲＤ＃信号がネゲートされるまでの時間が第１又は第２の仕様のｔｗ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＬＩＧＨ）を満たすこととなるような値が、第３のレジスタに格納されており、ＩＯＲＤ＃信号がネゲートされてから、第６のステートから第７のステートに遷移するときまでの時間が、第１又は第２の仕様のｔｈ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＱＸ）を満たすこととなるような値が、第４のレジスタに格納されており、ＩＯＲＤ＃信号がネゲートされてからＡ［２５：：０］信号、ＲＥＧ＃信号、並びに、ＣＥ２＃及び／又はＣＥ１＃信号がネゲートされるまでの時間が第１又は第２の仕様のｔｈＡ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＡＸ）、ｔｈＲＥＧ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＲＧＨ）、及び、ｔｈＣＥ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＥＨ）を満たすこととなるような値が、第５のレジスタに格納されていることとしても良い。
【００２１】
また、制御部が、第４又は第５のステートにおいて外部装置から第１又は第２の仕様に規定されているＷＡＩＴ＃信号がアサートされている場合に、第５のステートを継続することとしても良い。
【００２２】
また、本発明に係る半導体集積回路は、上記したインタフェース回路を具備する。
【発明を実施するための最良の形態】
【００２３】
以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素については、同一の参照番号で示している。
図１は、本発明の一実施形態としてのインタフェースＬＳＩの概要を示す図である。本実施形態は、本発明をインタフェースＬＳＩに適用したものである。このインタフェースＬＳＩは、パーソナルコンピュータ等に搭載され、外部装置４０との間のデータの送受信を行う。ここでは、外部装置４０は、ＰＣ  Ｃａｒｄ  Ｓｔａｎｄａｒｄ  Ｒｅｌｅａｓｅ  ８．１（以下、「第１の仕様」という）を満たすＰＣカード（商標）であるものとする。
【００２４】
図１に示すように、このインタフェースＬＳＩ１は、制御部２と、ステートマシン制御レジスタ群３と、外部装置コンフィギュレーションレジスタ群４と、メモリ５とを含んでいる。制御部２は、タイマ部２１と、ステートマシン部２２と、信号入出力部２３とを含んでいる。
【００２５】
タイマ部２１は、クロック信号（インタフェースＬＳＩ１外部から供給されることとしても良いし、インタフェースＬＳＩ１内部で生成されることとしても良い）をカウントするカウンタである。
ステートマシン部２２は、クロック信号に同期して状態遷移する順序回路である。
【００２６】
信号入出力部２３には、ステートマシン部２２のステートを表す値が供給されており、信号入出力部２３は、ステートマシン部２２のステートを表す値に応じて、外部装置（ＰＣカード（商標））４０に制御信号、アドレス信号、データ信号を出力し、外部装置（ＰＣカード（商標））４０から制御信号、データを受け取る。信号入出力部２３は、入力バッファ、出力バッファ、及び／又は、入出力バッファと論理回路（組合せ回路及び／又は順序回路）とで構成可能である。
【００２７】
例えば、図２に示す出力回路で、１本の信号を外部装置（ＰＣカード（商標））４０に出力することが可能である。この出力回路は、論理回路Ｌ１と、セレクタＳ１と、Ｄ型フリップフロップＦＦ１と、出力バッファＢ１とを含んでいる。論理回路Ｌ１は、ステートを表す値に応じて、選択信号をセレクタＳ１に出力する。セレクタＳ１は、選択信号に応じて、ハイレベル（ここでは、高電位側の電源電位ＶＤＤ）、ローレベル（ここでは、低電位側の電源電位ＶＳＳ）、又は、フリップフロップＦＦ１の出力値を選択する。フリップフロップＦＦ１は、クロック信号に同期して、セレクタＳ１の出力値を保持し、出力バッファＢ１は、フリップフロップの出力値を外部装置（ＰＣカード（商標））４０に出力する。同じようにして、入力回路、入出力回路は、入力バッファ又は入出力バッファと論理回路とで構成可能である。このような出力回路、入力回路、入出力回路を信号の数だけ配列することで、信号入出力部２３を構成可能である。
【００２８】
再び図１を参照すると、ステートマシン制御レジスタ群３は、第１レジスタ（本実施形態においては、レジスタ名「ＳＥＴＵＰ」とする）３１と、第２レジスタ（本実施形態においては、レジスタ名「ＷＡＩＴ」とする）３２と、第３レジスタ（本実施形態においては、レジスタ名「ＷＩＤＴＨ」とする）３３と、第４レジスタ（本実施形態においては、レジスタ名「ＤＥＬＡＹ」とする）３４と、第５レジスタ（本実施形態においては、レジスタ名「ＨＯＬＤ」とする）３５とを含んでいる。第１〜第５レジスタ３１〜３５には、ＣＰＵによって値が書き込まれる。本実施形態においては、第１レジスタ３１に格納される値を「ＳＥＴＵＰ＿ＬＩＭＩＴ」とし、第２レジスタ３２に格納される値を「ＷＡＩＴ＿ＬＩＭＩＴ」とし、第３レジスタ３３に格納される値を「ＷＩＤＴＨ＿ＬＩＭＩＴ」とし、第４レジスタ３４に格納される値を「ＤＥＬＡＹ＿ＬＩＭＩＴ」とし、第５レジスタ３５に格納される値を「ＨＯＬＤ＿ＬＩＭＩＴ」とする。
【００２９】
外部装置コンフィギュレーションレジスタ群４は、複数のレジスタを含んでおり、これらのレジスタには、ＣＰＵによって値が書き込まれる。これらのレジスタの値は、アトリビュートメモリライト動作によって、外部装置（ＰＣカード（商標））４０のアトリビュートメモリ領域内のコンフィギュレーションレジスタに書き込まれる。
メモリ５は、外部装置（ＰＣカード（商標））４０のコモンメモリ領域に書き込むためのデータ、及び外部装置（ＰＣカード（商標））４０から読み出したデータを格納するためのＲＡＭである。
【００３０】
図３は、ステートマシン部２２の状態遷移図である。図３に示すように、ステートマシン部２２は、第１ステート（本実施形態においては、「Ｉｄｌｅステート」ともいう）、第２ステート（本実施形態においては、「Ｓｔａｒｔｕｐステート」ともいう）、第３ステート（本実施形態においては、「Ｓｅｔｕｐステート」ともいう）、第４ステート（本実施形態においては、「Ｗａｉｔステート」ともいう）、第５ステート（本実施形態においては、「Ｗｉｄｔｈステート」ともいう）、第６ステート（本実施形態においては、「Ｄｅｌａｙステート」ともいう）、第７ステート（本実施形態においては、「Ｈｏｌｄステート」ともいう）に循環的に遷移する。本実施形態においては、第１ステートは、アイドルステートであり、第２ステートは、インタフェースＬＳＩ１内部の初期化又は内部の準備のためのステートであり、第３〜第７ステートが、外部装置（ＰＣカード（商標））４０に制御信号、アドレス信号、データ信号を出力し、外部装置（ＰＣカード（商標））４０から制御信号、データを受け取るためのステートである。
【００３１】
次に、インタフェースＬＳＩ１の動作について説明する。まず、インタフェースＬＳＩ１のメモリ（コモンメモリ及びアトリビュートメモリ）書き込み動作について説明する。
図４は、インタフェースＬＳＩ１のメモリ（コモンメモリ及びアトリビュートメモリ）書き込み動作のタイミングチャートである。
【００３２】
ステートマシン部２２は、アクティブローのリセット信号（例えば、ＣＰＵから供給されることとしても良い）がアサートされるとリセットされ、リセット信号がネゲートされたとき、第１ステート（Ｉｄｌｅステート）になる。
【００３３】
ステートマシン部２２は、第２ステートに遷移するための条件（以下、「起動条件」という）が未成立の間、第１ステート（Ｉｄｌｅステート）を維持し、起動条件が成立すると、第２ステート（Ｓｔａｒｔｕｐステート）に遷移する。起動条件としては、種々の実装が可能である。例えば、ＣＰＵが、外部装置（ＰＣカード（商標））４０に書き込むためのデータをメモリ５に書き込み、さらに、その後、ＣＰＵが、起動信号をステートマシン部２２に出力することとしても良い。また、ＣＰＵが、外部装置（ＰＣカード（商標））４０に書き込むためのデータをメモリ５に書き込み、ステートマシン部２２が、データがメモリ５に書き込まれたことを検知することとしても良い。
【００３４】
時刻ｔ１において、ステートマシン部２２が第２ステート（Ｓｔａｒｔｕｐステート）に遷移すると、インタフェースＬＳＩ１内部の初期化又は内部の準備が開始される。ステートマシン部２２は、内部の初期化又は内部の準備が完了するまで、第２ステート（Ｓｔａｒｔｕｐステート）を維持する。なお、ステートマシン部２２は、第２ステート（Ｓｔａｒｔｕｐステート）を維持している間にクリア信号（ＣＰＵから供給されても良いし、インタフェースＬＳＩ１内部で生成されても良い）がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００３５】
ステートマシン部２２は、内部の初期化又は内部の準備が完了すると、時刻ｔ２において、第２ステート（Ｓｔａｒｔｕｐステート）から第３ステート（Ｓｅｔｕｐステート）に遷移する。ステートマシン部２２は、第２ステート（Ｓｔａｒｔｕｐステート）から第３ステート（Ｓｅｔｕｐステート）に遷移するときに、タイマ部２１にカウントを開始させる。
【００３６】
ステートマシン部２２が第３ステート（Ｓｅｔｕｐステート）に遷移すると、信号入出力部２３は、第１の仕様に規定されているアドレス信号Ａ［２５：：０］を外部装置（ＰＣカード（商標））４０に出力するとともに、第１の仕様に規定されている制御信号ＣＥ２＃及びＣＥ１＃をアサートする（ここでは、１６ビットアクセスを行うものとする）。信号入出力部２３は、アトリビュートメモリライトの場合、さらに第１の仕様に規定されている制御信号ＲＥＧ＃をもアサートする。なお、信号入出力部２３が外部装置（ＰＣカード（商標））４０に出力するアドレスの値は、ＣＰＵからメモリ５内にデータと共に書き込まれていることとしても良い。また、メモリ５のアドレスと外部装置（ＰＣカード（商標））４０のアドレスとが対応づけられていることとし、信号入出力部２３が、データが書き込まれたメモリ５のアドレスに対応づけられている外部装置（ＰＣカード（商標））４０のアドレスを外部装置（ＰＣカード（商標））４０に出力することとしても良い。
【００３７】
ステートマシン部２２は、タイマ部２１のカウント値が第１レジスタ（ＳＥＴＵＰレジスタ）３１内に格納されている値（ＳＥＴＵＰ＿ＬＩＭＩＴ）に等しくなるまで、第３ステート（Ｓｅｔｕｐステート）を維持する。なお、ステートマシン部２２は、第３ステート（Ｓｅｔｕｐステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００３８】
ステートマシン部２２は、タイマ部２１のカウント値が第１レジスタ３１内に格納されている値（ＳＥＴＵＰ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ３において、第３ステート（Ｓｅｔｕｐステート）から第４ステート（Ｗａｉｔステート）に遷移する。ステートマシン部２２は、第３ステート（Ｓｅｔｕｐステート）から第４ステート（Ｗａｉｔステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００３９】
ステートマシン部２２が第４ステート（Ｗａｉｔステート）に遷移すると、信号入出力部２３は、第１の仕様に規定されている制御信号ＯＥ＃をネゲートする。なお、時刻ｔ３までの間、制御信号ＯＥ＃はアサートされていても良いしネゲートされていても良い。
【００４０】
このように、時刻ｔ２〜ｔ３の時間は、第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されているＳＥＴＵＰ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ２〜ｔ３の時間が第１の仕様のｔｓｕ（Ａ）（ＩＥＥＥ記号ｔＡＶＷＬ）及びｔｓｕ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＷＬ）を満たすこととなるような値が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されていれば良い。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓである場合、ｔｓｕ（Ａ）（ＩＥＥＥ記号ｔＡＶＷＬ）は、最小５０ｎｓであり、ｔｓｕ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＷＬ）は、最小０ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「１」以上の値がＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されていれば良い。このメモリライト動作と後に説明するメモリ（コモンメモリ及びアトリビュートメモリ）リード動作とで共通のＳＥＴＵＰ＿ＬＩＭＩＴ値を利用できれば便利である。そこで、後に説明するメモリリード動作時の第３ステート（Ｓｅｔｕｐステート）の時間長を考慮して、「３」が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されているものとする。このとき、時刻ｔ２〜ｔ３の時間は、１２０ｎｓとなる。第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されるＳＥＴＵＰ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００４１】
ステートマシン部２２は、タイマ部２１のカウント値が第２レジスタ（ＷＡＩＴレジスタ）３２内に格納されている値（ＷＡＩＴ＿ＬＩＭＩＴ）に等しくなるまで、第４ステート（Ｗａｉｔステート）を維持する。なお、ステートマシン部２２は、第４ステート（Ｗａｉｔステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００４２】
ステートマシン部２２は、タイマ部２１のカウント値が第２レジスタ（ＷＡＩＴレジスタ）３２内に格納されている値（ＷＡＩＴ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ４において、第４ステート（Ｗａｉｔステート）から第５ステート（Ｗｉｄｔｈステート）に遷移する。ステートマシン部２２は、第４ステート（Ｗａｉｔステート）から第５ステート（Ｗｉｄｔｈステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００４３】
ステートマシン部２２が第５ステート（Ｗｉｄｔｈステート）に遷移すると、信号入出力部２３は、第１の仕様に規定されている制御信号ＷＥ＃をアサートする。
【００４４】
このように、時刻ｔ３〜ｔ４の時間は、第２レジスタ（ＷＡＩＴレジスタ）３２に格納されているＷＡＩＴ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ３〜ｔ４の時間が第１の仕様のｔｄｉｓ（ＯＥ）（ＩＥＥＥ記号ｔＧＨＱＺ）及びｔｓｕ（ＯＥ−ＷＥ）（ＩＥＥＥ記号ｔＧＨＷＬ）を満たすこととなるような値が、ＷＡＩＴ＿ＬＩＭＩＴとして第２レジスタ（ＷＡＩＴレジスタ）３２に格納されていれば良い。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓである場合、ｔｄｉｓ（ＯＥ）（ＩＥＥＥ記号ｔＧＨＱＺ）は、最大１５０ｎｓであり、ｔｓｕ（ＯＥ−ＷＥ）（ＩＥＥＥ記号ｔＧＨＷＬ）は、最小３５ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「１」以上「３」以下の値が、ＷＡＩＴ＿ＬＩＭＩＴとして第２レジスタ（ＷＡＩＴレジスタ）３２に格納されていれば良い。ここでは、「３」が、ＷＡＩＴ＿ＬＩＭＩＴとして第２レジスタ（ＷＡＩＴレジスタ）３２に格納されているものとする。このとき、時刻ｔ３〜ｔ４の時間は、１２０ｎｓとなる。第２レジスタ（ＷＡＩＴレジスタ）３２に格納されるＷＡＩＴ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００４５】
ステートマシン部２２は、タイマ部２１のカウント値が第３レジスタ（ＷＩＤＴＨレジスタ）３３内に格納されている値（ＷＩＤＴＨ＿ＬＩＭＩＴ）に等しくなるまで、第５ステート（Ｗｉｄｔｈステート）を維持する。なお、ステートマシン部２２は、第５ステート（Ｗｉｄｔｈステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００４６】
また、ステートマシン部２２は、第１の仕様に規定されている制御信号ＷＡＩＴ＃が時刻ｔ４から第１の仕様に規定されているｔｖ（ＷＴ−ＷＥ）（ＩＥＥＥ記号ｔＷＬＷＴＶ）が経過するまでの間に外部装置（ＰＣカード（商標））４０によってアサートされた場合、タイマ部２１のカウント値に関わらず、第５ステート（Ｗｉｄｔｈステート）を維持する。
【００４７】
第１の仕様において、制御信号ＷＥ＃がアサートされて（ここでは、時刻ｔ４）から第１の仕様に規定されている時間ｔｄｉｓ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＱＺ）（最大１５０ｎｓ）が経過した後にはデータ信号Ｄ［１５：：０］を出力することが可能であることと規定されている。そこで、信号入出力部２３は、時刻ｔ４から１５０ｎｓ経過した後のクロック信号の立上がりエッジ又は立下りエッジにおいて、第１の仕様に規定されているデータ信号Ｄ［１５：：０］の出力を開始する。
【００４８】
ステートマシン部２２は、タイマ部２１のカウント値が第３レジスタ（ＷＩＤＴＨレジスタ）３３内に格納されている値（ＷＩＤＴＨ＿ＬＩＭＩＴ）に等しくなり且つ制御信号ＷＡＩＴ＃がネゲートされていると、時刻ｔ５において、第５ステート（Ｗｉｄｔｈステート）から第６ステート（Ｄｅｌａｙステート）に遷移する。ステートマシン部２２は、第５ステート（Ｗｉｄｔｈステート）から第６ステート（Ｄｅｌａｙステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００４９】
ステートマシン部２２が第６ステート（Ｄｅｌａｙステート）に遷移すると、信号入出力部２３は、制御信号ＷＥ＃をネゲートする。
【００５０】
このように、時刻ｔ４〜ｔ５の時間は、第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されているＷＩＤＴＨ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ４〜ｔ５の時間が第１の仕様のｔｄｉｓ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＱＺ）とｔ（Ｄ−ＷＥＨ）（ＩＥＥＥ記号ｔＤＶＷＨ）との和及びｔｗ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＷＨ）を満たすこととなると共に時刻ｔ２〜ｔ５の時間が第１の仕様のｔｓｕ（Ａ−ＷＥＨ）（ＩＥＥＥ記号ｔＡＶＷＨ）及びｔｓｕ（ＣＥ−ＷＥＨ）（ＩＥＥＥ記号ｔＥＬＷＨ）を満たすこととなるような値が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されていれば良い。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓである場合、ｔｄｉｓ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＱＺ）は、最大１５０ｎｓであり、ｔ（Ｄ−ＷＥＨ）（ＩＥＥＥ記号ｔＤＶＷＨ）は、最小１５０ｎｓであり、ｔｗ（ＷＥ）（ＩＥＥＥ記号ｔＷＬＷＨ）は、最小３００ｎｓであり、ｔｓｕ（Ａ−ＷＥＨ）（ＩＥＥＥ記号ｔＡＶＷＨ）は、最小３５０ｎｓであり、ｔｓｕ（ＣＥ−ＷＥＨ）（ＩＥＥＥ記号ｔＥＬＷＨ）は、最小３００ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「９」以上の値が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されていれば良い。ここでは、「１２」が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されているものとする。このとき、時刻ｔ４〜ｔ５の時間は、３９０ｎｓとなり、時刻ｔ４〜ｔ５の時間は、６３０ｎｓとなる。第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されるＷＩＤＴＨ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００５１】
ステートマシン部２２は、タイマ部２１のカウント値が第４レジスタ（ＤＥＬＡＹレジスタ）３４内に格納されている値（ＤＥＬＡＹ＿ＬＩＭＩＴ）に等しくなるまで、第６ステート（Ｄｅｌａｙステート）を維持する。なお、ステートマシン部２２は、第６ステート（Ｄｅｌａｙステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００５２】
ステートマシン部２２は、タイマ部２１のカウント値が第４レジスタ（ＤＥＬＡＹレジスタ）３４内に格納されている値（ＤＥＬＡＹ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ６において、第６ステート（Ｄｅｌａｙステート）から第７ステート（Ｈｏｌｄステート）に遷移する。ステートマシン部２２は、第６ステート（Ｄｅｌａｙステート）から第７ステート（Ｈｏｌｄステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００５３】
ステートマシン部２２が第７ステート（Ｈｏｌｄステート）に遷移すると、信号入出力部２３は、制御信号ＯＥ＃をアサートすると共にデータ信号Ｄ［１５：：０］の出力を終了する。
【００５４】
このように、時刻ｔ５〜ｔ６の時間は、第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されているＤＥＬＡＹ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ５〜ｔ６の時間が第１の仕様のｔｈ（ＯＥ−ＷＥ）（ＩＥＥＥ記号ｔＷＨＧＬ）及びｔｈ（Ｄ）（ＩＥＥＥ記号ｔＷＭＤＸ）を満たすこととなるような値が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されていれば良い。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓである場合、ｔｈ（ＯＥ−ＷＥ）（ＩＥＥＥ記号ｔＷＨＧＬ）は、最小３５ｎｓであり、ｔｈ（Ｄ）（ＩＥＥＥ記号ｔＷＭＤＸ）は、最小７０ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「２」以上の値が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されていれば良い。ここでは、「２」が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されているものとする。このとき、時刻ｔ５〜ｔ６の時間は、９０ｎｓとなる。第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されるＤＥＬＡＹ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００５５】
ステートマシン部２２は、タイマ部２１のカウント値が第５レジスタ（ＨＯＬＤレジスタ）３５内に格納されている値（ＨＯＬＤ＿ＬＩＭＩＴ）に等しくなるまで、第７ステート（Ｈｏｌｄステート）を維持する。なお、ステートマシン部２２は、第７ステート（Ｈｏｌｄステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００５６】
ステートマシン部２２は、タイマ部２１のカウント値が第５レジスタ（ＨＯＬＤレジスタ）３５内に格納されている値（ＨＯＬＤ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ７において、第７ステート（Ｈｏｌｄステート）から第１ステート（Ｉｄｌｅステート）に遷移する。ステートマシン部２２は、第７ステート（Ｈｏｌｄステート）から第１ステート（Ｉｄｌｅステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００５７】
ステートマシン部２２が第１ステート（Ｉｄｌｅステート）に遷移すると、信号入出力部２３は、アドレス信号Ａ［２５：：０］の出力を終了すると共に制御信号ＣＥ２＃及びＣＥ１＃をネゲートする。
【００５８】
このように、時刻ｔ６〜ｔ７の時間は、第５レジスタ（ＨＯＬＤレジスタ）３５に格納されているＨＯＬＤ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ５〜ｔ７の時間が第１の仕様のｔｈ（ＣＥ）（ＩＥＥＥ記号ｔＧＨＥＨ）及びｔｒｅｃ（ＷＥ）（ＩＥＥＥ記号ｔＷＭＡＸ）を満たすこととなるような値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されていれば良い。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓである場合、ｔｈ（ＣＥ）（ＩＥＥＥ記号ｔＧＨＥＨ）は、最小３５ｎｓであり、ｔｒｅｃ（ＷＥ）（ＩＥＥＥ記号ｔＷＭＡＸ）は、最小７０ｎｓである。従って、クロック信号の周波数が３３ＭＨｚである場合、「０」以上の値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されていれば良い。ここでは、「１」が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されているものとする。このとき、時刻ｔ５〜ｔ７の時間は、１５０ｎｓとなる。第５レジスタ（ＨＯＬＤレジスタ）３５に格納されるＨＯＬＤ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００５９】
第１〜第５レジスタ３１〜３５に、上記したような値が格納されていれば、時刻ｔ２〜ｔ７の時間は７８０ｎｓとなり、第１の仕様に規定されているｔｃＷ（ＩＥＥＥ記号ｔＡＶＡＶ）（最小６００ｎｓ）を満たすこととなる。
【００６０】
以上説明したように、本実施形態によれば、インタフェースＬＳＩ１を１つのクロック信号に同期する同期回路とすることができる。これにより、インタフェースＬＳＩ１の設計を容易にすることができる。
また、第１の仕様及びクロック信号の周波数に応じた５つの値を第１〜第５レジスタ３１〜３５に格納することで、外部装置（ＰＣカード（商標））４０へのメモリライトを実現することができる。これにより、ＣＰＵの実行負荷又はＣＰＵが実行するプログラムを作成する負荷を軽減することができる。また、ＰＣカード（商標）の仕様が変更された場合であっても、第１〜第５レジスタ３１〜３５に格納する値を変更することで、容易に対応可能である。
【００６１】
次に、インタフェースＬＳＩ１のメモリ（コモンメモリ及びアトリビュートメモリ）読み出し動作について説明する。
図５は、インタフェースＬＳＩ１のメモリ（コモンメモリ及びアトリビュートメモリ）読み出し動作のタイミングチャートである。
【００６２】
ステートマシン部２２は、リセット信号がアサートされるとリセットされ、リセット信号がネゲートされたとき、第１ステート（Ｉｄｌｅステート）になる。
【００６３】
ステートマシン部２２は、起動条件が未成立の間、第１ステート（Ｉｄｌｅステート）を維持し、起動条件が成立すると、第２ステート（Ｓｔａｒｔｕｐステート）に遷移する。起動条件としては、種々の実装が可能である。例えば、ＣＰＵが、起動信号をステートマシン部２２に出力することとしても良い。
【００６４】
時刻ｔ１１において、ステートマシン部２２が第２ステート（Ｓｔａｒｔｕｐステート）に遷移すると、インタフェースＬＳＩ１内部の初期化又は内部の準備が開始される。ステートマシン部２２は、内部の初期化又は内部の準備が完了するまで、第２ステート（Ｓｔａｒｔｕｐステート）を維持する。なお、ステートマシン部２２は、第２ステート（Ｓｔａｒｔｕｐステート）を維持している間にクリア信号（ＣＰＵから供給されても良いし、インタフェースＬＳＩ１内部で生成されても良い）がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００６５】
ステートマシン部２２は、内部の初期化又は内部の準備が完了すると、時刻ｔ１２において、第２ステート（Ｓｔａｒｔｕｐステート）から第３ステート（Ｓｅｔｕｐステート）に遷移する。ステートマシン部２２は、第２ステート（Ｓｔａｒｔｕｐステート）から第３ステート（Ｓｅｔｕｐステート）に遷移するときに、タイマ部２１にカウントを開始させる。
【００６６】
ステートマシン部２２が第３ステート（Ｓｅｔｕｐステート）に遷移すると、信号入出力部２３は、アドレス信号Ａ［２５：：０］を外部装置（ＰＣカード（商標））４０に出力するとともに、制御信号ＣＥ２＃及びＣＥ１＃をアサートする（ここでは、１６ビットアクセスを行うものとする）。信号入出力部２３は、アトリビュートメモリリードの場合、さらに制御信号ＲＥＧ＃をもアサートする。なお、信号入出力部２３が外部装置（ＰＣカード（商標））４０に出力するアドレスの値は、ＣＰＵからメモリ５内に書き込まれていることとしても良い。
【００６７】
ステートマシン部２２は、タイマ部２１のカウント値が第１レジスタ（ＳＥＴＵＰレジスタ）３１内に格納されている値（ＳＥＴＵＰ＿ＬＩＭＩＴ）に等しくなるまで、第３ステート（Ｓｅｔｕｐステート）を維持する。なお、ステートマシン部２２は、第３ステート（Ｓｅｔｕｐステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００６８】
ステートマシン部２２は、タイマ部２１のカウント値が第１レジスタ３１内に格納されている値（ＳＥＴＵＰ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ１３において、第３ステート（Ｓｅｔｕｐステート）から第４ステート（Ｗａｉｔステート）に遷移する。ステートマシン部２２は、第３ステート（Ｓｅｔｕｐステート）から第４ステート（Ｗａｉｔステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００６９】
ステートマシン部２２が第４ステート（Ｗａｉｔステート）に遷移すると、信号入出力部２３は、制御信号ＯＥ＃をアサートする。
【００７０】
このように、時刻ｔ１２〜ｔ１３の時間は、第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されているＳＥＴＵＰ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ１２〜ｔ１３の時間が第１の仕様のｔｓｕ（Ａ）（ＩＥＥＥ記号ｔＡＶＧＬ）及びｔｓｕ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＧＬ）を満たすこととなるような値が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されていれば良い。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓである場合、ｔｓｕ（Ａ）（ＩＥＥＥ記号ｔＡＶＧＬ）は、最小１００ｎｓであり、ｔｓｕ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＧＬ）は、最小０ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「３」以上の値が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されていれば良い。ここでは、「３」が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されているものとする。このとき、時刻ｔ１２〜ｔ１３の時間は、１２０ｎｓとなる。第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されるＳＥＴＵＰ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００７１】
ステートマシン部２２は、タイマ部２１のカウント値が第２レジスタ（ＷＡＩＴレジスタ）３２内に格納されている値（ＷＡＩＴ＿ＬＩＭＩＴ）に等しくなるまで、第４ステート（Ｗａｉｔステート）を維持する。なお、ステートマシン部２２は、第４ステート（Ｗａｉｔステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００７２】
一方、外部装置（ＰＣカード（商標））４０は、時刻ｔ１３から第１の仕様に規定されている時間ｔｖ（ＷＴ−ＯＥ）（ＩＥＥＥ記号ｔＧＬＷＴＶ）（最大１００ｎｓ）が経過するまでの間に、第１の仕様に規定されている制御信号ＷＡＩＴ＃をアサートすることが可能である。
アトリビュートメモリ読み出しの場合、外部装置（ＰＣカード（商標））４０は、制御信号ＯＥ＃がアサートされたとき（ここでは、時刻ｔ１３）から第１の仕様に規定されているｔｅｎ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＮＺ）（最小５ｎｓ）が経過した後に、データ信号Ｄ［１５：：０］を出力することが可能である。なお、第１の仕様において、コモンメモリ読み出しの場合における時間ｔｅｎ（ＯＥ）は規定されていない。
【００７３】
ステートマシン部２２は、タイマ部２１のカウント値が第２レジスタ（ＷＡＩＴレジスタ）３２内に格納されている値（ＷＡＩＴ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ１４において、第４ステート（Ｗａｉｔステート）から第５ステート（Ｗｉｄｔｈステート）に遷移する。ステートマシン部２２は、第４ステート（Ｗａｉｔステート）から第５ステート（Ｗｉｄｔｈステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００７４】
このように、時刻ｔ１３〜ｔ１４の時間は、第２レジスタ（ＷＡＩＴレジスタ）３２に格納されているＷＡＩＴ＿ＬＩＭＩＴの値に応じて定まる。
ここで、アトリビュートメモリ読み出しを考慮し、時刻ｔ１３〜ｔ１４の時間が第１の仕様のｔｅｎ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＮＺ）を満たすこととなるような値が、ＷＡＩＴ＿ＬＩＭＩＴとして第２レジスタ（ＷＡＩＴレジスタ）３２に格納されていると好適である。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓの場合、ｔｅｎ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＮＺ）は、最小５ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「０」以上の値がＷＡＩＴ＿ＬＩＭＩＴとして第２レジスタ（ＷＡＩＴレジスタ）３２に格納されていると好適である。ここでは、「３」が、ＷＡＩＴ＿ＬＩＭＩＴとして第２レジスタ（ＷＡＩＴレジスタ）３２に格納されているものとする。第２レジスタ（ＷＡＩＴレジスタ）３２に格納されるＷＡＩＴ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００７５】
ステートマシン部２２は、タイマ部２１のカウント値が第３レジスタ（ＷＩＤＴＨレジスタ）３３内に格納されている値（ＷＩＤＴＨ＿ＬＩＭＩＴ）に等しくなるまで、第５ステート（Ｗｉｄｔｈステート）を維持する。なお、ステートマシン部２２は、第５ステート（Ｗｉｄｔｈステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００７６】
また、ステートマシン部２２は、第１の仕様に規定されている制御信号ＷＡＩＴ＃が外部装置（ＰＣカード（商標））４０によってアサートされた場合、タイマ部２１のカウント値に関わらず、第５ステート（Ｗｉｄｔｈステート）を維持する。
【００７７】
ステートマシン部２２は、タイマ部２１のカウント値が第３レジスタ（ＷＩＤＴＨレジスタ）３３内に格納されている値（ＷＩＤＴＨ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ１５において、第５ステート（Ｗｉｄｔｈステート）から第６ステート（Ｄｅｌａｙステート）に遷移する。ステートマシン部２２は、第５ステート（Ｗｉｄｔｈステート）から第６ステート（Ｄｅｌａｙステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００７８】
このように、時刻ｔ１４〜ｔ１５の時間は、第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されているＷＩＤＴＨ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ１３〜ｔ１５の時間が第１の仕様に規定されているｔａ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＶ）を満たすこととなると共に時刻ｔ１２〜ｔ１５の時間が第１の仕様に規定されているｔａ（Ａ）（ＩＥＥＥ記号ｔＡＶＱＶ）及びｔａ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＱＶ）を満たすこととなるような値が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されていれば良い。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓの場合、ｔａ（ＯＥ）（ＩＥＥＥ記号ｔＧＬＱＶ）は、最大３００ｎｓであり、ｔａ（Ａ）（ＩＥＥＥ記号ｔＡＶＱＶ）は、最大６００ｎｓであり、ｔａ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＱＶ）は、最大６００ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「７」以上の値が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されていれば良い。ここでは、「１２」が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されているものとする。第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されるＷＩＤＴＨ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００７９】
第１の仕様において、外部装置（ＰＣカード（商標））４０が出力するデータ信号Ｄ［１５：：０］は、時刻ｔ１２から第１の仕様に規定されているｔａ（Ａ）（ＩＥＥＥ記号ｔＡＶＱＶ）（最大６００ｎｓ）及びｔａ（ＣＥ）（ＩＥＥＥ記号ｔＥＬＱＶ）（最大６００ｎｓ）が経過するまでには有効（valid）になることと規定されている。そこで、信号入出力部２３は、時刻ｔ１２から６００ｎｓが経過した後のクロック信号の立下りエッジ又は立上がりエッジにおいて、データ信号Ｄ［１５：：０］を取り込むことが可能である。
【００８０】
ステートマシン部２２は、タイマ部２１のカウント値が第４レジスタ（ＤＥＬＡＹレジスタ）３４内に格納されている値（ＤＥＬＡＹ＿ＬＩＭＩＴ）に等しくなるまで、第６ステート（Ｄｅｌａｙステート）を維持する。なお、ステートマシン部２２は、第６ステート（Ｄｅｌａｙステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００８１】
ステートマシン部２２は、時刻ｔ１６において、タイマ部２１のカウント値が第４レジスタ（ＤＥＬＡＹレジスタ）３４内に格納されている値（ＤＥＬＡＹ＿ＬＩＭＩＴ）に等しくなると、第６ステート（Ｄｅｌａｙステート）から第７ステート（Ｈｏｌｄステート）に遷移する。ステートマシン部２２は、第６ステート（Ｄｅｌａｙステート）から第７ステート（Ｈｏｌｄステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００８２】
ステートマシン部２２が第７ステート（Ｈｏｌｄステート）に遷移すると、信号入出力部２３は、制御信号ＯＥ＃をネゲートする。
【００８３】
このように、時刻ｔ１５〜ｔ１６の時間は、第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されているＤＥＬＡＹ＿ＬＩＭＩＴの値に応じて定まる。
ここでは、「２」が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されているものとする。このとき、時刻ｔ１５〜ｔ１６の時間は、９０ｎｓとなる。第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されるＤＥＬＡＹ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００８４】
ステートマシン部２２は、タイマ部２１のカウント値が第５レジスタ（ＨＯＬＤレジスタ）３５内に格納されている値（ＨＯＬＤ＿ＬＩＭＩＴ）に等しくなるまで、第７ステート（Ｈｏｌｄステート）を維持する。なお、ステートマシン部２２は、第７ステート（Ｈｏｌｄステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００８５】
ステートマシン部２２は、タイマ部２１のカウント値が第５レジスタ（ＨＯＬＤレジスタ）３５内に格納されている値（ＨＯＬＤ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ１７において、第７ステート（Ｈｏｌｄステート）から第１ステート（Ｉｄｌｅステート）に遷移する。ステートマシン部２２は、第７ステート（Ｈｏｌｄステート）から第１ステート（Ｉｄｌｅステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００８６】
ステートマシン部２２が第１ステート（Ｉｄｌｅステート）に遷移すると、信号入出力部２３は、アドレス信号Ａ［２５：：０］の出力を終了すると共に制御信号ＣＥ２＃及びＣＥ１＃をネゲートする。
【００８７】
このように、時刻ｔ１６〜ｔ１７の時間は、第５レジスタ（ＨＯＬＤレジスタ）３５に格納されているＨＯＬＤ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ１６〜ｔ１７の時間が第１の仕様のｔｈ（Ａ）（ＩＥＥＥ記号ｔＧＨＡＸ）及びｔｈ（ＣＥ）（ＩＥＥＥ記号ｔＧＨＥＨ）を満たすこととなるような値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されていれば良い。例えば、外部装置（ＰＣカード（商標））４０の速度バージョンが６００ｎｓである場合、ｔｈ（Ａ）（ＩＥＥＥ記号ｔＧＨＡＸ）は、最小３５ｎｓであり、ｔｈ（ＣＥ）（ＩＥＥＥ記号ｔＧＨＥＨ）は、最小３５ｎｓである。従って、クロック信号の周波数が３３ＭＨｚである場合、「１」以上の値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されていれば良い。ここでは、「１」値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されているものとする。このとき、時刻ｔ１６〜ｔ１７の時間は、６０ｎｓとなる。第５レジスタ（ＨＯＬＤレジスタ）３５に格納されるＨＯＬＤ＿ＬＩＭＩＴの値は、外部装置（ＰＣカード（商標））４０の速度バージョンとクロック信号の周波数に基づいて決定できる。
【００８８】
第１〜第５レジスタ３１〜３５に、上記したような値が格納されていれば、時刻ｔ１２〜ｔ１７の時間は７８０ｎｓとなり、第１の仕様に規定されているｔｃＲ（ＩＥＥＥ記号ｔＡＶＡＶ）（最小６００ｎｓ）を満たすこととなる。
【００８９】
以上説明したように、本実施形態によれば、インタフェースＬＳＩ１を１つのクロック信号に同期する同期回路とすることができる。これにより、インタフェースＬＳＩ１の設計を容易にすることができる。
また、第１の仕様及びクロック信号の周波数に応じた５つの値を第１〜第５レジスタ３１〜３５に格納することで、外部装置（ＰＣカード（商標））４０からのメモリリードを実現することができる。これにより、ＣＰＵの実行負荷又はＣＰＵが実行するプログラムを作成する負荷を軽減することができる。また、ＰＣカード（商標）の仕様が変更された場合であっても、第１〜第５レジスタ３１〜３５に格納する値を変更することで、容易に対応可能である。
【００９０】
次に、インタフェースＬＳＩ１のＩ／Ｏ書き込み動作について説明する。
図６は、インタフェースＬＳＩ１のＩ／Ｏ書き込み動作のタイミングチャートである。
【００９１】
ステートマシン部２２は、リセット信号がアサートされるとリセットされ、リセット信号がネゲートされたとき、第１ステート（Ｉｄｌｅステート）になる。
【００９２】
ステートマシン部２２は、起動条件が未成立の間、第１ステート（Ｉｄｌｅステート）を維持し、起動条件が成立すると、第２ステート（Ｓｔａｒｔｕｐステート）に遷移する。起動条件としては、種々の実装が可能である。例えば、ＣＰＵが、外部装置（ＰＣカード（商標））４０に書き込むためのデータをメモリ５に書き込み、さらに、その後、ＣＰＵが、起動信号をステートマシン部２２に出力することとしても良い。また、ＣＰＵが、外部装置（ＰＣカード（商標））４０に書き込むためのデータをメモリ５に書き込み、ステートマシン部２２が、データがメモリ５に書き込まれたことを検知することとしても良い。
【００９３】
時刻ｔ２１において、ステートマシン部２２が第２ステート（Ｓｔａｒｔｕｐステート）に遷移すると、インタフェースＬＳＩ１内部の初期化又は内部の準備が行われる。ステートマシン部２２は、内部の初期化又は内部の準備が完了するまで、第２ステート（Ｓｔａｒｔｕｐステート）を維持する。なお、ステートマシン部２２は、第２ステート（Ｓｔａｒｔｕｐステート）を維持している間にクリア信号（ＣＰＵから供給されても良いし、インタフェースＬＳＩ１内部で生成されても良い）がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００９４】
ステートマシン部２２は、内部の初期化又は内部の準備が完了すると、時刻ｔ２２において、第２ステート（Ｓｔａｒｔｕｐステート）から第３ステート（Ｓｅｔｕｐステート）に遷移する。ステートマシン部２２は、第２ステート（Ｓｔａｒｔｕｐステート）から第３ステート（Ｓｅｔｕｐステート）に遷移するときに、タイマ部２１にカウントを開始させる。
【００９５】
ステートマシン部２２が第３ステート（Ｓｅｔｕｐステート）に遷移すると、信号入出力部２３は、アドレス信号Ａ［２５：：０］を外部装置（ＰＣカード（商標））４０に出力するとともに、制御信号ＲＥＧ＃、ＣＥ２＃、及び、ＣＥ１＃をアサートする（ここでは、１６ビットアクセスを行うものとする）。なお、信号入出力部２３が外部装置（ＰＣカード（商標））４０に出力するアドレスの値は、ＣＰＵからメモリ５内にデータと共に書き込まれていることとしても良い。また、メモリ５のアドレスと外部装置（ＰＣカード（商標））４０のアドレスとが対応づけられていることとし、信号入出力部２３が、データが書き込まれたメモリ５のアドレスに対応づけられている外部装置（ＰＣカード（商標））４０のアドレスを外部装置（ＰＣカード（商標））４０に出力することとしても良い。
【００９６】
１６ビットアクセスの場合、外部装置（ＰＣカード（商標））４０は、時刻ｔ２２から第１の仕様に規定されているｔｄｆＩＯＩＳ１６（ＡＤＲ）（ＩＥＥＥ記号ｔＡＶＩＳＬ）（最大３５ｎｓ）が経過するまでに第１の仕様に規定されている制御信号ＩＯＩＳ１６＃をアサートする。
【００９７】
ステートマシン部２２は、タイマ部２１のカウント値が第１レジスタ（ＳＥＴＵＰレジスタ）３１内に格納されている値（ＳＥＴＵＰ＿ＬＩＭＩＴ）に等しくなるまで、第３ステート（Ｓｅｔｕｐステート）を維持する。なお、ステートマシン部２２は、第３ステート（Ｓｅｔｕｐステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【００９８】
ステートマシン部２２は、タイマ部２１のカウント値が第１レジスタ３１内に格納されている値（ＳＥＴＵＰ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ２３において、第３ステート（Ｓｅｔｕｐステート）から第４ステート（Ｗａｉｔステート）に遷移する。ステートマシン部２２は、第３ステート（Ｓｅｔｕｐステート）から第４ステート（Ｗａｉｔステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【００９９】
ステートマシン部２２が第４ステート（Ｗａｉｔステート）に遷移すると、信号入出力部２３は、第１の仕様に規定されている制御信号ＩＯＷＲ＃をアサートする。
【０１００】
このように、時刻ｔ２２〜ｔ２３の時間は、第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されているＳＥＴＵＰ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ２２〜ｔ２３の時間が第１の仕様のｔｓｕＡ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＡＶＩＷＬ）、ｔｓｕＲＥＧ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＲＧＬＩＷＬ）、及び、ｔｓｕＣＥ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＥＬＩＷＬ）を満たすこととなるような値が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されていれば良い。ｔｓｕＡ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＡＶＩＷＬ）は、最小７０ｎｓであり、ｔｓｕＲＥＧ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＲＧＬＩＷＬ）最小５ｎｓであり、ｔｓｕＣＥ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＥＬＩＷＬ）は、最小５ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「２」以上の値が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されていれば良い。ここでは、「２」が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されているものとする。このとき、時刻ｔ２２〜ｔ２３の時間は、９０ｎｓとなる。第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されるＳＥＴＵＰ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１０１】
ステートマシン部２２は、タイマ部２１のカウント値が第２レジスタ（ＷＡＩＴレジスタ）３２内に格納されている値（ＷＡＩＴ＿ＬＩＭＩＴ）に等しくなるまで、第４ステート（Ｗａｉｔステート）を維持する。なお、ステートマシン部２２は、第４ステート（Ｗａｉｔステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１０２】
一方、外部装置（ＰＣカード（商標））４０は、時刻ｔ２３から第１の仕様に規定されているｔｄｆＷＴ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＬＷＴＬ）（最大３５ｎｓ）が経過するまでに第１の仕様に規定されている制御信号ＷＡＩＴ＃をアサートすることが可能である。
【０１０３】
ステートマシン部２２は、タイマ部２１のカウント値が第２レジスタ（ＷＡＩＴレジスタ）３２内に格納されている値（ＷＡＩＴ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ２４において、第４ステート（Ｗａｉｔステート）から第５ステート（Ｗｉｄｔｈステート）に遷移する。ステートマシン部２２は、第４ステート（Ｗａｉｔステート）から第５ステート（Ｗｉｄｔｈステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１０４】
ステートマシン部２２が第５ステート（Ｗｉｄｔｈステート）に遷移すると、信号入出力部２３は、データ信号Ｄ［１５：：０］を出力する。
【０１０５】
このように、時刻ｔ２３〜ｔ２４の時間は、第２レジスタ（ＷＡＩＴレジスタ）３２に格納されているＷＡＩＴ＿ＬＩＭＩＴの値に応じて定まる。
ここでは、「１」が、ＷＡＩＴ＿ＬＩＭＩＴとして第２レジスタ（ＷＡＩＴレジスタ）３２に格納されているものとする。このとき、時刻ｔ２３〜ｔ２４の時間は、６０ｎｓとなる。第２レジスタ（ＷＡＩＴレジスタ）３２に格納されるＷＡＩＴ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１０６】
ステートマシン部２２は、タイマ部２１のカウント値が第３レジスタ（ＷＩＤＴＨレジスタ）３３内に格納されている値（ＷＩＤＴＨ＿ＬＩＭＩＴ）に等しくなるまで、第５ステート（Ｗｉｄｔｈステート）を維持する。なお、ステートマシン部２２は、第５ステート（Ｗｉｄｔｈステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１０７】
また、ステートマシン部２２は、第１の仕様に規定されている制御信号ＷＡＩＴ＃が時刻ｔ２３から第１の仕様に規定されているｔｄｆＷＴ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＬＷＴＬ）（最大３５ｎｓ）が経過するまでの間に外部装置（ＰＣカード（商標））４０によってアサートされた場合、タイマ部２１のカウント値に関わらず、第５ステート（Ｗｉｄｔｈステート）を維持する。
【０１０８】
ステートマシン部２２は、タイマ部２１のカウント値が第３レジスタ（ＷＩＤＴＨレジスタ）３３内に格納されている値（ＷＩＤＴＨ＿ＬＩＭＩＴ）に等しくなり且つ制御信号ＷＡＩＴ＃がネゲートされていると、時刻ｔ２５において、第５ステート（Ｗｉｄｔｈステート）から第６ステート（Ｄｅｌａｙステート）に遷移する。ステートマシン部２２は、第５ステート（Ｗｉｄｔｈステート）から第６ステート（Ｄｅｌａｙステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１０９】
ステートマシン部２２が第６ステート（Ｄｅｌａｙステート）に遷移すると、信号入出力部２３は、制御信号ＩＯＷＲ＃をネゲートする。
【０１１０】
このように、時刻ｔ２４〜ｔ２５の時間は、第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されているＷＩＤＴＨ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ２４〜ｔ２５の時間が第１の仕様のｔｓｕ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＤＶＩＷＬ）を満たすこととなると共に時刻ｔ２３〜ｔ２５の時間が第１の仕様のｔｗ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＬＩＷＨ）を満たすこととなるような値が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されていれば良い。ｔｓｕ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＤＶＩＷＬ）は、最小６０ｎｓであり、ｔｗ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＬＩＷＨ）は、最小１６５ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「３」以上の値が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されていれば良い。ここでは、「３」が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されているものとする。このとき、時刻ｔ２４〜ｔ２５の時間は、１２０ｎｓとなり、時刻ｔ２３〜ｔ２５の時間は、１８０ｎｓとなる。第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されるＷＩＤＴＨ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１１１】
信号入出力部２３は、時刻ｔ２５から第１の仕様のｔｈ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＤＸ）（最小３０ｎｓ）が経過した後のクロック信号の立上りエッジ又は立下りエッジにおいて、データ信号Ｄ［１５：：０］の出力を終了する。
【０１１２】
ステートマシン部２２は、タイマ部２１のカウント値が第４レジスタ（ＤＥＬＡＹレジスタ）３４内に格納されている値（ＤＥＬＡＹ＿ＬＩＭＩＴ）に等しくなるまで、第６ステート（Ｄｅｌａｙステート）を維持する。なお、ステートマシン部２２は、第６ステート（Ｄｅｌａｙステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１１３】
ステートマシン部２２は、タイマ部２１のカウント値が第４レジスタ（ＤＥＬＡＹレジスタ）３４内に格納されている値（ＤＥＬＡＹ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ２６において、第６ステート（Ｄｅｌａｙステート）から第７ステート（Ｈｏｌｄステート）に遷移する。ステートマシン部２２は、第６ステート（Ｄｅｌａｙステート）から第７ステート（Ｈｏｌｄステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１１４】
このように、時刻ｔ２５〜ｔ２６の時間は、第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されているＤＥＬＡＹ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ２５〜ｔ２６の時間が第１の仕様のｔｈ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＤＸ）を満たすこととなるような値が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されていれば良い。ｔｈ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＤＸ）は、最小３０ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「０」以上の値が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されていれば良い。ここでは、「１」が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されているものとする。このとき、時刻ｔ２５〜ｔ２６の時間は、６０ｎｓとなる。第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されるＤＥＬＡＹ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１１５】
ステートマシン部２２は、タイマ部２１のカウント値が第５レジスタ（ＨＯＬＤレジスタ）３５内に格納されている値（ＨＯＬＤ＿ＬＩＭＩＴ）に等しくなるまで、第７ステート（Ｈｏｌｄステート）を維持する。なお、ステートマシン部２２は、第７ステート（Ｈｏｌｄステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１１６】
ステートマシン部２２は、タイマ部２１のカウント値が第５レジスタ（ＨＯＬＤレジスタ）３５内に格納されている値（ＨＯＬＤ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ２７において、第７ステート（Ｈｏｌｄステート）から第１ステート（Ｉｄｌｅステート）に遷移する。ステートマシン部２２は、第７ステート（Ｈｏｌｄステート）から第１ステート（Ｉｄｌｅステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１１７】
ステートマシン部２２が第７ステート（Ｈｏｌｄステート）に遷移すると、信号入出力部２３は、アドレス信号Ａ［２５：：０］の出力を終了すると共に制御信号ＲＥＧ＃、ＣＥ２＃、及び、ＣＥ１＃をネゲートする。
【０１１８】
このように、時刻ｔ２６〜ｔ２７の時間は、第５レジスタ（ＨＯＬＤレジスタ）３５に格納されているＨＯＬＤ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ２５〜ｔ２７の時間が第１の仕様のｔｈＡ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＡＸ）、ｔｈＲＥＧ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＲＧＨ）、及び、ｔｈＣＥ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＥＨ）を満たすこととなるような値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されていれば良い。ｔｈＡ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＡＸ）は、最小２０ｎｓであり、ｔｈＲＥＧ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＲＧＨ）は、最小０ｎｓであり、ｔｈＣＥ（ＩＯＷＲ）（ＩＥＥＥ記号ｔＩＷＨＥＨ）は、最小２０ｎｓである。従って、クロック信号の周波数が３３ＭＨｚである場合、「０」以上の値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されていれば良い。ここでは、「０」が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されているものとする。このとき、時刻ｔ２５〜ｔ２７の時間は、９０ｎｓとなる。第５レジスタ（ＨＯＬＤレジスタ）３５に格納されるＨＯＬＤ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１１９】
以上説明したように、本実施形態によれば、インタフェースＬＳＩ１を１つのクロック信号に同期する同期回路とすることができる。これにより、インタフェースＬＳＩ１の設計を容易にすることができる。
また、第１の仕様及びクロック信号の周波数に応じた５つの値を第１〜第５レジスタ３１〜３５に格納することで、外部装置（ＰＣカード（商標））４０へのＩ／Ｏライトを実現することができる。これにより、ＣＰＵの実行負荷又はＣＰＵが実行するプログラムを作成する負荷を軽減することができる。また、ＰＣカード（商標）の仕様が変更された場合であっても、第１〜第５レジスタ３１〜３５に格納する値を変更することで、容易に対応可能である。
【０１２０】
次に、インタフェースＬＳＩ１のＩ／Ｏ読み出し動作について説明する。
図７は、インタフェースＬＳＩ１のＩ／Ｏ読み出し動作のタイミングチャートである。
【０１２１】
ステートマシン部２２は、リセット信号がアサートされるとリセットされ、リセット信号がネゲートされたとき、第１ステート（Ｉｄｌｅステート）になる。
【０１２２】
ステートマシン部２２は、起動条件が未成立の間、第１ステート（Ｉｄｌｅステート）を維持し、起動条件が成立すると、第２ステート（Ｓｔａｒｔｕｐステート）に遷移する。起動条件としては、種々の実装が可能である。例えば、ＣＰＵが、起動信号をステートマシン部２２に出力することとしても良い。
【０１２３】
時刻ｔ３１において、ステートマシン部２２が第２ステート（Ｓｔａｒｔｕｐステート）に遷移すると、インタフェースＬＳＩ１内部の初期化又は内部の準備が行われる。ステートマシン部２２は、内部の初期化又は内部の準備が完了するまで、第２ステート（Ｓｔａｒｔｕｐステート）を維持する。なお、ステートマシン部２２は、第２ステート（Ｓｔａｒｔｕｐステート）を維持している間にクリア信号（ＣＰＵから供給されても良いし、インタフェースＬＳＩ１内部で生成されても良い）がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１２４】
ステートマシン部２２は、内部の初期化又は内部の準備が完了すると、時刻ｔ３２において、第２ステート（Ｓｔａｒｔｕｐステート）から第３ステート（Ｓｅｔｕｐステート）に遷移する。ステートマシン部２２は、第２ステート（Ｓｔａｒｔｕｐステート）から第３ステート（Ｓｅｔｕｐステート）に遷移するときに、タイマ部２１にカウントを開始させる。
【０１２５】
ステートマシン部２２が第３ステート（Ｓｅｔｕｐステート）に遷移すると、信号入出力部２３は、アドレス信号Ａ［２５：：０］を外部装置（ＰＣカード（商標））４０に出力するとともに、制御信号ＲＥＧ＃、ＣＥ２＃、及び、ＣＥ１＃をアサートする（ここでは、１６ビットアクセスを行うものとする）。なお、信号入出力部２３が外部装置（ＰＣカード（商標））４０に出力するアドレスの値は、ＣＰＵからメモリ５内にデータと共に書き込まれていることとしても良い。
【０１２６】
１６ビットアクセスの場合、外部装置（ＰＣカード（商標））４０は、時刻ｔ３２から第１の仕様に規定されているｔｄｆＩＯＩＳ１６（ＡＤＲ）（ＩＥＥＥ記号ｔＡＶＩＳＬ）（最大３５ｎｓ）が経過するまでに第１の仕様に規定されている制御信号ＩＯＩＳ１６＃をアサートする。
【０１２７】
ステートマシン部２２は、タイマ部２１のカウント値が第１レジスタ（ＳＥＴＵＰレジスタ）３１内に格納されている値（ＳＥＴＵＰ＿ＬＩＭＩＴ）に等しくなるまで、第３ステート（Ｓｅｔｕｐステート）を維持する。なお、ステートマシン部２２は、第３ステート（Ｓｅｔｕｐステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１２８】
ステートマシン部２２は、タイマ部２１のカウント値が第１レジスタ３１内に格納されている値（ＳＥＴＵＰ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ３３において、第３ステート（Ｓｅｔｕｐステート）から第４ステート（Ｗａｉｔステート）に遷移する。ステートマシン部２２は、第３ステート（Ｓｅｔｕｐステート）から第４ステート（Ｗａｉｔステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１２９】
ステートマシン部２２が第４ステート（Ｗａｉｔステート）に遷移すると、信号入出力部２３は、第１の仕様に規定されている制御信号ＩＯＲＤ＃をアサートする。
【０１３０】
このように、時刻ｔ３２〜ｔ３３の時間は、第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されているＳＥＴＵＰ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ３２〜ｔ３３の時間が第１の仕様のｔｓｕＡ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＡＶＩＧＬ）、ｔｓｕＲＥＧ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＲＧＬＩＧＬ）、及び、ｔｓｕＣＥ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＥＬＩＧＬ）を満たすこととなるような値が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されていれば良い。ｔｓｕＡ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＡＶＩＧＬ）は、最小７０ｎｓであり、ｔｓｕＲＥＧ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＲＧＬＩＧＬ）は、最小５ｎｓであり、ｔｓｕＣＥ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＥＬＩＧＬ）は、最小５ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「２」以上の値が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されていれば良い。ここでは、「２」が、ＳＥＴＵＰ＿ＬＩＭＩＴとして第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されているものとする。このとき、時刻ｔ３２〜ｔ３３の時間は、９０ｎｓである。第１レジスタ（ＳＥＴＵＰレジスタ）３１に格納されるＳＥＴＵＰ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１３１】
ステートマシン部２２は、タイマ部２１のカウント値が第２レジスタ（ＷＡＩＴレジスタ）３２内に格納されている値（ＷＡＩＴ＿ＬＩＭＩＴ）に等しくなるまで、第４ステート（Ｗａｉｔステート）を維持する。なお、ステートマシン部２２は、第４ステート（Ｗａｉｔステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１３２】
一方、外部装置（ＰＣカード（商標））４０は、時刻ｔ３３から第１の仕様に規定されているｔｄｆＷＴ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＬＷＴＬ）（最大３５ｎｓ）が経過するまでに第１の仕様に規定されている制御信号ＷＡＩＴ＃をアサートすることが可能である。
【０１３３】
ステートマシン部２２は、タイマ部２１のカウント値が第２レジスタ（ＷＡＩＴレジスタ）３２内に格納されている値（ＷＡＩＴ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ３４において、第４ステート（Ｗａｉｔステート）から第５ステート（Ｗｉｄｔｈステート）に遷移する。ステートマシン部２２は、第４ステート（Ｗａｉｔステート）から第５ステート（Ｗｉｄｔｈステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１３４】
このように、時刻ｔ３３〜ｔ３４の時間は、第２レジスタ（ＷＡＩＴレジスタ）３２に格納されているＷＡＩＴ＿ＬＩＭＩＴの値に応じて定まる。
ここでは、「１」が、ＷＡＩＴ＿ＬＩＭＩＴとして第２レジスタ（ＷＡＩＴレジスタ）３２に格納されているものとする。このとき、時刻ｔ３３〜ｔ３４の時間は、６０ｎｓである。第２レジスタ（ＷＡＩＴレジスタ）３２に格納されるＷＡＩＴ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１３５】
ステートマシン部２２は、タイマ部２１のカウント値が第３レジスタ（ＷＩＤＴＨレジスタ）３３内に格納されている値（ＷＩＤＴＨ＿ＬＩＭＩＴ）に等しくなるまで、第５ステート（Ｗｉｄｔｈステート）を維持する。なお、ステートマシン部２２は、第５ステート（Ｗｉｄｔｈステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１３６】
また、ステートマシン部２２は、第１の仕様に規定されている制御信号ＷＡＩＴ＃が時刻ｔ３３から第１の仕様に規定されているｔｄｆＷＴ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＬＷＴＬ）（最大３５ｎｓ）が経過するまでの間に外部装置（ＰＣカード（商標））４０によってアサートされた場合、タイマ部２１のカウント値に関わらず、第５ステート（Ｗｉｄｔｈステート）を維持する。
【０１３７】
第１の仕様において、外部装置（ＰＣカード（商標））４０が出力するデータ信号Ｄ［１５：：０］は、アドレス信号Ａ［２５：：０］、制御信号ＲＥＧ＃、ＣＥ２＃、及び、ＣＥ１＃がアサートされて（ここでは、時刻ｔ３２）から第１の仕様に規定されているｔｄ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＬＱＶ）（最大１００ｎｓ）が経過するまでには有効（valid）になることと規定されている。そこで、信号入出力部２３は、時刻ｔ３２から１００ｎｓが経過した後のクロック信号の立下りエッジ又は立上がりエッジにおいて、データ信号Ｄ［１５：：０］を取り込むことが可能である。
【０１３８】
ステートマシン部２２は、タイマ部２１のカウント値が第３レジスタ（ＷＩＤＴＨレジスタ）３３内に格納されている値（ＷＩＤＴＨ＿ＬＩＭＩＴ）に等しくなり且つ制御信号ＷＡＩＴ＃がネゲートされていると、時刻ｔ３５において、第５ステート（Ｗｉｄｔｈステート）から第６ステート（Ｄｅｌａｙステート）に遷移する。ステートマシン部２２は、第５ステート（Ｗｉｄｔｈステート）から第６ステート（Ｄｅｌａｙステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１３９】
ステートマシン部２２が第６ステート（Ｄｅｌａｙステート）に遷移すると、信号入出力部２３は、制御信号ＩＯＲＤ＃をネゲートする。
【０１４０】
このように、時刻ｔ３４〜ｔ３５の時間は、第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されているＷＩＤＴＨ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ３３〜ｔ３５の時間が第１の仕様のｔｗ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＬＩＧＨ）を満たすこととなるような値が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されていれば良い。ｔｗ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＬＩＧＨ）は、最小１６５ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「３」以上の値が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されていれば良い。ここでは、「３」が、ＷＩＤＴＨ＿ＬＩＭＩＴとして第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されているものとする。このとき、時刻ｔ３３〜ｔ３５の時間は、１８０ｎｓとなる。第３レジスタ（ＷＩＤＴＨレジスタ）３３に格納されるＷＩＤＴＨ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１４１】
ステートマシン部２２は、タイマ部２１のカウント値が第４レジスタ（ＤＥＬＡＹレジスタ）３４内に格納されている値（ＤＥＬＡＹ＿ＬＩＭＩＴ）に等しくなるまで、第６ステート（Ｄｅｌａｙステート）を維持する。なお、ステートマシン部２２は、第６ステート（Ｄｅｌａｙステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１４２】
ステートマシン部２２は、タイマ部２１のカウント値が第４レジスタ（ＤＥＬＡＹレジスタ）３４内に格納されている値（ＤＥＬＡＹ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ３６において、第６ステート（Ｄｅｌａｙステート）から第７ステート（Ｈｏｌｄステート）に遷移する。ステートマシン部２２は、第６ステート（Ｄｅｌａｙステート）から第７ステート（Ｈｏｌｄステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１４３】
このように、時刻ｔ３５〜ｔ３６の時間は、第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されているＤＥＬＡＹ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ３５〜ｔ３６の時間が第１の仕様のｔｈ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＱＸ）を満たすこととなるような値が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されていれば良い。ｔｈ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＱＸ）は、最小０ｎｓである。従って、クロック信号の周波数が３３ＭＨｚ（クロック信号の周期が３０ｎｓ）である場合、「０」以上の値が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されていれば良い。ここでは、「０」が、ＤＥＬＡＹ＿ＬＩＭＩＴとして第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されているものとする。このとき、時刻ｔ３５〜ｔ３６の時間は、３０ｎｓとなる。第４レジスタ（ＤＥＬＡＹレジスタ）３４に格納されるＤＥＬＡＹ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１４４】
ステートマシン部２２は、タイマ部２１のカウント値が第５レジスタ（ＨＯＬＤレジスタ）３５内に格納されている値（ＨＯＬＤ＿ＬＩＭＩＴ）に等しくなるまで、第７ステート（Ｈｏｌｄステート）を維持する。なお、ステートマシン部２２は、第７ステート（Ｈｏｌｄステート）を維持している間にクリア信号がアサートされると、第１ステート（Ｉｄｌｅステート）に遷移する。
【０１４５】
ステートマシン部２２は、タイマ部２１のカウント値が第５レジスタ（ＨＯＬＤレジスタ）３５内に格納されている値（ＨＯＬＤ＿ＬＩＭＩＴ）に等しくなると、時刻ｔ３７において、第７ステート（Ｈｏｌｄステート）から第１ステート（Ｉｄｌｅステート）に遷移する。ステートマシン部２２は、第７ステート（Ｈｏｌｄステート）から第１ステート（Ｉｄｌｅステート）に遷移するときに、タイマ部２１のカウント値をゼロにクリアする。
【０１４６】
ステートマシン部２２が第７ステート（Ｈｏｌｄステート）に遷移すると、信号入出力部２３は、アドレス信号Ａ［２５：：０］の出力を終了すると共に制御信号ＲＥＧ＃、ＣＥ２＃、及び、ＣＥ１＃をネゲートする。
【０１４７】
このように、時刻ｔ３６〜ｔ３７の時間は、第５レジスタ（ＨＯＬＤレジスタ）３５に格納されているＨＯＬＤ＿ＬＩＭＩＴの値に応じて定まる。
ここで、時刻ｔ３５〜ｔ３７の時間が第１の仕様のｔｈＡ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＡＸ）、ｔｈＲＥＧ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＲＧＨ）、及び、ｔｈＣＥ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＥＨ）を満たすこととなるような値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されていれば良い。ｔｈＡ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＡＸ）は、最小２０ｎｓであり、ｔｈＲＥＧ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＲＧＨ）は、最小０ｎｓであり、ｔｈＣＥ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＥＨ）は、最小２０ｎｓである。従って、クロック信号の周波数が３３ＭＨｚである場合、「０」以上の値が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されていれば良い。ここでは、「０」が、ＨＯＬＤ＿ＬＩＭＩＴとして第５レジスタ（ＨＯＬＤレジスタ）３５に格納されているものとする。このとき、時刻ｔ３５〜ｔ３７の時間は、６０ｎｓとなる。第５レジスタ（ＨＯＬＤレジスタ）３５に格納されるＨＯＬＤ＿ＬＩＭＩＴの値は、クロック信号の周波数に基づいて決定できる。
【０１４８】
第１の仕様において、外部装置（ＰＣカード（商標））４０が出力するデータ信号Ｄ［１５：：０］は、制御信号ＩＯＲＤ＃がネゲートされて（ここでは、時刻ｔ３６）から第１の仕様に規定されているｔｈ（ＩＯＲＤ）（ＩＥＥＥ記号ｔＩＧＨＱＸ）（最小０ｎｓ）が経過するまでは有効（valid）であることと規定されている。そこで、信号入出力部２３は、時刻ｔ３６において、データ信号Ｄ［１５：：０］を取り込むことが可能である。
【０１４９】
以上説明したように、本実施形態によれば、インタフェースＬＳＩ１を１つのクロック信号に同期する同期回路とすることができる。これにより、インタフェースＬＳＩ１の設計を容易にすることができる。
また、第１の仕様及びクロック信号の周波数に応じた５つの値を第１〜第５レジスタ３１〜３５に格納することで、外部装置（ＰＣカード（商標））４０へのＩ／Ｏライトを実現することができる。これにより、ＣＰＵの実行負荷又はＣＰＵが実行するプログラムを作成する負荷を軽減することができる。また、ＰＣカード（商標）の仕様が変更された場合であっても、第１〜第５レジスタ３１〜３５に格納する値を変更することで、容易に対応可能である。
【０１５０】
なお、ここでは、外部装置４０が第１の仕様を満たすＰＣカード（商標）であることとしたが、外部装置４０がＣＦ＋  ａｎｄ  ＣｏｍｐａｃｔＦｌａｓｈ  Ｓｐｅｃｉｆｉｃａｔｉｏｎ（以下、「第２の仕様」という）を満たすコンパクトフラッシュ（登録商標）カードであることとしても良い。第２の仕様の内のメモリ（コモンメモリ及びアトリビュートメモリ）リード／ライト及びＩ／Ｏリード／ライトにおいては、信号名、タイミング記号（ＩＥＥＥ記号）として同じ名称が用いられており、また、信号送受信タイミングも、第１の仕様とほぼ同じである。従って、外部装置４０が第２の仕様を満たすコンパクトフラッシュ（登録商標）カードである場合も、上記と同様にメモリリード／ライト及びＩ／Ｏリード／ライトを行うことが可能である。なお、第２の仕様のＩＤＥモードは、第２の仕様のＩ／Ｏリード／ライトと多少の違いはあるがほぼ同じであり、上記と同様に行うことが可能である。
【産業上の利用可能性】
【０１５１】
本発明は、外部装置にデータを出力し、外部装置からデータを受け取るためのインタフェース回路において利用可能である。このインタフェース回路は、半導体集積回路として構成可能である。この半導体集積回路は、パーソナルコンピュータ、ＰＤＡ（携帯情報端末）、ディジタルスチルカメラ、カーナビゲーション装置、携帯電話装置等に搭載可能である。
【図面の簡単な説明】
【０１５２】
【図１】本発明の一実施形態に係るインタフェースＬＳＩの概要を示す図。
【図２】図１の信号入出力部２３内の１個の出力回路を示す図。
【図３】図１のステートマシン部２２の状態遷移図。
【図４】図１のインタフェースＬＳＩ１の動作を示すタイミングチャート。
【図５】図１のインタフェースＬＳＩ１の動作を示すタイミングチャート。
【図６】図１のインタフェースＬＳＩ１の動作を示すタイミングチャート。
【図７】図１のインタフェースＬＳＩ１の動作を示すタイミングチャート。
【符号の説明】
【０１５３】
１  インタフェースＬＳＩ、  ２  制御部、  ３  ステートマシン制御レジスタ群、  ４  外部装置コンフィギュレーションレジスタ群、  ５  メモリ、  ２１  タイマ部、  ２２  ステートマシン部、  ２３  信号入出力部、  ３１〜３５  第１〜第５レジスタ  Ｌ１  論理回路、  Ｓ１  セレクタ、  ＦＦ１  Ｄ型フリップフロップ、  Ｂ１  出力バッファ
【図１】
2007249261.tif 000003
【図２】
2007249261.tif 000004
【図３】
2007249261.tif 000005
【図４】
2007249261.tif 000006
【図５】
2007249261.tif 000007
【図６】
2007249261.tif 000008
【図７】
2007249261.tif 000009