JPH11212817A5 - - Google Patents
Info
- Publication number
- JPH11212817A5 JPH11212817A5 JP1998305674A JP30567498A JPH11212817A5 JP H11212817 A5 JPH11212817 A5 JP H11212817A5 JP 1998305674 A JP1998305674 A JP 1998305674A JP 30567498 A JP30567498 A JP 30567498A JP H11212817 A5 JPH11212817 A5 JP H11212817A5
- Authority
- JP
- Japan
- Prior art keywords
- support logic
- debug support
- debug
- address
- embedded microprocessor
- 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.)
- Pending
Links
Description
【特許請求の範囲】
【請求項1】
組み込みマイクロプロセッサをテストするためのテスト及び診断システムであって、
前記組み込みマイクロプロセッサとデバッグ支援論理手段とを含む、ASICであって、
前記デバッグ支援論理手段は、前記組み込みマイクロプロセッサからの情報を監視するためのものであり、
前記デバッグ支援論理手段は、前記組み込みマイクロプロセッサに電気的に結合され、複数の記憶手段を含み、
前記複数の記憶手段は、一致条件の制御セットを格納するための少なくとも第1の記憶セット手段を含み、
監視された情報と、前記制御セット内において設定された前記条件との一致に応答して、前記デバッグ支援論理手段は、組み込みマイクロプロセッサに対して割込みを発生させる、
ことからなる、ASICと、
第1のメモリ手段に格納されたデバッグソフトウェアであって、該第1のメモリ手段は、前記組み込みマイクロプロセッサに電気的に結合されることからなる、デバッグソフトウェア
とを備える、システム。
【請求項2】
前記テスト及び診断システムは、命令オーバレイメモリ手段を含む命令オーバレイハーネス手段を更に備え、
前記命令オーバレイハーネス手段は、前記ASICに電気的に結合されていることからなる、請求項1に記載のシステム。
【請求項3】
前記命令オーバレイハーネス手段は、オーバレイハーネスアドレスをデコードする手段と命令オーバレイイネーブル化手段とを更に含む、請求項2に記載のシステム。
【請求項4】
前記デバッグ支援論理手段内の前記複数の記憶手段のうちの1つは、割込み制御記憶手段であり、
前記割込み制御記憶手段は、前記第1のメモリ手段の一部を、前記命令オーバレイメモリ手段と競合しないアドレスに、マッピングするためのREMAPビットを含むことからなる、請求項3に記載のシステム。
【請求項5】
前記デバッグ支援論理手段は、アドレスバスとデータバスとに電気的に結合されて、該アドレスバスと該データバスとからの情報を監視し、
前記アドレスバスと前記データバスとは、前記組み込みマイクロプロセッサに電気的に結合されていることからなる、請求項1に記載のシステム。
【請求項6】
前記デバッグ支援論理手段の少なくとも1つのレジスタセット内に格納されたアドレスが、前記アドレスバスにまたがる前記デバッグ支援論理手段によって監視されたアドレス情報と一致する時には、前記制御セット内に格納された条件の一致が生じる、請求項5に記載のシステム。
【請求項7】
前記デバッグ支援論理手段内に格納されたデータが、前記アドレスバスにまたがる前記デバッグ支援論理手段によって監視されたデータ情報と一致する時には、前記制御セット内に格納された条件の一致が生じる、請求項1に記載のシステム。
【請求項8】
(1)前記デバッグ支援論理手段内に格納されたアドレスが、前記アドレスバスにまたがる前記デバッグ支援論理手段によって監視されたアドレス情報と一致する時と、
(2)前記デバッグ支援論理手段内に格納されたデータが、前記アドレスバスにまたがる前記デバッグ支援論理手段によって監視されたデータ情報と一致する時
との両方の場合において、前記制御セット内に格納された条件の一致が生じることからなる、請求項1に記載のシステム。
【請求項9】
前記デバッグ支援論理手段によって発生させられた割込みに応答して、前記組み込みマイクロプロセッサ上において実行されている実行コードから、前記デバッグソフトウェアへと制御が移される、請求項1に記載のシステム。
【請求項10】
前記デバッグ支援論理手段の複数のレジスタは、少なくとも1つのレジスタセット、割込み制御記憶手段、及びID記憶手段を含む、請求項1に記載のシステム。
【請求項11】
前記ASICは、監視手段に電気的に結合されたREMAポートを更に含む、請求項1に記載のシステム。
【請求項1】
組み込みマイクロプロセッサをテストするためのテスト及び診断システムであって、
前記組み込みマイクロプロセッサとデバッグ支援論理手段とを含む、ASICであって、
前記デバッグ支援論理手段は、前記組み込みマイクロプロセッサからの情報を監視するためのものであり、
前記デバッグ支援論理手段は、前記組み込みマイクロプロセッサに電気的に結合され、複数の記憶手段を含み、
前記複数の記憶手段は、一致条件の制御セットを格納するための少なくとも第1の記憶セット手段を含み、
監視された情報と、前記制御セット内において設定された前記条件との一致に応答して、前記デバッグ支援論理手段は、組み込みマイクロプロセッサに対して割込みを発生させる、
ことからなる、ASICと、
第1のメモリ手段に格納されたデバッグソフトウェアであって、該第1のメモリ手段は、前記組み込みマイクロプロセッサに電気的に結合されることからなる、デバッグソフトウェア
とを備える、システム。
【請求項2】
前記テスト及び診断システムは、命令オーバレイメモリ手段を含む命令オーバレイハーネス手段を更に備え、
前記命令オーバレイハーネス手段は、前記ASICに電気的に結合されていることからなる、請求項1に記載のシステム。
【請求項3】
前記命令オーバレイハーネス手段は、オーバレイハーネスアドレスをデコードする手段と命令オーバレイイネーブル化手段とを更に含む、請求項2に記載のシステム。
【請求項4】
前記デバッグ支援論理手段内の前記複数の記憶手段のうちの1つは、割込み制御記憶手段であり、
前記割込み制御記憶手段は、前記第1のメモリ手段の一部を、前記命令オーバレイメモリ手段と競合しないアドレスに、マッピングするためのREMAPビットを含むことからなる、請求項3に記載のシステム。
【請求項5】
前記デバッグ支援論理手段は、アドレスバスとデータバスとに電気的に結合されて、該アドレスバスと該データバスとからの情報を監視し、
前記アドレスバスと前記データバスとは、前記組み込みマイクロプロセッサに電気的に結合されていることからなる、請求項1に記載のシステム。
【請求項6】
前記デバッグ支援論理手段の少なくとも1つのレジスタセット内に格納されたアドレスが、前記アドレスバスにまたがる前記デバッグ支援論理手段によって監視されたアドレス情報と一致する時には、前記制御セット内に格納された条件の一致が生じる、請求項5に記載のシステム。
【請求項7】
前記デバッグ支援論理手段内に格納されたデータが、前記アドレスバスにまたがる前記デバッグ支援論理手段によって監視されたデータ情報と一致する時には、前記制御セット内に格納された条件の一致が生じる、請求項1に記載のシステム。
【請求項8】
(1)前記デバッグ支援論理手段内に格納されたアドレスが、前記アドレスバスにまたがる前記デバッグ支援論理手段によって監視されたアドレス情報と一致する時と、
(2)前記デバッグ支援論理手段内に格納されたデータが、前記アドレスバスにまたがる前記デバッグ支援論理手段によって監視されたデータ情報と一致する時
との両方の場合において、前記制御セット内に格納された条件の一致が生じることからなる、請求項1に記載のシステム。
【請求項9】
前記デバッグ支援論理手段によって発生させられた割込みに応答して、前記組み込みマイクロプロセッサ上において実行されている実行コードから、前記デバッグソフトウェアへと制御が移される、請求項1に記載のシステム。
【請求項10】
前記デバッグ支援論理手段の複数のレジスタは、少なくとも1つのレジスタセット、割込み制御記憶手段、及びID記憶手段を含む、請求項1に記載のシステム。
【請求項11】
前記ASICは、監視手段に電気的に結合されたREMAポートを更に含む、請求項1に記載のシステム。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US958291 | 1997-10-27 | ||
| US08/958,291 US6094730A (en) | 1997-10-27 | 1997-10-27 | Hardware-assisted firmware tracing method and apparatus |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH11212817A JPH11212817A (ja) | 1999-08-06 |
| JPH11212817A5 true JPH11212817A5 (ja) | 2005-12-08 |
Family
ID=25500826
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10305674A Pending JPH11212817A (ja) | 1997-10-27 | 1998-10-27 | ハードウェア支援ファームウェア追跡方法及び装置 |
Country Status (4)
| Country | Link |
|---|---|
| US (1) | US6094730A (ja) |
| EP (1) | EP0911735B1 (ja) |
| JP (1) | JPH11212817A (ja) |
| DE (1) | DE69817725T2 (ja) |
Families Citing this family (70)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6311327B1 (en) * | 1998-03-02 | 2001-10-30 | Applied Microsystems Corp. | Method and apparatus for analyzing software in a language-independent manner |
| US6199031B1 (en) * | 1998-08-31 | 2001-03-06 | Vlsi Technology, Inc. | HDL simulation interface for testing and verifying an ASIC model |
| US6973417B1 (en) | 1999-11-05 | 2005-12-06 | Metrowerks Corporation | Method and system for simulating execution of a target program in a simulated target system |
| JP2002014841A (ja) * | 2000-06-30 | 2002-01-18 | Esol Co Ltd | デバッグカーネルシステム |
| US6668370B1 (en) * | 2000-09-21 | 2003-12-23 | International Business Machines Corporation | Synchronous execution of object-oriented scripts and procedural code from within an interactive test facility |
| US8160864B1 (en) | 2000-10-26 | 2012-04-17 | Cypress Semiconductor Corporation | In-circuit emulator and pod synchronized boot |
| US6724220B1 (en) | 2000-10-26 | 2004-04-20 | Cyress Semiconductor Corporation | Programmable microcontroller architecture (mixed analog/digital) |
| US8176296B2 (en) | 2000-10-26 | 2012-05-08 | Cypress Semiconductor Corporation | Programmable microcontroller architecture |
| US8103496B1 (en) | 2000-10-26 | 2012-01-24 | Cypress Semicondutor Corporation | Breakpoint control in an in-circuit emulation system |
| US8149048B1 (en) | 2000-10-26 | 2012-04-03 | Cypress Semiconductor Corporation | Apparatus and method for programmable power management in a programmable analog circuit block |
| US7765095B1 (en) | 2000-10-26 | 2010-07-27 | Cypress Semiconductor Corporation | Conditional branching in an in-circuit emulation system |
| DE10116862A1 (de) * | 2001-04-04 | 2002-10-17 | Infineon Technologies Ag | Programmgesteuerte Einheit |
| US7487339B2 (en) * | 2001-10-12 | 2009-02-03 | Mips Technologies, Inc. | Method and apparatus for binding shadow registers to vectored interrupts |
| US7552261B2 (en) * | 2001-10-12 | 2009-06-23 | Mips Technologies, Inc. | Configurable prioritization of core generated interrupts |
| US7406674B1 (en) | 2001-10-24 | 2008-07-29 | Cypress Semiconductor Corporation | Method and apparatus for generating microcontroller configuration information |
| US8078970B1 (en) | 2001-11-09 | 2011-12-13 | Cypress Semiconductor Corporation | Graphical user interface with user-selectable list-box |
| US7526422B1 (en) | 2001-11-13 | 2009-04-28 | Cypress Semiconductor Corporation | System and a method for checking lock-step consistency between an in circuit emulation and a microcontroller |
| US8042093B1 (en) | 2001-11-15 | 2011-10-18 | Cypress Semiconductor Corporation | System providing automatic source code generation for personalization and parameterization of user modules |
| US7770113B1 (en) | 2001-11-19 | 2010-08-03 | Cypress Semiconductor Corporation | System and method for dynamically generating a configuration datasheet |
| US6971004B1 (en) | 2001-11-19 | 2005-11-29 | Cypress Semiconductor Corp. | System and method of dynamically reconfiguring a programmable integrated circuit |
| US8069405B1 (en) | 2001-11-19 | 2011-11-29 | Cypress Semiconductor Corporation | User interface for efficiently browsing an electronic document using data-driven tabs |
| US7844437B1 (en) | 2001-11-19 | 2010-11-30 | Cypress Semiconductor Corporation | System and method for performing next placements and pruning of disallowed placements for programming an integrated circuit |
| US7774190B1 (en) | 2001-11-19 | 2010-08-10 | Cypress Semiconductor Corporation | Sleep and stall in an in-circuit emulation system |
| US20030135719A1 (en) * | 2002-01-14 | 2003-07-17 | International Business Machines Corporation | Method and system using hardware assistance for tracing instruction disposition information |
| US8103497B1 (en) | 2002-03-28 | 2012-01-24 | Cypress Semiconductor Corporation | External interface for event architecture |
| US7185321B1 (en) * | 2002-03-29 | 2007-02-27 | Cypress Semiconductor Corporation | Method and system for debugging through supervisory operating codes and self modifying codes |
| US7308608B1 (en) | 2002-05-01 | 2007-12-11 | Cypress Semiconductor Corporation | Reconfigurable testing system and method |
| US7761845B1 (en) | 2002-09-09 | 2010-07-20 | Cypress Semiconductor Corporation | Method for parameterizing a user module |
| JP4097552B2 (ja) * | 2003-03-27 | 2008-06-11 | 三菱電機株式会社 | 半導体レーザ装置 |
| US8271803B2 (en) * | 2003-10-08 | 2012-09-18 | Microsoft Corporation | Anti-debugging protection of binaries with proxy code execution |
| US7295049B1 (en) | 2004-03-25 | 2007-11-13 | Cypress Semiconductor Corporation | Method and circuit for rapid alignment of signals |
| US8160205B2 (en) | 2004-04-06 | 2012-04-17 | Accuray Incorporated | Robotic arm for patient positioning assembly |
| US7260759B1 (en) | 2004-06-16 | 2007-08-21 | Sun Microsystems, Inc. | Method and apparatus for an efficient memory built-in self test architecture for high performance microprocessors |
| US7178076B1 (en) | 2004-06-16 | 2007-02-13 | Sun Microsystems, Inc. | Architecture of an efficient at-speed programmable memory built-in self test |
| US7293199B1 (en) | 2004-06-22 | 2007-11-06 | Sun Microsystems, Inc. | Method and apparatus for testing memories with different read/write protocols using the same programmable memory bist controller |
| US7206979B1 (en) | 2004-06-28 | 2007-04-17 | Sun Microsystems, Inc. | Method and apparatus for at-speed diagnostics of embedded memories |
| US8286125B2 (en) | 2004-08-13 | 2012-10-09 | Cypress Semiconductor Corporation | Model for a hardware device-independent method of defining embedded firmware for programmable systems |
| US8069436B2 (en) | 2004-08-13 | 2011-11-29 | Cypress Semiconductor Corporation | Providing hardware independence to automate code generation of processing device firmware |
| US7332976B1 (en) | 2005-02-04 | 2008-02-19 | Cypress Semiconductor Corporation | Poly-phase frequency synthesis oscillator |
| US7400183B1 (en) | 2005-05-05 | 2008-07-15 | Cypress Semiconductor Corporation | Voltage controlled oscillator delay cell and method |
| US7506206B2 (en) * | 2005-06-07 | 2009-03-17 | Atmel Corporation | Mechanism for providing program breakpoints in a microcontroller with flash program memory |
| US8089461B2 (en) | 2005-06-23 | 2012-01-03 | Cypress Semiconductor Corporation | Touch wake for electronic devices |
| US8085067B1 (en) | 2005-12-21 | 2011-12-27 | Cypress Semiconductor Corporation | Differential-to-single ended signal converter circuit and method |
| US8067948B2 (en) | 2006-03-27 | 2011-11-29 | Cypress Semiconductor Corporation | Input/output multiplexer bus |
| US9564902B2 (en) | 2007-04-17 | 2017-02-07 | Cypress Semiconductor Corporation | Dynamically configurable and re-configurable data path |
| US8130025B2 (en) | 2007-04-17 | 2012-03-06 | Cypress Semiconductor Corporation | Numerical band gap |
| US7737724B2 (en) | 2007-04-17 | 2010-06-15 | Cypress Semiconductor Corporation | Universal digital block interconnection and channel routing |
| US8026739B2 (en) | 2007-04-17 | 2011-09-27 | Cypress Semiconductor Corporation | System level interconnect with programmable switching |
| US8092083B2 (en) | 2007-04-17 | 2012-01-10 | Cypress Semiconductor Corporation | Temperature sensor with digital bandgap |
| US8516025B2 (en) | 2007-04-17 | 2013-08-20 | Cypress Semiconductor Corporation | Clock driven dynamic datapath chaining |
| US8040266B2 (en) | 2007-04-17 | 2011-10-18 | Cypress Semiconductor Corporation | Programmable sigma-delta analog-to-digital converter |
| US8266575B1 (en) | 2007-04-25 | 2012-09-11 | Cypress Semiconductor Corporation | Systems and methods for dynamically reconfiguring a programmable system on a chip |
| US8065653B1 (en) | 2007-04-25 | 2011-11-22 | Cypress Semiconductor Corporation | Configuration of programmable IC design elements |
| US9720805B1 (en) | 2007-04-25 | 2017-08-01 | Cypress Semiconductor Corporation | System and method for controlling a target device |
| US8049569B1 (en) | 2007-09-05 | 2011-11-01 | Cypress Semiconductor Corporation | Circuit and method for improving the accuracy of a crystal-less oscillator having dual-frequency modes |
| FR2936624B1 (fr) * | 2008-09-26 | 2010-10-29 | Thales Sa | Dispositif de securisation d'un composant electronique |
| US9448964B2 (en) | 2009-05-04 | 2016-09-20 | Cypress Semiconductor Corporation | Autonomous control in a programmable system |
| US9384004B2 (en) | 2012-06-15 | 2016-07-05 | International Business Machines Corporation | Randomized testing within transactional execution |
| US8682877B2 (en) | 2012-06-15 | 2014-03-25 | International Business Machines Corporation | Constrained transaction execution |
| US9348642B2 (en) | 2012-06-15 | 2016-05-24 | International Business Machines Corporation | Transaction begin/end instructions |
| US10437602B2 (en) | 2012-06-15 | 2019-10-08 | International Business Machines Corporation | Program interruption filtering in transactional execution |
| US9448796B2 (en) | 2012-06-15 | 2016-09-20 | International Business Machines Corporation | Restricted instructions in transactional execution |
| US8688661B2 (en) | 2012-06-15 | 2014-04-01 | International Business Machines Corporation | Transactional processing |
| US9740549B2 (en) | 2012-06-15 | 2017-08-22 | International Business Machines Corporation | Facilitating transaction completion subsequent to repeated aborts of the transaction |
| US9436477B2 (en) | 2012-06-15 | 2016-09-06 | International Business Machines Corporation | Transaction abort instruction |
| US20130339680A1 (en) | 2012-06-15 | 2013-12-19 | International Business Machines Corporation | Nontransactional store instruction |
| US9336046B2 (en) | 2012-06-15 | 2016-05-10 | International Business Machines Corporation | Transaction abort processing |
| US9772854B2 (en) | 2012-06-15 | 2017-09-26 | International Business Machines Corporation | Selectively controlling instruction execution in transactional processing |
| US9482718B2 (en) * | 2014-01-13 | 2016-11-01 | Texas Instruments Incorporated | Integrated circuit |
| CN106526447A (zh) * | 2016-09-27 | 2017-03-22 | 曙光信息产业股份有限公司 | 主板检测装置及方法 |
Family Cites Families (15)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB569128A (en) * | 1940-09-26 | 1945-05-07 | George Baker | A method of swaging shell forgings |
| BE485304A (ja) * | 1947-11-11 | |||
| US5220658A (en) * | 1986-03-10 | 1993-06-15 | International Business Machines Corporation | System for testing a performance of user interactive-commands using an emulator-overlay for determining the progress of the user timing response |
| US5426759A (en) * | 1989-12-21 | 1995-06-20 | Microchip Technology Incorporated | On-chip/off-chip memory switching using system configuration bit |
| EP0474256A3 (en) * | 1990-09-07 | 1993-01-27 | Nec Corporation | In-circuit emulator |
| EP0569128A2 (en) * | 1992-05-08 | 1993-11-10 | John Fluke Mfg. Co., Inc. | Extended high-speed testing of microprocessor-based devices |
| JP2927108B2 (ja) * | 1992-07-22 | 1999-07-28 | 日本電気株式会社 | インサーキットエミュレータ |
| US5630052A (en) * | 1993-09-30 | 1997-05-13 | Intel Corporation | System development and debug tools for power management functions in a computer system |
| US5640542A (en) * | 1993-10-29 | 1997-06-17 | Intel Corporation | On-chip in-circuit-emulator memory mapping and breakpoint register modules |
| EP0652516A1 (en) * | 1993-11-03 | 1995-05-10 | Advanced Micro Devices, Inc. | Integrated microprocessor |
| JP2727976B2 (ja) * | 1994-09-12 | 1998-03-18 | 日本電気株式会社 | インサーキットエミュレータ |
| US5546562A (en) * | 1995-02-28 | 1996-08-13 | Patel; Chandresh | Method and apparatus to emulate VLSI circuits within a logic simulator |
| EP0762278A1 (en) * | 1995-08-30 | 1997-03-12 | Motorola, Inc. | Data processor with built-in emulation circuit |
| US5911059A (en) * | 1996-12-18 | 1999-06-08 | Applied Microsystems, Inc. | Method and apparatus for testing software |
| US5862148A (en) * | 1997-02-11 | 1999-01-19 | Advanced Micro Devices, Inc. | Microcontroller with improved debug capability for internal memory |
-
1997
- 1997-10-27 US US08/958,291 patent/US6094730A/en not_active Expired - Lifetime
-
1998
- 1998-10-16 DE DE69817725T patent/DE69817725T2/de not_active Expired - Fee Related
- 1998-10-16 EP EP98308502A patent/EP0911735B1/en not_active Expired - Lifetime
- 1998-10-27 JP JP10305674A patent/JPH11212817A/ja active Pending
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| JPH11212817A5 (ja) | ||
| JP3958365B2 (ja) | 安全上重要な制御装置のためのマイクロプロセッサ装置 | |
| JPH08137763A (ja) | フラッシュメモリ制御装置 | |
| JPH07113907B2 (ja) | カード | |
| JPH08161279A (ja) | マルチプロセッサシステム | |
| KR960011686A (ko) | 서로 분리되어 제공되는 데이타 버스와 명령어 페치 버스를 가지는 데이타 처리기 | |
| JP2006513471A (ja) | メモリアクセスエラーの検出及び/又は訂正方法、並びにこの方法を実行するための電子回路構成 | |
| KR0184625B1 (ko) | 컴퓨터 시스템 및 캐시 히트/미스 판단 방법 | |
| JPS58197553A (ja) | プログラム監視装置 | |
| JPH09274565A5 (ja) | ||
| JP3296043B2 (ja) | 車両用電子制御装置 | |
| JP3565987B2 (ja) | エミュレータ装置 | |
| JP3701045B2 (ja) | 処理ユニット、および処理ユニット内にメモリアクセスサイクルを発生する方法 | |
| JP4422076B2 (ja) | データ処理装置、電子制御ユニット、ならびに自動車 | |
| JP3239935B2 (ja) | 密結合マルチプロセッサシステムの制御方法、密結合マルチプロセッサシステム及びその記録媒体 | |
| JP3741873B2 (ja) | Ramの診断装置 | |
| US20030145175A1 (en) | Multiprocessor system having respective control programs of a plurality of processors stored contiguously in a memory | |
| JPH072032A (ja) | 車両用診断システム | |
| JPH0816390A (ja) | マイクロプロセッサ | |
| JP4960545B2 (ja) | メモリ書込装置、メモリ書込方法及びメモリ書込プログラムを記録した記録媒体 | |
| JPS6127778B2 (ja) | ||
| JPH08202650A (ja) | Dma転送制御装置 | |
| JPH01154228A (ja) | ファームウェア制御方式 | |
| JP2004348546A (ja) | 制御プログラム切替え装置及びその方法 | |
| JPH10312310A (ja) | 中央処理装置の自己診断方法および自己診断機能を備えた中央処理装置 |