FREE AID

機電系フリーランスエンジニア求人情報サイト「フリーエイド」

TOP > エンジニアコラム >シフトレジスタとは?使い方や設計時のポイントを技術者向けに解説

シフトレジスタとは?使い方や設計時のポイントを技術者向けに解説

                   

2026年8月26日更新

この記事を書いた人

機電系専門ライター Div.長谷川
「FREE AID」編集部:長谷川

大手メーカー「コマツ」、「オムロン」などで7年間、アナログ回路エンジニアとして設計・評価業務に従事。
ECU、PLCなどのエレキ開発経験を多数持つほか、機械商社での就労経験も有する。
株式会社アイズ運営の機電系フリーランスエンジニア求人情報「FREEAID」専属ライターとして、
機電分野の知識と実務経験を活かし、専門性の高い記事執筆を行っている。

シフトレジスタは、デジタルデータをクロックに合わせて1ビットずつ順番に移動させながら保持する回路です。入力されたデータを順次送り出したり、複数ビットのデータとしてまとめて取り出したりできるため、シリアル・パラレル変換やデータの一時保持、GPIOの拡張など、さまざまなデジタル回路で利用されています。本記事では、シフトレジスタの種類や使い方、設計時のポイントを解説します。

シフトレジスタとは?

シフトレジスタとは?

シフトレジスタは、複数のビットデータをクロックに合わせて順番にずらしながら保持する回路です。1ビットずつデータを記憶する素子が複数並んでおり、クロックが入力されるたびに、各段のデータが隣の段へ1つずつ移動します。

例えば4段のシフトレジスタでは、1本の信号線から入力したデータがクロックごとに後段へ移動し、4ビット分のデータとして保持されます。各段の出力を取り出せば、シリアルに入力したデータを4ビットのパラレルデータとして利用したり、逆に保持した複数ビットのデータを1ビットずつ順番に出力したりできます。

実際に、シフトレジスタにはシリアル入力・パラレル出力品やパラレル入力・シリアル出力品など、様々な入出力構成を持った製品が販売されており、用途に合った選定が行えます。

シフトレジスタの主な使い方

シフトレジスタの主な使い方

続いて、実際にシフトレジスタがどのような使い方をされているか解説します。

シリアル・パラレル変換

シフトレジスタの代表的な用途が、シリアルデータとパラレルデータの変換です。複数ビットのデータを1ビットずつ順番に送るシリアル方式と、複数ビットを同時に扱うパラレル方式を変換するために利用されます。

例えば、シリアル入力・パラレル出力に対応したシフトレジスタでは、1本の信号線から1ビットずつ入力したデータを、複数ビットのデータとしてまとめて取り出すことができます。少ない信号線で受信したデータを、複数のビット信号として扱いたい場合などに利用されます。

一方、パラレル入力・シリアル出力に対応したシフトレジスタでは、複数ビットのデータを一度に取り込み、1ビットずつ順番に出力できます。例えば、複数のスイッチやセンサーなどの状態をまとめて取り込み、少ない信号線でマイコンなどへ送信したい場合に利用されます。

データの遅延

シフトレジスタは、入力されたデータを一定のクロック数だけ遅らせて出力する回路としても利用できます。例えば4段のシフトレジスタでは、入力された1ビットのデータはクロックが入力されるたびに1段ずつ後方へ移動するため、最終段の出力を取り出すことで、入力データを4クロック分遅らせることができます。

この仕組みを利用すると、現在のデータだけでなく、1クロック前や2クロック前などの過去のデータを同時に保持できます。そのため、複数の信号間でタイミングを合わせる場合や、現在のデータと過去のデータを比較するデジタル回路などに利用されます。

カウンタやデータ処理回路への利用

シフトレジスタは、他の論理回路と組み合わせることで、単純なデータの移動以外にもさまざまな順序回路を構成できます。例えば、シフトレジスタの出力にXORなどの論理演算を行い、その結果を再び入力側へフィードバックすることで、クロックごとに異なるビットパターンを生成できます。

このような構成は、LFSR(線形帰還シフトレジスタ)と呼ばれ、疑似乱数やテストパターンの生成、CRCの計算などに利用されます。また、シフトレジスタの出力を特定の条件でフィードバックすることで、データの状態を循環させるリングカウンタなどを構成することも可能です。

このように、シフトレジスタは他の論理回路と組み合わせることで、カウンタやパターン生成、データ処理など、幅広い用途に活用できます。

シフトレジスタを設計する際のポイント

シフトレジスタを設計する際のポイント

それでは、シフトレジスタを用いて設計する際に注意すべきポイントを解説します。

データの転送速度とクロック周波数を確認する

シフトレジスタを使用する際は、必要なデータ量を指定時間内に転送できるか確認する必要があります。例えば8ビットのデータをシリアル入力する場合、少なくとも8クロックが必要です。複数のシフトレジスタを直列に接続して32ビットのデータを扱う場合は、32クロックが必要になります。

そのため、必要な更新周期から必要なクロック周波数を算出し、シフトレジスタの最大クロック周波数を超えないように設計します。特に複数のデバイスをカスケード接続する場合は、データ幅の増加によって転送時間が長くなる点に注意が必要です。

また、最大クロック周波数だけでなく、データのセットアップ時間やホールド時間、クロックから出力が変化するまでの伝搬遅延なども確認し、接続するデバイス間でタイミング条件を満たせるか検討します。

出力を更新するタイミングを確認する

シフトレジスタによっては、データをシフトするたびに各段の出力状態が変化するものがあります。例えば、複数のLEDを制御する場合、シリアルデータを入力している途中の状態がそのまま出力されると、データ転送中に一時的な点灯状態の変化が発生する可能性があります。

このような用途では、シフトレジスタの内部データと外部出力を分離できる出力ラッチ付きの製品を使用すると、すべてのデータをシフトレジスタへ入力した後に、まとめて出力を更新できます。LEDや表示器、制御信号などを扱う場合は、出力がいつ変化するかを確認することが重要です。

カスケード接続時のデータ幅と遅延を考慮する

より多くのビットを扱う場合は、複数のシフトレジスタを直列に接続することがあります。前段のシフトレジスタのシリアル出力を次段のシリアル入力へ接続する方法であり、これをカスケード接続と呼びます。

例えば8ビットのシフトレジスタを4個カスケード接続すれば、32ビット分のデータを扱うことができます。ただし、32ビット分のデータをシリアル転送するには32クロックが必要になるため、更新周期が短い用途では転送時間が問題になることがあります。

また、高速動作では、前段の出力が変化してから次段がデータを取り込むまでの伝搬遅延やタイミング条件も考慮する必要があります。複数のデバイスを接続する場合は、必要なデータ幅だけでなく、データシートに記載された最大クロック周波数やカスケード接続時のタイミング条件も確認することが重要です。

出力電流と接続する負荷を確認する

GPIO拡張やLED制御にシフトレジスタを使用する場合は、各出力端子から供給または吸い込みできる電流を確認する必要があります。例えばLEDを直接接続する場合、1出力あたりの最大電流だけでなく、複数の出力を同時に使用した場合の合計電流にも注意が必要です。

また、リレーやモーターなど、シフトレジスタの出力だけでは直接駆動できない負荷を制御する場合は、トランジスタやドライバICなどを追加する必要があります。使用する負荷の電圧や必要な電流に合わせて、出力回路を設計することが重要です。

電源投入時とリセット時の出力状態を確認する

シフトレジスタを外部回路の制御に使用する場合は、電源投入時の状態にも注意が必要です。製品によってはリセット端子を備えており、各段のデータを特定の状態に初期化できます。一方、電源投入直後の内部状態や出力状態が保証されていない製品もあります。

特にLEDや外部制御信号に使用する場合、電源投入直後に意図しない出力が発生すると誤動作につながる可能性があります。必要に応じてリセット回路やプルアップ・プルダウン抵抗を追加し、安全な状態から動作を開始できるように設計します。

まとめ

シフトレジスタは、クロックに合わせてデータを順番に移動・保持するデジタル回路です。シリアルデータをパラレルデータに変換したり、複数ビットのデータをシリアルに出力したりできるため、GPIOの拡張やデータの遅延、カウンタ、データ処理回路などに利用されています。

設計する際は、必要なデータ幅や更新周期から必要なクロック周波数を確認することが重要です。また、複数のシフトレジスタをカスケード接続する場合は転送時間や伝搬遅延、LEDなどを制御する場合は出力の更新タイミングや出力電流も考慮する必要があります。

用途に応じて適切な入出力方式や製品を選択し、データ転送速度やタイミング条件、負荷条件を満たすように設計するようにしましょう。

当サイトFREE AIDは、機電系を始めとしたエンジニアのフリーランス専門求人を扱っています。
→機電系フリーランスエンジニア求人はこちら

また、フリーランスエンジニアとして働きたい方に合った案件探しや専門アドバイザーの活動サポートも無料で行っています。
→フリーランス無料支援に興味がある方はこちら

フリーランス×機電系エンジニア!高単価求人はこちら ▶

この記事の運営元:日総工産株式会社

日総工産株式会社は、日総グループは、事務派遣・紹介事業、介護福祉事業、障がい者雇用、海外での人材サービスなど、
さまざまな分野において事業を展開しています。
  「アウトソーシング」「ビジネスソリューション」「エンジニアリング」「ファクトリーオートメーション」の4つの事業を柱に、製造業やICT分野の課題解決を力強くサポートする、
フリーランスの機電系エンジニア求人情報サイト「FREE AID」を運営しています。
シフトレジスタとは?使い方や設計時のポイントを技術者向けに解説のページです。エンジニアにまつわるお役立ちの最新情報を発信しています。電気電子設計や製造技術や機械設計・生産技術などはもちろん、 フィールドエンジニアやITシステム開発まで、機電系エンジニア業界での働き方や年収、話題性の高い情報を細かく解説しています。 また、当サイトではフリーランス機電系エンジニア求人をご用意しています。 気になるエンジニア求人があれば、ご応募ください。 フリーランスの機電系エンジニア求人 なら【フリーエイド】

応募完了いたしました。
内容確認後、あらためて2営業日前後に担当者よりご連絡させていただきます。

【求人あり】機電系フリーランス案件を見る
【求人あり】機電系フリーランス案件を見る