第1のデータ信号が入力される第1のデータ端子と、第2のデータ信号が入力される第2のデータ端子と、前記第1のデータ信号に対して論理が反転している第3のデータ信号が入力される第3のデータ端子と、前記第2のデータ信号に対して論理が反転している第4のデータ信号が入力される第4のデータ端子と、第1の電位線に一端が接続された第1の可変電流源と、前記第1の可変電流源の他端と第1の出力端子との間に接続された第1導電型の第1のMOSトランジスタと、前記第1の可変電流源の他端と前記第1の出力端子との間で、前記第1のMOSトランジスタと直列に接続された第1の抵抗と、前記第1の出力端子に一端が接続された第2導電型の第2のMOSトランジスタと、前記第2のMOSトランジスタの他端に一端が接続され、第2の電位線に他端が接続された第2の可変電流源と、前記第1の可変電流源の他端と第2の出力端子との間に接続された第1導電型の第3のMOSトランジスタと、前記第1の可変電流源の他端と前記第2の出力端子との間で、前記第3のMOSトランジスタと直列に接続された第2の抵抗と、前記第2の出力端子に一端が接続され、前記第2の可変電流源の一端に他端が接続された第2導電型の第4のMOSトランジスタと、前記第1の出力端子とモニタノードとの間に接続された第3の抵抗と、前記第1の出力端子と前記モニタノードとの間で、前記第3の抵抗と直列に接続され、選択端子を介して入力された選択信号が第1の設定の場合にはオフし、前記選択信号が第2の設定の場合にはオンする第1のスイッチ素子と、前記第2の出力端子と前記モニタノードとの間に接続された第4の抵抗と、前記第2の出力端子と前記モニタノードとの間で、前記第4の抵抗と直列に接続され、前記第1の設定の場合にはオフし、前記第2の設定の場合にはオンする第2のスイッチ素子と、前記第1の設定の場合には、前記第1の可変電流源のインピーダンスを或る値に固定して電流が流れるように制御し、一方、前記第2の設定の場合には、前記モニタノードのモニタ電圧と、参照電圧とを比較し、前記モニタ電圧が前記参照電圧と等しくなるように、前記第1の可変電流源に流れる電流を制御する電流制御回路と、前記第1の設定の場合には、前記第1および第3のMOSトランジスタをオンさせた状態で、前記第2のデータ信号に応じて前記第2のMOSトランジスタのオン/オフを制御し、且つ前記第4のデータ信号に応じて前記第4のMOSトランジスタのオン/オフを制御し、一方、前記第2の設定の場合には、前記第1のデータ信号に応じて前記第1のMOSトランジスタのオン/オフを制御し、前記第2のデータ信号に応じて前記第2のMOSトランジスタのオン/オフを制御し、前記第3のデータ信号に応じて前記第3のMOSトランジスタのオン/オフを制御し、且つ前記第4のデータ信号に応じて前記第4のMOSトランジスタのオン/オフを制御するデータ信号制御回路と、を備えることを特徴とする差動出力回路。前記第1の可変電流源は、前記第1の電位線に一端が接続され、前記第1のMOSトランジスタの一端に他端が接続された第1導電型の第5のMOSトランジスタであり、前記電流制御回路は、前記モニタ電圧と前記参照電圧とを比較し、前記モニタ電圧が前記参照電圧と等しくなるように、前記第5のMOSトランジスタにゲート制御信号を出力するアンプ回路と、前記第5のMOSトランジスタのゲートと前記第2の電位線との間に接続され、前記第1の設定の場合には、オンし、一方、前記第2の設定の場合には、オフする第3のスイッチ素子と、を有することを特徴とする請求項1に記載の差動出力回路。第1のデータ信号が入力される第1のデータ端子と、第2のデータ信号が入力される第2のデータ端子と、前記第1のデータ信号に対して論理が反転している第3のデータ信号が入力される第3のデータ端子と、前記第2のデータ信号に対して論理が反転している第4のデータ信号が入力される第4のデータ端子と、第1の電位線に一端が接続された第1の可変電流源と、前記第1の可変電流源の他端と第1の出力端子との間に接続された第1導電型の第1のMOSトランジスタと、前記第1の可変電流源の他端と前記第1の出力端子との間で、前記第1のMOSトランジスタと直列に接続された第1の抵抗と、前記第1の出力端子に一端が接続された第2導電型の第2のMOSトランジスタと、前記第2のMOSトランジスタの他端に一端が接続され、第2の電位線に他端が接続された第2の可変電流源と、前記第1の可変電流源の他端と第2の出力端子との間に接続された第1導電型の第3のMOSトランジスタと、前記第1の可変電流源の他端と前記第2の出力端子との間で、前記第3のMOSトランジスタと直列に接続された第2の抵抗と、前記第2の出力端子に一端が接続され、前記第2の可変電流源の一端に他端が接続された第2導電型の第4のMOSトランジスタと、前記第1の出力端子とモニタノードとの間に接続された第3の抵抗と、前記第1の出力端子と前記モニタノードとの間で、前記第3の抵抗と直列に接続され、選択端子を介して入力された選択信号が第1の設定の場合にはオフし、前記選択信号が第2の設定の場合にはオンする第1のスイッチ素子と、前記第2の出力端子と前記モニタノードとの間に接続された第4の抵抗と、前記第2の出力端子と前記モニタノードとの間で、前記第4の抵抗と直列に接続され、前記第1の設定の場合にはオフし、前記第2の設定の場合にはオンする第2のスイッチ素子と、前記第1の設定の場合には、前記第2の可変電流源のインピーダンスを或る値に固定して電流が流れるように制御し、一方、前記第2の設定の場合には、前記モニタノードのモニタ電圧と、参照電圧とを比較し、前記モニタ電圧が前記参照電圧と等しくなるように、前記第2の可変電流源に流れる電流を制御する電流制御回路と、前記第1の設定の場合には、前記第1および第3のMOSトランジスタをオンさせた状態で、前記第2のデータ信号に応じて前記第2のMOSトランジスタのオン/オフを制御し、且つ前記第4のデータ信号に応じて前記第4のMOSトランジスタのオン/オフを制御し、一方、前記第2の設定の場合には、前記第1のデータ信号に応じて前記第1のMOSトランジスタのオン/オフを制御し、前記第2のデータ信号に応じて前記第2のMOSトランジスタのオン/オフを制御し、前記第3のデータ信号に応じて前記第3のMOSトランジスタのオン/オフを制御し、且つ前記第4のデータ信号に応じて前記第4のMOSトランジスタのオン/オフを制御するデータ信号制御回路と、を備えることを特徴とする差動出力回路。前記第2の可変電流源は、前記第2のMOSトランジスタの他端に一端が接続され、前記第2の電位線に他端が接続された第2導電型の第6のMOSトランジスタであり、前記電流制御回路は、前記モニタ電圧と前記参照電圧とを比較し、前記モニタ電圧が前記参照電圧と等しくなるように、前記第6のMOSトランジスタにゲート制御信号を出力するアンプ回路と、前記第6のMOSトランジスタのゲートと前記第1の電位線との間に接続され、前記第1の設定の場合には、オンし、一方、前記第2の設定の場合には、オフする第3のスイッチ素子と、を有することを特徴とする請求項3に記載の差動出力回路。前記第1の設定はCML方式を規定し、前記第2の設定はLVDS方式を規定することを特徴とする請求項1乃至4に記載の差動出力回路。回路面積の増大を抑制しつつ、LVDS方式とCML方式との何れにも適用することが可能な差動出力回路を提供する。実施形態に従った差動出力回路は、第1のデータ信号が入力される第1のデータ端子を備える。差動出力回路は、第2のデータ信号が入力される第2のデータ端子を備える。差動出力回路は、前記第1のデータ信号に対して論理が反転している第3のデータ信号が入力される第3のデータ端子を備える。差動出力回路は、前記第2のデータ信号に対して論理が反転している第4のデータ信号が入力される第4のデータ端子を備える。差動出力回路は、第1の電位線に一端が接続された第1の可変電流源を備える。差動出力回路は、前記第1の可変電流源の他端と第1の出力端子との間に接続された第1導電型の第1のMOSトランジスタを備える。差動出力回路は、前記第1の可変電流源の他端と前記第1の出力端子との間で、前記第1のMOSトランジスタと直列に接続された第1の抵抗を備える。差動出力回路は、前記第1の出力端子に一端が接続された第2導電型の第2のMOSトランジスタを備える。差動出力回路は、前記第2のMOSトランジスタの他端に一端が接続され、第2の電位線に他端が接続された第2の可変電流源を備える。差動出力回路は、前記第1の可変電流源の他端と第2の出力端子との間に接続された第1導電型の第3のMOSトランジスタを備える。差動出力回路は、前記第1の可変電流源の他端と前記第2の出力端子との間で、前記第3のMOSトランジスタと直列に接続された第2の抵抗を備える。差動出力回路は、前記第2の出力端子に一端が接続され、前記第2の可変電流源の一端に一端が接続された第2導電型の第4のMOSトランジスタを備える。差動出力回路は、前記第1の出力端子とモニタノードとの間に接続された第3の抵抗を備える。差動出力回路は、前記第1の出力端子と前記モニタノードとの間で、前記第3の抵抗と直列に接続され、選択端子を介して入力された選択信号が第1の設定の場合にはオフし、前記選択信号が第2の設定の場合にはオンする第1のスイッチ素子と、前記第2の出力端子と前記モニタノードとの間に接続された第4の抵抗を備える。差動出力回路は、前記第2の出力端子と前記モニタノードとの間で、前記第4の抵抗と直列に接続され、前記第1の設定の場合にはオフし、前記第2の設定の場合にはオンする第2のスイッチ素子を備える。差動出力回路は、前記第1の設定の場合には、前記第1の可変電流源のインピーダンスを或る値に固定して電流が流れるように制御し、一方、前記第2の設定の場合には、前記モニタノードのモニタ電圧と、参照電圧とを比較し、前記モニタ電圧が前記参照電圧と等しくなるように、前記第1の可変電流源に流れる電流を制御する電流制御回路を備える。差動出力回路は、前記第1の設定の場合には、前記第1および第3のMOSトランジスタをオンさせた状態で、前記第2のデータ信号に応じて前記第2のMOSトランジスタのオン/オフを制御し、且つ前記第4のデータ信号に応じて前記第4のMOSトランジスタのオン/オフを制御し、一方、前記第2の設定の場合には、前記第1のデータ信号に応じて前記第1のMOSトランジスタのオン/オフを制御し、前記第2のデータ信号に応じて前記第2のMOSトランジスタのオン/オフを制御し、前記第3のデータ信号に応じて前記第3のMOSトランジスタのオン/オフを制御し、且つ前記第4のデータ信号に応じて前記第4のMOSトランジスタのオン/オフを制御するデータ信号制御回路を備える。以下、実施形態について図面に基づいて説明する。なお、以下の実施形態では、第1の電位線が電源に接続され、第2の電位線が接地に接続され、第1導電型のMOSトランジスタがpMOSトランジスタであり、第2導電型のMOSトランジスタがnMOSトランジスタである場合について説明する。しかし、回路の極性が逆になる場合、すなわち、第1の電位線が接地に接続され、第2の電位線が電源に接続され、第1導電型のMOSトランジスタがnMOSトランジスタであり、第2導電型のMOSトランジスタがpMOSトランジスタである場合も同様に説明される。図1は、第1の実施形態に係る半導体装置1000の構成の一例を示す図である。また、図2は、第1の実施形態に係る差動出力回路の回路構成の一例を示す回路図である。図1に示すように、半導体装置半導体チップ1000は、プロセッサ101、メモリ102、周辺回路103、IPコア104、I/O回路105、および送信回路106を含むデータ処理システム100を備える。送信回路106は、IPコア104が出力した信号を処理した送信信号TXP、TXNを、第1、第2の出力端子Tout1、Tout2から出力するようになっている。この送信回路106は、差動出力回路1と、プリドライバ2と、論理回路3と、を備える。論理回路3は、IPコア104が出力した信号を論理演算して出力するようになっている。プリドライバ2は、論理回路3が出力した信号を増幅して出力するようになっている。このプリドライバ2が出力する信号には、後述のように、選択信号Ss、参照電圧Vref、固定電圧Vg、第1ないし第4のデータ信号SD1、SD2、SD1B、SD2Bが含まれる。差動出力回路1は、プリドライバ2が出力した信号をCML方式またはLVDS方式の何れか一方で、第1、第2の出力端子Tout1、Tout2を介して、送信するようになっている。ここで、図2に示すように、差動出力回路1は、選択端子TSと、参照電圧端子Trefと、第1のデータ端子TD1と、第2のデータ端子TD2と、第3のデータ端子TD3と、第4のデータ端子TD4と、第1の可変電流源IS1と、第2の可変電流源IS2と、第1導電型の第1のMOSトランジスタpMOSトランジスタM1と、第2導電型の第2のMOSトランジスタnMOSトランジスタM2と、第1導電型の第3のMOSトランジスタpMOSトランジスタM3と、第2導電型の第4のMOSトランジスタnMOSトランジスタM4と、第1の抵抗R1と、第2の抵抗R2と、第3の抵抗R3と、第4の抵抗R4と、第1のスイッチ素子SW1と、第2のスイッチ素子SW2と、電流制御回路CON1と、データ信号制御回路CON2と、を備える。選択端子TSは、データ送信時において、プリドライバ2から出力された選択信号Ssが入力されるようになっている。参照電圧端子Trefは、データ送信時において、プリドライバ2から出力された参照電圧Vrefが印加される第1のデータ端子TD1は、データ送信時において、プリドライバ2から出力された第1のデータ信号SD1が入力されるようになっている。第2のデータ端子TD2は、データ送信時において、プリドライバ2から出力された第2のデータ信号SD2が入力されるようになっている。第3のデータ端子TD3は、データ送信時において、プリドライバ2から出力され且つ第1のデータ信号SD1に対して論理が反転している第3のデータ信号SD1Bが、入力されるようになっている。第4のデータ端子TD4は、データ送信時において、プリドライバ2から出力され且つ第2のデータ信号SD2に対して論理が反転している第4のデータ信号SD2Bが、入力されるようになっている。なお、データ送信時において、第1のデータ信号SD1は、例えば、第2のデータ信号SD2と等価である。この場合、第3のデータ信号SD1Bは、第4のデータ信号SD2Bと等価となる。第1の可変電流源IS1は、第1の電位線VDDに一端が接続されている。この第1の可変電流源IS1は、例えば、図2に示すように、第1導電型の第5のMOSトランジスタpMOSトランジスタM5である。この第5のMOSトランジスタM5は、第1の電位線VDDに一端ソースが接続され、第1のMOSトランジスタM1の一端ソースに他端ドレインが接続され、ゲートにゲート制御信号SGが入力されるようになっている。第1のMOSトランジスタM1は、第1の可変電流源IS1の他端と第1の出力端子Tout1との間に接続されている。第1の抵抗R1は、第1の可変電流源IS1の他端と第1の出力端子Tout1との間で、第1のMOSトランジスタM1と直列に接続されている。なお、第1の出力端子Tout1に対する第1のMOSトランジスタM1の寄生容量の影響を考慮した場合、図2に示すように、第1の抵抗R1の一端は、第1の出力端子Tout1に接続され、第1のMOSトランジスタM1は、第1の可変電流源IS1の他端と第1の抵抗R1の他端との間に接続される。また、第2のMOSトランジスタM2は、第1の出力端子Tout1に一端ドレインが接続されている。第2の可変電流源IS2は、第2のMOSトランジスタM2の他端ソースに一端が接続され、第2の電位線VSSに他端が接続されている。この第2の可変電流源IS2は、例えば、第2導電型の第6のMOSトランジスタnMOSトランジスタM6である。この第6のMOSトランジスタM6は、第2のMOSトランジスタM2の他端ソースに一端ドレインが接続され、第2の電位線VSSに他端ソースが接続され、ゲートゲート端子Tgに固定電圧Vgが印加されている。また、第3のMOSトランジスタM3は、第1の可変電流源IS1の他端と第2の出力端子Tout2との間に接続されている。第2の抵抗R2は、第1の可変電流源IS1の他端と第2の出力端子Tout2との間で、第3のMOSトランジスタM3と直列に接続されている。なお、第2の出力端子Tout2に対する第2のMOSトランジスタM2の寄生容量の影響を考慮した場合、図2に示すように、第2の抵抗R2の一端は、第2の出力端子Tout2に接続され、第2のMOSトランジスタM2は、第1の可変電流源IS1の他端と第2の抵抗R2の他端との間に接続される。第4のMOSトランジスタM4は、第2の出力端子Tout2に一端ドレインが接続され、第2の可変電流源IS2の一端に一端がソース接続されている。第3の抵抗R3は、第1の出力端子Tout1とモニタノードTMとの間に接続されている。第1のスイッチ素子SW1は、第1の出力端子Tout1とモニタノードTMとの間で、第3の抵抗R3と直列に接続されている。この第1のスイッチ素子SW2は、例えば、第1導電型のMOSトランジスタpMOSトランジスタである。この第1のスイッチ素子SW1は、選択信号SsがCML方式を選択すること規定する第1の設定CMLモードすなわち、選択信号SsがHighレベルの場合にはオフし、選択信号SsがLVDS方式を選択すること規定する第2の設定LVDSモードの場合すなわち、選択信号SsがLowレベルにはオンするようになっている。なお、第1の出力端子Tout1に対する第1のスイッチ素子pMOSトランジスタSW1の寄生容量の影響を考慮した場合、図2に示すように、第3の抵抗R3の一端は、第1の出力端子Tout1に接続され、第1のスイッチ素子SW1は、第3の抵抗R3の他端とモニタノードTMとの間に接続される。第4の抵抗R4は、第2の出力端子Tout2とモニタノードTMとの間に接続されている。第2のスイッチ素子SW2は、第2の出力端子Tout2とモニタノードTMとの間で、第4の抵抗R4と直列に接続されている。この第2のスイッチ素子SW2は、例えば、第1導電型のMOSトランジスタpMOSトランジスタである。この第2のスイッチ素子SW2は、第1の設定CMLモードの場合にはオフし、第2の設定LVDSモードの場合にはオンするようになっている。なお、第2の出力端子Tout2に対する第2のスイッチ素子pMOSトランジスタSW2の寄生容量の影響を考慮した場合、図2に示すように、第4の抵抗R4の一端は、第2の出力端子Tout2に接続され、第2のスイッチ素子SW2は、第4の抵抗R4の他端とモニタノードTMとの間に接続される。電流制御回路CON1は、第1の設定CMLモードの場合には、第1の可変電流源IS1のインピーダンスを或る値低インピーダンスに固定してすなわち、第5のMOSトランジスタM5をオン状態にして所定の電流が流れるように制御するようになっている。一方、電流制御回路CON1は、第2の設定LVDSモードの場合には、モニタノードTMのモニタ電圧VMと、参照電圧Vrefとを比較し、モニタ電圧VMが参照電圧Vrefと等しくなるように、第1の可変電流源IS1に流れる電流を制御するようになっている。この電流制御回路CON1は、例えば、図2に示すように、アンプ回路コモンモードフィードバックアンプAMPと、第3のスイッチ素子SW3と、を有する。アンプ回路AMPは、モニタ電圧VMと参照電圧Vrefとを比較し、モニタ電圧VMが参照電圧Vrefと等しくなるように、第5のMOSトランジスタM5にゲート制御信号SGを出力するようになっている。アンプ回路AMPは、例えば、モニタ電圧VMが参照電圧Vrefより高い場合は、第5のMOSトランジスタM5に流れる電流を制限し、一方、モニタ電圧VMが参照電圧Vrefより低い場合は、第5のMOSトランジスタM5に流れる電流が増加するようにする。第3のスイッチ素子SW3は、第5のMOSトランジスタM5のゲートと第2の電位線VSSとの間に接続され、選択信号Ssによりオン/オフが制御されるようになっている。この第3のスイッチ素子SW3は、例えば、ゲートに選択信号Ssが入力されるnMOSトランジスタである。例えば、第3のスイッチ素子SW3は、第1の設定CMLモードの場合すなわち、選択信号SsがHighレベルには、オンし、一方、第2の設定LVDSモードすなわち、選択信号SsがLowレベルの場合には、オフする。また、データ信号制御回路CON2は、第1の設定CMLモードの場合には、第1、第3のMOSトランジスタM1、M3をオンさせた状態で、第2のデータ信号SD2に応じて第2のMOSトランジスタM2のオン/オフを制御し、且つ第4のデータ信号SD4に応じて第4のMOSトランジスタM4のオン/オフを制御するようになっている。一方、データ信号制御回路CON2は、第2の設定LVDSモードの場合には、第1のデータ信号SD1に応じて第1のMOSトランジスタM1のオン/オフを制御し、第2のデータ信号SD2に応じて第2のMOSトランジスタM2のオン/オフを制御し、第3のデータ信号SD1Bに応じて第3のMOSトランジスタM3のオン/オフを制御し、且つ第4のデータ信号SD2Bに応じて第4のMOSトランジスタM4のオン/オフを制御するようになっている。このデータ信号制御回路CON2は、例えば、第1のプリドライバPD1と、第2のプリドライバPD2と、第3のプリドライバPD3と、第4のプリドライバPD4と、を有する。第1のプリドライバPD1は、選択信号Ssおよび第1のデータ信号SD1に応じて、第1のMOSトランジスタM1のゲート電圧を制御するようになっている。この第1のプリドライバPD1は、例えば、図2に示すように、選択端子Tsに入力が接続された第1のインバータIN1と、第1のデータ端子TD1および第1のインバータIN1の出力に入力が接続され、第1のMOSトランジスタM1のゲートに出力が接続された第1のAND回路A1と、を有する。また、第2のプリドライバPD2は、第2のデータ信号SD2に応じて、第2のMOSトランジスタM2のゲート電圧を制御するようになっている。この第2のプリドライバPD2は、例えば、図2に示すように、第2のデータ端子TD2に2つの入力が接続され、第2のMOSトランジスタM2のゲートに出力が接続された第2のAND回路A2を有する。また、第3のプリドライバPD3は、選択信号Ssおよび第3のデータ信号SD1Bに応じて、第3のMOSトランジスタM3のゲート電圧を制御するようになっている。この第3のプリドライバPD3は、例えば、図2に示すように、選択端子Tsに入力が接続された第2のインバータIN2と、第3のデータ端子TD3および第2のインバータの出力に入力が接続され、第3のMOSトランジスタM3のゲートに出力が接続された第3のAND回路A3と、を有する。また、第4のプリドライバPD4は、第4のデータ信号SD2Bに応じて、第4のMOSトランジスタM4のゲート電圧を制御するようになっている。この第4のプリドライバPD4は、例えば、図2に示すように、第4のデータ端子TD4に2つの入力が接続され、第4のMOSトランジスタM4のゲートに出力が接続された第4のAND回路A4を有する。次に、以上のような構成を有する差動出力回路1の動作の一例について説明する。一般的に、通信の際には、通信中にLVDS方式から突然CML方式に切り替わるような事はなく、受信側の通信規格に従って送信側の出力方式を決めることになる。既述のように、差動出力回路1は、選択信号Ssに応じて、LVDS方式とCML方式の切り替えを実行する。先ず、選択信号SsがCML方式を選択すること規定する第1の設定CMLモードすなわち、選択信号SsがHighレベルの場合について説明する。この第1の設定CMLモードの場合、第3のスイッチ素子SW3は、オンする。選択信号Ssにより、アンプ回路AMPの出力は無効化され、同時に第3のスイッチ素子SW3によって、第5のMOSトランジスタM5のゲート電圧をLowレベルにし、第5のMOSトランジスタM5をフルにオンさせる。すなわち、電流制御回路CON1は、第1の可変電流源IS1のインピーダンスを或る値低インピーダンスに固定してすなわち、第5のMOSトランジスタM5をオン状態にして所定の電流が流れるように制御する。さらに、この第1の設定CMLモードの場合、第1、第2のスイッチ素子SW1、SW2は、オフする。これにより、第3、第4の抵抗R3、R4には、電流が流れず、第2の出力端子Tout2と第1の出力端子Tout1との間の経路は、開放となる。さらに、この第1の設定CMLモードの場合、データ信号制御回路CON2は、第1、第3のMOSトランジスタM1、M3のゲートに常にLowレベルの信号を印加し、第2、第4のMOSトランジスタM2、M4のゲートに第2、第4のデータ信号SD2、SD2Bに応じた信号を印加する。すなわち、この第1の設定CMLモードの場合、データ信号制御回路CON2は、第1、第3のMOSトランジスタM1、M3をオンさせた状態で、第2のデータ信号SD2に応じて第2のMOSトランジスタM2のオン/オフを制御し、且つ第4のデータ信号SD2Bに応じて第4のMOSトランジスタM4のオン/オフを制御する。このように、第1、第3、第5のMOSトランジスタM1、M3、M5がフルにオン、つまりオン抵抗が低い状態で、第1、第2の抵抗R1、R2が存在する形となり、差動出力回路1は、CML方式としての動作が可能となる。この時の第1の出力端子Tout1に係るプルアップ抵抗値としては、第5のMOSTトランジスタM5のオン抵抗と、第1のMOSトランジスタM1のオン抵抗と、第1の抵抗R1の抵抗値との総和となる。また、第2の出力端子Tout2に係るプルアップ抵抗値としては、第5のMOSTトランジスタM5のオン抵抗と、第3のMOSトランジスタM3のオン抵抗と、第2の抵抗R2の抵抗値との総和となる。この第1の設定CMLモードにおける動作時の出力信号の振幅は、このプルアップ抵抗値の総和と、第6のMOSトランジスタM6に流れるドレイン―ソース間電流の値から決定される。この第6のMOSトランジスタM6は、既述のように、固定電圧Vgによって出力電流を制御することができる。次に、選択信号SsがLVDS方式を選択すること規定する第2の設定LVDSモードの場合すなわち、選択信号SsがLowレベルについて説明する。この第2の設定LVDSモードの場合、第3のスイッチ素子SW3は、オフする。選択信号Ssにより、アンプ回路AMPの出力は有効化される。アンプ回路AMPは、モニタ電圧VMと参照電圧Vrefとを比較し、モニタ電圧VMが参照電圧Vrefと等しくなるように、第5のMOSトランジスタM5にゲート制御信号SGを出力する。アンプ回路AMPは、例えば、モニタ電圧VMが参照電圧Vrefより高い場合は、第5のMOSトランジスタM5に流れる電流を制限し、一方、モニタ電圧VMが参照電圧Vrefより低い場合は、第5のMOSトランジスタM5に流れる電流が増加するようにする。このように、電流制御回路CON1は、第2の設定LVDSモードの場合には、モニタノードTMのモニタ電圧VMと、参照電圧Vrefとを比較し、モニタ電圧VMが参照電圧Vrefと等しくなるように、第1の可変電流源IS1に流れる電流を制御する。さらに、この第2の設定LVDSモードの場合、第1、第2のスイッチ素子SW1、SW2は、オンする。これにより、第2の出力端子Tout2と第1の出力端子Tout1との間に挿入された第3、第4の抵抗R3、R4を経由して、動作時に第2の出力端子Tout2と第1の出力端子Tout1に対するモニタ電圧コモンモード電圧VMとしてアンプ回路AMPの入力まで引き出すことができる。さらに、第2の設定LVDSモードの場合、データ信号制御回路CON2は、第1のデータ信号SD1に応じて第1のMOSトランジスタM1のオン/オフを制御し、第2のデータ信号SD2に応じて第2のMOSトランジスタM2のオン/オフを制御し、第3のデータ信号SD1Bに応じて第3のMOSトランジスタM3のオン/オフを制御し、且つ第4のデータ信号SD2Bに応じて第4のMOSトランジスタM4のオン/オフを制御する。すなわち、差動出力回路1は、LVDS方式としての動作が可能となる。このように、差動出力回路1は、転送速度として低速域から高速域までの広い範囲で適応可能である。また、差動出力回路1は、2つの方式に対して回路としてデバイスを共有化するために、集積回路の面積の増加を最小限に留めることができる。すなわち、本実施形態に係る差動出力回路は、回路面積の増大を抑制しつつ、LVDS方式とCML方式との何れにも適用することができる。本第2の実施形態においては、差動出力回路の他の構成例について、説明する。この第2の実施形態に係る差動出力回路も第1の実施形態に係る差動出力回路と同様に、図1に示す半導体装置に適用される。ここで、図3は、第2の実施形態に係る差動出力回路の回路構成の一例を示す回路図である。なお、図3において、図2の符号と同じ符号は、第1の実施形態と同様の構成を示す。図3に示すように、差動出力回路1aは、選択端子TSと、参照電圧端子Trefと、第1のデータ端子TD1と、第2のデータ端子TD2と、第3のデータ端子TD3と、第4のデータ端子TD4と、第1の可変電流源IS1と、第2の可変電流源IS2と、第1導電型の第1のMOSトランジスタpMOSトランジスタM1と、第2導電型の第2のMOSトランジスタnMOSトランジスタM2と、第1導電型の第3のMOSトランジスタpMOSトランジスタM3と、第2導電型の第4のMOSトランジスタnMOSトランジスタM4と、第1の抵抗R1と、第2の抵抗R2と、第3の抵抗R3と、第4の抵抗R4と、第1のスイッチ素子SW1と、第2のスイッチ素子SW2と、電流制御回路CON1aと、データ信号制御回路CON2と、を備える。ここで、第1の実施形態と異なり、第1の可変電流源IS1である第5のMOSトランジスタM5は、ゲートゲート端子Tgに固定電圧Vgが印加されている。また、第2の可変電流源IS2である第6のMOSトランジスタM6は、ゲートにゲート制御信号SGが入力されるようになっている。そして、電流制御回路CON1aは、第1の設定CMLモードの場合には、第2の可変電流源IS2のインピーダンスを或る値低インピーダンスに固定してすなわち、第6のMOSトランジスタM6をオン状態にして電流が流れるように制御するようになっている。一方、電流制御回路CON1aは、第2の設定LVDSモードの場合には、モニタノードTMのモニタ電圧VMと、参照電圧Vrefとを比較し、モニタ電圧VMが参照電圧Vrefと等しくなるように、第2の可変電流源IS2に流れる電流を制御するようになっている。この電流制御回路CON1aは、第3のインバータIN3と、アンプ回路AMPaと、第3のスイッチ素子SW3aと、を有する。第3のインバータIN3は、選択端子Tに入力が接続されている。第3のスイッチ素子SW3aは、第6のMOSトランジスタのゲートと第1の電位線VDDとの間に接続され、第3のインバータIN3の出力がゲートに接続されている。そして、この第3のスイッチ素子SW3は、第1の設定CMLモードの場合には、オンし、一方、第2の設定LVDSモードの場合には、オフするようになっている。第2の設定CMLモードの場合、アンプ回路AMPaは、モニタ電圧VMと参照電圧Vrefとを比較し、モニタ電圧VMが参照電圧Vrefと等しくなるように、第6のMOSトランジスタM6にゲート制御信号SGを出力するようになっている。このように、差動出力回路1aは、第2の可変電流源IS2を電流制御回路CON1aが制御する点で、第1の実施形態と異なる。なお、差動出力回路1aのその他の構成機能は、第1の実施形態の差動出力回路1と同様である。すなわち、差動出力回路1aは、第1の実施形態と同様に、転送速度として低速域から高速域までの広い範囲で適応可能である。また、差動出力回路1は、2つの方式に対して回路としてデバイスを共有化するために、集積回路の面積の増加を最小限に留めることができる。以上のように、本実施形態に係る差動出力回路によれば、第1の実施形態と同様に、回路面積の増大を抑制しつつ、LVDS方式とCML方式との何れにも適用することができる。なお、実施形態は例示であり、発明の範囲はそれらに限定されない。