JP3555875B2 - コンフィグレーション回路及び方法 - Google Patents
コンフィグレーション回路及び方法 Download PDFInfo
- Publication number
- JP3555875B2 JP3555875B2 JP2000371862A JP2000371862A JP3555875B2 JP 3555875 B2 JP3555875 B2 JP 3555875B2 JP 2000371862 A JP2000371862 A JP 2000371862A JP 2000371862 A JP2000371862 A JP 2000371862A JP 3555875 B2 JP3555875 B2 JP 3555875B2
- Authority
- JP
- Japan
- Prior art keywords
- configuration
- fpga
- power supply
- circuit
- configuration data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 25
- 102100039435 C-X-C motif chemokine 17 Human genes 0.000 description 17
- 101000889048 Homo sapiens C-X-C motif chemokine 17 Proteins 0.000 description 17
- 238000010586 diagram Methods 0.000 description 8
- 230000000694 effects Effects 0.000 description 3
- 101100524639 Toxoplasma gondii ROM3 gene Proteins 0.000 description 1
- 230000000630 rising effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Power Sources (AREA)
- Logic Circuits (AREA)
Description
【発明の属する技術分野】
本発明は、電源投入時に内部回路をコンフィグレーションするFPGA(Field Programmable Gate Alley)を含むコンフィグレーション回路に関する。
【0002】
【従来の技術】
従来より、電源投入時等に所定の回路データを読み込んで内部回路をコンフィグレーションし、所望の論理回路として動作させることが可能な半導体素子としてFPGAが知られている。
【0003】
以下、図4に示すような構成を例にして従来のコンフィグレーション回路について説明する。
【0004】
図4は従来のコンフィグレーション回路の構成を示す回路図である。図5は図4に示したコンフィグレーション回路の動作を示す図であり、コンフィグレーション動作が成功する様子を示すタイミングチャートである。また、図6は図4に示したコンフィグレーション回路の動作を示す図であり、コンフィグレーション動作が失敗する様子を示すタイミングチャートである。
【0005】
図4において、コンフィグレーション回路は、I/O用電源電圧VCC1とコア電源電圧VCC2の二つの電源電圧で動作するマスタFPGA101及びスレーブFPGA102と、FPGAのコンフィグレーション用データが格納されたROM103と、コンフィグレーション用のデータ(コンフィグレーションデータDATA)の読み出し制御を行う制御用回路が格納されたCPLD(Complex Programmable Logic Device)104と、マスタFPGA101及びスレーブFPGA102のコンフィグレーションを初期化するための初期化制御用信号INITBをプルアップするためのプルアップ抵抗Rpとを有する構成である。
【0006】
マスタFPGA101及びスレーブFPGA102を初期化するための初期化制御用信号INITBは、CPLD104からオープンドレインで出力され、図4に示すようにその出力端子にはプルアップ抵抗Rpを介してI/O用電源電圧VCC1が印加されている。なお、CPLD104にはマスタFPGA101及びスレーブFPGA102に供給されるコア電源電圧VCC2が供給されるものとする。
【0007】
このような構成において、図5に示すように、初期化制御用信号INITBは、I/O用電源電圧VCC1及びコア電源電圧VCC2が立ち上がる以前はLoレベルで維持されており、マスタFPGA101及びスレーブFPGA102はそれぞれ初期化された状態に保たれている。
【0008】
時刻T0においてI/O用電源電圧VCC1及びコア電源電圧VCC2の供給が開始され、I/O用電源電圧VCC1が立ち上がって(時刻T1)から一定時間経過すると(時刻T2)、CPLD104は初期化制御用信号INITBをHiレベルに切り換える。
【0009】
マスタFPGA101は、初期化制御信号INITBがLoレベルからHiレベルに状態変化したことを検知すると、コンフィグレーションデータDATAをROM103から出力させるためのコンフィグレーションクロックCCLKを必要な数(n個)だけCPLD104に出力する(時刻T4)。
【0010】
CPLD104は、コンフィグレーションクロックCCLKを用いてROM103に対してコンフィグレーションクロックCCLKと同数(n個)のコンフィグレーションデータ読み出し用の制御クロックRDCLKを出力する。
【0011】
ROM103は、制御クロックRDCLKに同期してn個のコンフィグレーションデータDATAをマスタFPGA101及びスレーブFPGA102にそれぞれ出力する。
【0012】
このようにして、ROM103から出力されたコンフィグレーションデータDATAは、マスタFPGA101及びスレーブFPGA102にそれぞれダウンロードされる。
【0013】
【発明が解決しようとする課題】
しかしながら上記したような従来のコンフィグレーション回路では、CPLDに供給されるコア電源電圧VCC2の立ち上がり時間のばらつきを全く考慮していないため、I/O用電源電圧VCC1に比べてコア電源電圧VCC2が大きく遅れて立ち上がった場合に回路が正常に動作しない問題が発生する。
【0014】
例えば、図6に示すようにFPGAに印加される電源電圧に比べてCPLDに印加される電源電圧の立ち上がりが遅い場合、CPLDが動作を開始する以前にマスタFPGAからコンフィグレーションクロックCCLKが出力される。このような場合、CPLDは、マスタFPGAから出力されたコンフィグレーションクロックCCLKのうち、時刻T4とT3間の先頭の2個分のコンフィグレーションクロックCCLKを取り込むことができずに、時刻T5以降のクロックしか認識できなくなる。
【0015】
したがって、コンフィグレーションクロックCCLKを用いてCPLD内で生成される制御クロックRDCLKも欠けてしまうため、ROMから出力されるコンフィグレーションデータDATAもn−2個になってしまう。
【0016】
すなわち、従来のコンフィグレーション回路では、複数の電源電圧の立ち上がり時間にばらつきがあると、FPGAが正常にコンフィグレーションデータを受け取ることができない問題があった。
【0017】
本発明は上記したような従来の技術が有する問題点を解決するためになされたものであり、複数の電源電圧の立ち上がり時間にばらつきがある場合でも安定して動作するコンフィグレーション回路を提供することを目的とする。
【0018】
【課題を解決するための手段】
上記目的を達成するため本発明のコンフィグレーション回路は、電源投入時に内部回路をコンフィグレーションするFPGAを含むコンフィグレーション回路であって、
前記FPGAのコンフィグレーションに必要なコンフィグレーションデータが格納される記憶装置と、
前記記憶装置から前記コンフィグレーションデータを読み出して前記FPGAにダウンロードするための制御用回路と、
前記FPGA及び前記制御用回路に供給する複数種類の電源電圧を監視し、該複数種類の電源電圧がそれぞれ安定するまで、前記FPGAに対する前記コンフィグレーションデータのダウンロード処理を待機させる電源電圧監視回路と、
を有する構成である。
【0019】
このとき、前記制御回路は、
前記記憶装置から前記コンフィグレーションデータを読み出して前記FPGAにダウンロードさせるための制御用クロックを、前記コンフィグレーションを行う際に前記FPGAから出力されるコンフィグレーションクロックを用いて生成し、
前記電源電圧監視回路は、
前記FPGA及び前記制御用回路に供給する複数種類の電源電圧がそれぞれ安定するまで、前記FPGAに前記コンフィグレーションクロックの出力を待機させるための監視信号を生成してもよく、
前記制御用回路が、CPLDを用いて構成されていてもよい。
【0020】
一方、本発明のコンフィグレーション方法は、FPGAのコンフィグレーションに必要なコンフィグレーションデータが格納される記憶装置と、
前記コンフィグレーションデータを読み出して前記FPGAにダウンロードするための制御用回路とを有し、
電源投入時に前記FPGAの内部回路をコンフィグレーションするためのコンフィグレーション方法であって、
前記FPGA及び前記制御用回路に供給する複数種類の電源電圧を監視し、
該複数種類の電源電圧がそれぞれ安定するまで、前記FPGAに対する前記コンフィグレーションデータのダウンロード処理を待機させる方法である。
【0021】
このとき、前記記憶装置から前記コンフィグレーションデータを読み出して前記FPGAにダウンロードさせるための制御用クロックを、前記コンフィグレーションを行う際に前記FPGAから出力されるコンフィグレーションクロックを用いて生成し、
前記FPGA及び前記制御用回路に供給する複数種類の電源電圧がそれぞれ安定するまで、前記FPGAに前記コンフィグレーションクロックの出力を待機させるための監視信号を生成してもよく、
前記制御用回路を、CPLDを用いて構成してもよい。
【0022】
上記のようなコンフィグレーション回路及び方法では、FPGA及び制御用回路に供給する複数種類の電源電圧を監視し、該複数種類の電源電圧がそれぞれ安定するまでFPGAに対するコンフィグレーションデータのダウンロード処理を待機させることで、複数種類の電源電圧の立ち上がり時間がばらついても、制御回路が動作を開始する以前にFPGAからコンフィグレーションクロックが出力されないため、記憶装置からコンフィグレーションデータを正しく読み出すことができる。
【0023】
【発明の実施の形態】
次に本発明について図面を参照して説明する。
【0024】
図1は本発明のコンフィグレーション回路の一構成例を示す回路図であり、図2は図1に示したコンフィグレーション回路の動作を示すタイミングチャートである。
【0025】
図1に示すように、本発明のコンフィグレーション回路は、I/O用電源電圧VCC1とコア電源電圧VCC2の二つの電源電圧で動作するマスタFPGA1及びスレーブFPGA2と、FPGAのコンフィグレーション用データが格納されたROM3と、コンフィグレーション用のデータ(コンフィグレーションデータDATA)の読み出し制御を行う制御用回路が格納されたCPLD4と、マスタFPGA1及びスレーブFPGA2のコンフィグレーションを初期化するための初期化制御用信号INITBをプルアップするためのプルアップ抵抗Rpと、I/O用電源電圧VCC1及びコア電源電圧VCC2をそれぞれ監視する電源電圧監視回路5とを有する構成である。
【0026】
なお、図1では、CPLD4でコンフィグレーション用データの読み出し制御を行う制御用回路を構成する例を示しているが、制御用回路は論理ゲート等を用いて構成してもよい。また、図1ではスレーブFPGAが1つの構成を示しているが、スレーブFPGAを複数個有する構成であってもよい。さらに、CPLD4にはマスタFPGA1及びスレーブFPGA2に供給されるコア電源電圧VCC2が供給されるものとする。
【0027】
電源電圧監視回路5は、I/O用電源電圧VCC1及びコア電源電圧VCC2をそれぞれ監視し、I/O用電源電圧VCC1及びコア電源電圧VCC2がそれぞれ安定したらCPLD4に送信する電圧監視信号OBSERVEBをLoレベルからHiレベルに変化させる。CPLD4は、I/O用電源電圧VCC1及びコア電源電圧VCC2が安定する時刻T6(電圧監視信号OBSERVEBがLoレベルからHiレベルに切り換わる時刻)までコンフィグレーション初期化制御用信号INITBをLoレベルで維持する。
【0028】
このような構成において、次に図2を用いて本発明のコンフィグレーション回路の動作について説明する。
【0029】
図2に示すように、初期化制御用信号INITBはI/O用電源電圧VCC1及びコア電源電圧VCC2が立ち上がる以前はLoレベルで維持されており、マスタFPGA1及びスレーブFPGA2はそれぞれ初期化された状態に保たれている。また、電圧監視信号OBSERVEBもLoレベルで維持されている。
【0030】
時刻T0においてI/O用電源電圧VCC1及びコア電源電圧VCC2の供給が開始され、時刻T1にてI/O用電源電圧VCC1が立ち上がる。このとき、コア電源電圧VCC2が安定していない場合は、電圧監視信号OBSERVEBはLoレベル状態で維持されるため、時刻T2になっても初期化制御用信号INITBはLoレベルで維持される。
【0031】
時刻T3においてコア電源電圧VCC2が立ち上がると、電源電圧監視回路5はコア電源電圧VCC2が安定した時刻T6にて電圧監視信号OBSERVEBをLoレベルからHiレベルへと状態変化させる。
【0032】
CPLD4は、電圧監視信号OBSERVEBがLoレベルからHiレベルに状態変化したことを検知すると、同時刻T6にて初期化制御用信号INITBをLoレベルからHiレベルへと状態変化させる。つまり、マスタFPGA1のコンフィグレーションクロックCCLKの出力は、時刻T2〜T6の間、初期化制御用信号INITBによって待機(wait)させられる。
【0033】
マスタFPGA1は、初期化制御用信号INITBがLoレベルからHiレベルに状態変化したことを検知すると、時刻T7にてCPLD4に対するコンフィグレーションクロックCCLKの出力を開始する。
【0034】
CPLD4は、時刻T7においてコンフィグレーションデータ読み出し用制御クロック(RDCLK)をROM3に出力し、ROM3からのコンフィグレーションデータDATAの読み出し制御を開始する。
【0035】
時刻T8以降、ROM3は、制御クロックRDCLKに同期してn個のコンフィグレーションデータDATAをマスタFPGA1及びスレーブFPGA2にそれぞれ出力する。
【0036】
このようにして、ROM3から出力されたコンフィグレーションデータDATAは、マスタFPGA1及びスレーブFPGA2にそれぞれ安定してダウンロードされる。
【0037】
したがって、I/O用電源電圧VCC1及びコア電源電圧VCC2の立ち上がり時間がばらつき、CPLD4が動作する以前にマスタFPGA1及びスレーブFPGA2が立ち上がっても、電源電圧監視回路5でI/O用電源電圧VCC1及びコア電源電圧VCC2をそれぞれ監視し、それらが安定した後にCPLD4に送信する電圧監視信号OBSERVEBをLoレベルからHiレベルに変化させるため、CPLD4はI/O用電源電圧VCC1及びコア電源電圧VCC2が安定するまでコンフィグレーション初期化制御用信号INITBをLoレベルで維持する。
【0038】
よって、マスタFPGA1はコア電源電圧VCC2が安定するまでコンフィグレーションクロックCCLKを出力することがないため、ROM4からコンフィグレーションデータDATAを正しく読み出すことができる。
【0039】
なお、上記説明ではマスタFPGAが1個、スレーブFPGAが1個の場合の構成を示しているが、スレーブFPGAの数に制限はない。また、CPLD4、マスタFPGA1、スレーブFPGA2にそれぞれ異なった電源電圧が供給される、例えば、図3に示すような電源電圧が3種類以上ある構成でも、電源電圧監視回路で各電源電圧VCC1〜VCC3をそれぞれ監視し、全ての電源電圧が安定するまでマスタFPGAにコンフィグレーションクロックCCLKの出力を待機させれば、上記と同様の効果を得ることができる。
【0040】
【発明の効果】
本発明は以上説明したように構成されているので、以下に記載する効果を奏する。
【0041】
FPGA及び制御用回路に供給する複数種類の電源電圧を監視し、該複数種類の電源電圧がそれぞれ安定するまでFPGAに対するコンフィグレーションデータのダウンロード処理を待機させることで、複数種類の電源電圧の立ち上がり時間がばらついても、制御回路が動作を開始する以前にFPGAからコンフィグレーションクロックが出力されないため、記憶装置からコンフィグレーションデータを正しく読み出すことができる。したがって、安定して動作するFPGAから成るコンフィグレーション回路を得ることができる。
【図面の簡単な説明】
【図1】本発明のコンフィグレーション回路の一構成例を示す回路図である。
【図2】図1に示したコンフィグレーション回路の動作を示すタイミングチャートである。
【図3】本発明のコンフィグレーション回路の他の構成例を示す回路図である。
【図4】従来のコンフィグレーション回路の構成を示す回路図である。
【図5】図4に示したコンフィグレーション回路の動作を示す図であり、コンフィグレーション動作が成功する様子を示すタイミングチャートである。
【図6】図4に示したコンフィグレーション回路の動作を示す図であり、コンフィグレーション動作が失敗する様子を示すタイミングチャートである。
【符号の説明】
1 マスタFPGA
2 スレーブFPGA
3 ROM
4 CPLD
5 電源電圧監視回路
Rp プルアップ抵抗
Claims (6)
- 電源投入時に内部回路をコンフィグレーションするFPGAを含むコンフィグレーション回路であって、
前記FPGAのコンフィグレーションに必要なコンフィグレーションデータが格納される記憶装置と、
前記記憶装置から前記コンフィグレーションデータを読み出して前記FPGAにダウンロードするための制御用回路と、
前記FPGA及び前記制御用回路に供給する複数種類の電源電圧を監視し、該複数種類の電源電圧がそれぞれ安定するまで、前記FPGAに対する前記コンフィグレーションデータのダウンロード処理を待機させる電源電圧監視回路と、
を有するコンフィグレーション回路。 - 前記制御回路は、
前記記憶装置から前記コンフィグレーションデータを読み出して前記FPGAにダウンロードさせるための制御用クロックを、前記コンフィグレーションを行う際に前記FPGAから出力されるコンフィグレーションクロックを用いて生成し、
前記電源電圧監視回路は、
前記FPGA及び前記制御用回路に供給する複数種類の電源電圧がそれぞれ安定するまで、前記FPGAに前記コンフィグレーションクロックの出力を待機させるための監視信号を生成する請求項1記載のコンフィグレーション回路。 - 前記制御用回路が、CPLDを用いて構成された請求項1または2記載のコンフィグレーション回路。
- FPGAのコンフィグレーションに必要なコンフィグレーションデータが格納される記憶装置と、
前記コンフィグレーションデータを読み出して前記FPGAにダウンロードするための制御用回路とを有し、
電源投入時に前記FPGAの内部回路をコンフィグレーションするためのコンフィグレーション方法であって、
前記FPGA及び前記制御用回路に供給する複数種類の電源電圧を監視し、
該複数種類の電源電圧がそれぞれ安定するまで、前記FPGAに対する前記コンフィグレーションデータのダウンロード処理を待機させるコンフィグレーション方法。 - 前記記憶装置から前記コンフィグレーションデータを読み出して前記FPGAにダウンロードさせるための制御用クロックを、前記コンフィグレーションを行う際に前記FPGAから出力されるコンフィグレーションクロックを用いて生成し、
前記FPGA及び前記制御用回路に供給する複数種類の電源電圧がそれぞれ安定するまで、前記FPGAに前記コンフィグレーションクロックの出力を待機させるための監視信号を生成する請求項4記載のコンフィグレーション方法。 - 前記制御用回路を、CPLDを用いて構成する請求項4または5記載のコンフィグレーション方法。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000371862A JP3555875B2 (ja) | 2000-12-06 | 2000-12-06 | コンフィグレーション回路及び方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2000371862A JP3555875B2 (ja) | 2000-12-06 | 2000-12-06 | コンフィグレーション回路及び方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2002176352A JP2002176352A (ja) | 2002-06-21 |
| JP3555875B2 true JP3555875B2 (ja) | 2004-08-18 |
Family
ID=18841510
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2000371862A Expired - Fee Related JP3555875B2 (ja) | 2000-12-06 | 2000-12-06 | コンフィグレーション回路及び方法 |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3555875B2 (ja) |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP4675714B2 (ja) * | 2005-08-17 | 2011-04-27 | 富士通セミコンダクター株式会社 | 初期化回路を自動構築するリコンフィグ可能な集積回路装置 |
| WO2010070736A1 (ja) * | 2008-12-16 | 2010-06-24 | 株式会社島津製作所 | プログラマブルデバイス制御装置およびその方法 |
| JP5774941B2 (ja) * | 2011-08-11 | 2015-09-09 | 日本信号株式会社 | コンフィグレーション装置及びコンフィグレーション方法 |
| CN105068955B (zh) * | 2015-07-20 | 2018-04-03 | 北京广利核系统工程有限公司 | 一种局部总线结构及数据交互方法 |
Family Cites Families (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPS5983228A (ja) * | 1982-11-05 | 1984-05-14 | Nec Corp | 電源確定信号発生回路 |
| JPH0760357B2 (ja) * | 1988-04-20 | 1995-06-28 | 三菱電機株式会社 | リセツト回路 |
| JP2798989B2 (ja) * | 1989-07-28 | 1998-09-17 | 株式会社リコー | プログラマブル・ロジック・デバイス |
| JP3042012B2 (ja) * | 1991-04-19 | 2000-05-15 | 日本電気株式会社 | パワーオンリセット装置 |
| JPH09200039A (ja) * | 1996-01-19 | 1997-07-31 | Oki Electric Ind Co Ltd | 演算回路のリセット処理装置 |
-
2000
- 2000-12-06 JP JP2000371862A patent/JP3555875B2/ja not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2002176352A (ja) | 2002-06-21 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US6784699B2 (en) | Glitch free clock multiplexing circuit with asynchronous switch control and minimum switch over time | |
| JP3512166B2 (ja) | プログラマブルロジックデバイスの設定方法 | |
| JP5317356B2 (ja) | クロック制御信号生成回路、クロックセレクタ、及び情報処理装置 | |
| KR20090040136A (ko) | 난수 발생 장치 | |
| US6472909B1 (en) | Clock routing circuit with fast glitchless switching | |
| JP4939162B2 (ja) | プログラマブルpll回路及びこれの制御方法 | |
| JP3555875B2 (ja) | コンフィグレーション回路及び方法 | |
| JP3904472B2 (ja) | 1又は複数のクロック信号から出力信号を選択的に生成するための回路 | |
| US5656959A (en) | Clock synthesizer dual function pin system and method therefor | |
| US9891652B2 (en) | Critical paths accommodation with frequency variable clock generator | |
| US6566907B1 (en) | Unclocked digital sequencer circuit with flexibly ordered output signal edges | |
| US6611158B2 (en) | Method and system using a common reset and a slower reset clock | |
| US6137331A (en) | Electronic circuit with dual edge triggered flip-flop | |
| CN115136116A (zh) | 用于可编程逻辑设备的快速引导系统和方法 | |
| JPH08286780A (ja) | クロック回路及びこれを用いたプロセッサ並びにプロセッサ動作方法 | |
| JP3895120B2 (ja) | プログラマブルシーケンサ内蔵asic及び画像形成装置 | |
| JP3935274B2 (ja) | クロック切替回路 | |
| CN115664391A (zh) | 触发器电路 | |
| JP3690915B2 (ja) | 乱数発生回路を有する半導体装置 | |
| JP2002009613A (ja) | 回路機能の再構成方法、及びプログラマブル論理回路装置 | |
| JP2002517935A (ja) | 異なる周波数のクロック信号を生成するための同調可能なディジタル発振器回路及び方法 | |
| JPH0450657Y2 (ja) | ||
| JP2004518194A (ja) | デジタル処理装置の電力管理 | |
| JPH05291932A (ja) | 電子回路 | |
| US20070204186A1 (en) | Processor with flexible clock configuaration |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20040330 |
|
| TRDD | Decision of grant or rejection written | ||
| A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040414 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040507 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090521 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100521 Year of fee payment: 6 |
|
| LAPS | Cancellation because of no payment of annual fees |