PSoC
PSoCの特徴の1つとして、他のマイクロコントローラ(マイコン)と異なり「ユーザーモジュール」と呼ばれる機能があげられる。様々なアナログおよびデジタルブロックを使用して、マイコンの周辺に必要な一連の機能を集積・内蔵することができる。初期化処理や割り込み処理などのAPIやサブルーチンは開発環境が自動的に作成してくれる。デバイスによって異なるが、最大で16個のデジタルブロックと12個のアナログブロックが利用できる物もある。
デジタルブロックには、デジタルビルディングブロック(DBBxx)とデジタル通信ブロック(DCBxx)の2種類があり、デジタル通信ブロックにはI/Oユーザーモジュール(SPI、I2C、UARTなど)を構成できる。各デジタルブロックは8ビット処理であるが、複数のブロックを組み合わせる事で16・24・32ビットで処理する事ができる。例えば、16ビットのPWMやタイマーはデジタルブロックを2つ接続して処理される。
電源投入時に(ユーザーモジュールを)構成する必要がある点においてはFPGAに似ているが、構成データは内蔵フラッシュメモリーに記憶されており自動的に読み込まれる。PSoC1ではデジタルブロックは既存の物しか使用できず、HDLなどで独自に作成することはできない。ユーザーモジュールの構成は動作中にユーザーモジュールを再構築し、動作・機能を変更することも可能である。
PSoC1のコアには以下の物が含まれている。
M8Cマイコン
フラッシュメモリ
SRAM
スリープおよびウォッチドッグタイマー
PLLを含む複数のクロックソース
低速主発振器の内蔵 高精度の水晶発振器を使いクロックを外部で作成可能