JP4957188B2 - CPU bus access auxiliary circuit - Google Patents
CPU bus access auxiliary circuit Download PDFInfo
- Publication number
- JP4957188B2 JP4957188B2 JP2006297747A JP2006297747A JP4957188B2 JP 4957188 B2 JP4957188 B2 JP 4957188B2 JP 2006297747 A JP2006297747 A JP 2006297747A JP 2006297747 A JP2006297747 A JP 2006297747A JP 4957188 B2 JP4957188 B2 JP 4957188B2
- Authority
- JP
- Japan
- Prior art keywords
- cpu
- address
- control signal
- data
- register
- 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
Images
Landscapes
- Debugging And Monitoring (AREA)
- Test And Diagnosis Of Digital Computers (AREA)
- Bus Control (AREA)
Description
本発明は、ASIC(Application Specific Integrated Circuit)あるいはFPGA(Field Programmable Gate Array)等の信号処理デバイスを備えたデータ処理装置に関し、特に、これらの信号処理デバイスに対するCPUからのアクセス技術に関する。 The present invention relates to a data processing apparatus including a signal processing device such as an ASIC (Application Specific Integrated Circuit) or an FPGA (Field Programmable Gate Array), and more particularly, to an access technology from a CPU to these signal processing devices.
ディジタル携帯電話などの無線通信システムにおける送受信装置には、多くのASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の信号処理デバイスが実装されているが、近年は、無線送信装置の処理能力の拡大に伴い、多機能、高機能化によってデバイス当りの回路規模は増加しており、それに伴って、デバイス毎のコストが上昇し、装置全体としての価格も上がってしまうという問題がある。そのためASICやFPGAなどのデバイスの回路規模を削減してコストを下げることが要求されている。 Many signal processing devices such as ASIC (Application Specific Integrated Circuit) and FPGA (Field Programmable Gate Array) are mounted on a transmission / reception apparatus in a wireless communication system such as a digital cellular phone. Along with the expansion of processing capability, the circuit scale per device has increased due to multifunction and high functionality, and this has the problem that the cost for each device increases and the price of the entire device also increases. . Therefore, it is required to reduce the cost by reducing the circuit scale of devices such as ASIC and FPGA.
この問題を解消する方法として、ASICやFPGAにおけるCPUインターフェース部のレジスタをReadには対応せずに、Writeのみに対応させて回路規模の削減を行う方法もあるが、レジスタをWriteのみに対応させた場合、当該レジスタに設定した値を随時読み出すことができないため、ASICやFPGAなどのデバイス試作評価やデバイス単体評価にかかる工数が増加してしまうという問題が生ずる。 As a method of solving this problem, there is a method of reducing the circuit scale by supporting only the Write without registering the CPU interface unit register in the ASIC or FPGA, but making the register compatible only with the Write. In this case, since the value set in the register cannot be read as needed, there is a problem that man-hours for device prototype evaluation such as ASIC and FPGA and device single evaluation increase.
そこで、Writeのみに対応させたレジスタへのアクセスをログとして保存する機能をソフトウェアに実装させるなどの方法もあるが、ソフトウェアに不具合が発生した場合には、不具合発生時にデバイスに書き込まれた設定値を知ることができなくなるため、不具合解析が困難となるという問題がある。さらに、多機能、高機能化に伴い、装置を制御するソフトウェアも多機能化が進んでいるため、装置のデバッグや不具合発生時の解析が複雑になってきている。 Therefore, there is a method to implement the function to save the access to the register that supports only Write as a log. However, if a problem occurs in the software, the setting value written to the device when the problem occurs This makes it difficult to analyze the problem. Furthermore, with the increase in functionality and functionality, the software for controlling the device is also becoming more multifunctional, so that debugging of the device and analysis when a failure occurs has become more complicated.
これらの問題に対する一解決手段として、マイクロプロセッサ(MPU)と、該MPUからの書き込み及び読出しが共に可能なRAMと、前記MPUからの書き込みが可能なレジスタを含むデータ処理装置において、前記RAMのアドレスの一部を前記書き込みが可能なレジスタのアドレスとして割り付け、前記レジスタへのデータ書き込み動作時に、前記レジスタと前記RAMの該当領域に前記データを同時に書き込み、前記レジスタに書き込んだデータの読出し時には、前記RAMの該当領域から前記書き込みデータを読み出すことにより、回路規模の拡大を抑えてレジスタに設定した内容を容易に確認できるようにする方法が、特許文献1等で提案されている。 As a means for solving these problems, in a data processing apparatus including a microprocessor (MPU), a RAM that can be written to and read from the MPU, and a register that can be written from the MPU, the address of the RAM Is assigned as the address of the register that can be written, and when writing data to the register, the data is simultaneously written to the corresponding area of the register and the RAM, and when reading the data written to the register, Patent Document 1 and the like propose a method in which the write data is read from a corresponding area of the RAM so that the contents set in the register can be easily confirmed while suppressing an increase in circuit scale.
一方、データ処理装置で動作するソフトウェアの評価を行う場合、ソフトウェアの動作をロジックアナライザなどの測定器を用いて評価する方法もあるが、その場合、測定器を接続するのが困難となる場合があり、さらに、測定器によるモニタだけでは正確な解析ができない場合もある。また、ハードウェアの動作がトリガとなるソフトウェア制御の確認においては、ハードウェアのトリガの発生方法が困難である場合、評価工数が増大するという問題がある。 On the other hand, when evaluating software that operates on a data processing device, there is a method for evaluating the operation of software using a measuring instrument such as a logic analyzer, but in that case, it may be difficult to connect the measuring instrument. In addition, accurate analysis may not be possible only by monitoring with a measuring instrument. In addition, in the confirmation of software control in which the operation of hardware is a trigger, there is a problem that the number of evaluation steps increases when the method of generating the hardware trigger is difficult.
CPUバスのモニタに関しては、例えば特許文献2〜3などで提案されているが、これらはCPUが書き込んだ値をモニタする方法に止まり、ハードウェアのレジスタ表示がトリガとなるソフトウェアの評価に関しては考慮されていない。 With respect to monitoring of the CPU bus, for example, Patent Documents 2 and 3 have proposed, but these methods are limited to monitoring values written by the CPU, and consideration is given to evaluation of software triggered by hardware register display. It has not been.
前記特許文献1に記載の発明の場合、書き込み専用レジスタに書き込まれた値を格納するRAMのアドレスと書き込み専用レジスタのアドレスを同一アドレスに設定し、書き込み専用レジスタへ書き込んだ値と同一の値をRAMに対しても書き込むようにしており、そのため書き込み専用レジスタに書き込まれた値を読み出す際には、書き込み専用レジスタ及びRAMに対してMPUから同一のアドレスで直接アクセスされるため、これらのレジスタ及び論理回路からなる構成として既存ASICが適用された場合にはバス衝突が発生する可能性がある。 In the case of the invention described in Patent Document 1, the address of the RAM for storing the value written in the write-only register and the address of the write-only register are set to the same address, and the same value as the value written to the write-only register is set. Since the value written in the write-only register is read out, the write-only register and the RAM are directly accessed from the MPU at the same address when reading the value written in the write-only register. When an existing ASIC is applied as a circuit configuration, a bus collision may occur.
即ち、レジスタに対して読み出し制御があった際、ASICはその対象となるデータがASICの外部端子から出力されるときに、入力/出力の方向制御(スリーステート)を行っているため、この方向制御を行っているASICの回路構成によってはデータバスの衝突が起きる可能性がある。例えば、ASICの書き込み専用レジスタに対して、読み出し制御を行ったときに、ある固定データを出力(例としてALL 0など)する制御をしていた場合、RAMからのアクセスと衝突する。ASICの書き込み専用レジスタの読み出し制御時に衝突を起こさないようにするためには、ASICのリワークが必要となり、そのため適用できるASICが限定されてしまうという問題がある。 That is, when read control is performed on the register, the ASIC performs input / output direction control (three-state) when the target data is output from the external terminal of the ASIC. A data bus collision may occur depending on the circuit configuration of the ASIC performing the control. For example, when read control is performed on an ASIC write-only register, if control is performed to output certain fixed data (for example, ALL 0), it conflicts with access from the RAM. In order not to cause a collision at the time of read control of the ASIC write-only register, ASIC rework is required, which limits the applicable ASIC.
また、前記特許文献2〜3に記載の発明は、CPUが書き込んだ値をモニタする方法に留まり、例えば、ハードウェアで検出しているALM or Normalをレジスタへ表示させ、そのレジスタ値をソフトウェアが監視し、ALMのレジスタ値が表示されたときに動作するソフトウェア制御を評価するような技術については考慮されていない。このハードウェアで検出させるALMの発生方法が困難である場合、試験の時間が長くなってしまうという問題がある。 In addition, the inventions described in Patent Documents 2 and 3 are limited to a method of monitoring a value written by a CPU. For example, ALM or Normal detected by hardware is displayed on a register, and the register value is displayed by software. Techniques that monitor and evaluate software controls that operate when ALM register values are displayed are not considered. When the method of generating ALM detected by this hardware is difficult, there is a problem that the test time becomes long.
本発明の第1の目的は、ASIC、FPGAなどの内部回路におけるCPUインターフェース部のリードアクセスを、バス衝突を発生することなく省略可能にして、ASIC、FPGAなどの回路規模の削減を可能にする手段を提供することにある。 The first object of the present invention is to make it possible to omit the read access of the CPU interface unit in an internal circuit such as an ASIC or FPGA without causing a bus collision, and to reduce the circuit scale of the ASIC or FPGA. It is to provide means.
本発明の第2の目的は、ハードウェアの動作に関係するソフトウェアの不具合解析やソフトウェアのデバッグを容易に実現することが可能な手段を提供することにある。 The second object of the present invention is to provide means capable of easily realizing software failure analysis and software debugging related to hardware operations.
本発明の第3の目的は、不具合解析時のログを必要な容量に応じて取得することを可能にする手段を提供することにある。 A third object of the present invention is to provide means that makes it possible to acquire a log at the time of failure analysis according to a required capacity.
本発明は、CPUと、該CPUからのWrite/Readアクセスに対応するレジスタを有するインターフェース部を備えたASIC(Application Specific Integrated Circuit)やFPGA(Field Programmable Gate Array)等の信号処理用デバイスの間に、 前記CPUから出力されるアドレスを入力し、該入力アドレスの中から当該CPUバスアクセス補助回路における処理と関連するアドレスのみを抽出して、前記アドレスよりも少ないビット数からなる内部アドレスに変換してCPUバス監視制御部およびバスアクセス制御信号出力部へ出力する機能を有するアドレスデコーダと、
前記CPUから出力されるWrite/Read制御信号と前記アドレスデコーダから出力される内部アドレスを監視し、前記CPUからWrite制御信号が入力されたとき、外部接続されたRAMの前記内部アドレスに対応するアドレスに前記CPUから出力されたデータを書き込むための制御を行うとともに、前記バスアクセス制御信号出力部にデータ書き込み制御信号を出力し、前記CPUからRead制御信号が入力されたとき、前記内部アドレスから、当該内部アドレスに該当する前記デバイスのレジスタがWriteのみに対応するレジスタであるか否かを判定し、Writeのみに対応するレジスタと判定したとき前記外部接続されたRAMの前記内部アドレスに対応するアドレスに書き込まれたデータを読み出して前記CPUへ出力するための制御を行い、Readにも対応しているレジスタと判定したときは前記バスアクセス制御信号出力部にデータ読出し制御信号を出力する機能を有するCPUバス監視制御部と、
前記CPUバス監視制御部から前記データ書き込み制御信号が入力されたとき、前記アドレスデコーダから入力された内部アドレスから、対応するデバイスを判定してデバイス選択信号およびWrite制御信号を出力するとともに、前記CPUと前記デバイス間のデータバスに接続された双方向バッファをデータ書き込み方向に制御する双方向バッファ制御信号を出力し、前記CPUバス監視制御部から前記データ読出し制御信号が入力されたとき、前記アドレスデコーダから入力された内部アドレスから、対応するデバイスを判定してデバイス選択信号およびRead制御信号を出力するとともに、前記双方向バッファをデータ読出し方向に制御する双方向バッファ制御信号を出力する機能を有するバスアクセス制御信号出力部と、を備えていることを特徴としている。
また、デバック対象レジスタへのアクセスを判定してソフトウェアに対してデバック用のデータを送信する制御を行うデバック機能制御部を備えていることを特徴としている。
The present invention is provided between a CPU and a signal processing device such as an ASIC (Application Specific Integrated Circuit) or FPGA (Field Programmable Gate Array) having an interface unit having a register corresponding to Write / Read access from the CPU. An address output from the CPU is input, only an address related to processing in the CPU bus access auxiliary circuit is extracted from the input address, and converted into an internal address having a smaller number of bits than the address. An address decoder having a function of outputting to the CPU bus monitoring control unit and the bus access control signal output unit,
The write / read control signal output from the CPU and the internal address output from the address decoder are monitored, and when the write control signal is input from the CPU, the address corresponding to the internal address of the externally connected RAM Control for writing the data output from the CPU to the bus access control signal output unit, and when the Read control signal is input from the CPU, from the internal address, It is determined whether or not the register of the device corresponding to the internal address is a register corresponding only to Write, and when it is determined that the register corresponds only to Write, the address corresponding to the internal address of the externally connected RAM The data written in the Performs control for outputting the U, a CPU bus monitor control unit having a function of outputting the data read control signal to the bus access control signal output unit when it is determined that registers also corresponds to Read,
When the data write control signal is input from the CPU bus monitoring control unit, the corresponding device is determined from the internal address input from the address decoder, and a device selection signal and a write control signal are output. Output a bidirectional buffer control signal for controlling the bidirectional buffer connected to the data bus between the device and the data bus in the data write direction, and when the data read control signal is input from the CPU bus monitoring controller, the address A function of determining a corresponding device from the internal address input from the decoder, outputting a device selection signal and a Read control signal, and outputting a bidirectional buffer control signal for controlling the bidirectional buffer in the data reading direction. A bus access control signal output unit It is characterized in that.
Further, the present invention is characterized in that a debug function control unit that performs control to determine access to the debug target register and transmit debug data to software is provided .
本発明では、CPUとASIC、FPGAなどのデバイスに対するバスアクセスを制御するCPUバスアクセス補助回路と、CPUからのアクセス内容を記憶させるための外部RAMが用いられ、あるデバイスに対してCPUから設定値の変更などのWrite制御が実行された場合には、CPUバスアクセス補助回路は対象となっているデバイスへのWrite制御を行った上で、同様の設定値をアドレス毎に外部RAMへ記憶する動作を実行する。 In the present invention, a CPU bus access auxiliary circuit for controlling bus access to devices such as a CPU, ASIC, and FPGA, and an external RAM for storing access contents from the CPU are used. When the write control such as the change of the CPU is executed, the CPU bus access auxiliary circuit performs the write control to the target device and stores the same set value in the external RAM for each address. Execute.
そして設定された内容を確認する場合、CPUは、各デバイスのレジスタに対してRead要求を行うが、本発明では、CPUから各デバイスへのRead/Write制御は、CPUバスアクセス補助回路を介して行われる。その際、CPUバスアクセス補助回路は、CPUがアクセスしたレジスタのアドレスを判定して、CPUがアクセスしたレジスタまたは外部RAMの該当アドレスのいずれか一方から読み出したデータをCPUへ出力するRead制御を行うので、バスの衝突が発生することはない。 When confirming the set contents, the CPU issues a read request to the register of each device. In the present invention, the read / write control from the CPU to each device is performed via the CPU bus access auxiliary circuit. Done. At that time, the CPU bus access auxiliary circuit determines the address of the register accessed by the CPU, and performs Read control for outputting data read from either the register accessed by the CPU or the corresponding address of the external RAM to the CPU. So there is no bus collision.
即ち、CPUバスアクセス補助回路は、CPUからのRead要求に対して、CPUからRead要求を受けたデバイスのアドレスが、書き込みにのみ対応するレジスタのアドレスである場合には、対応するレジスタ内容を外部RAMから読み出してCPUへ送信することで、Readアクセスを実現する。この書き込みにのみ対応するレジスタからのRead要求は、デバイスの評価の際に必要となるものであり、必要に応じて外部RAMの取り付け/取り外しが可能である。外部RAMを取り外しても、通常動作時にデバイスに対するアクセスを妨げることはない。 In other words, in response to a read request from the CPU, the CPU bus access auxiliary circuit transfers the corresponding register contents to the external when the address of the device that has received the read request from the CPU is the address of a register that only supports writing. Read access is realized by reading from the RAM and transmitting to the CPU. The Read request from the register corresponding only to the writing is necessary when evaluating the device, and the external RAM can be attached / removed as necessary. Removing the external RAM does not prevent access to the device during normal operation.
また、本発明のCPUバスアクセス補助回路は、ソフトウェアとデバイスの不具合解析を行う場合、CPUからのWriteアクセス、及びReadアクセスを該当デバイスに対して行うのと同時にそのアクセス内容を外部RAMへログとして保存する機能を備えることができる。 Further, the CPU bus access auxiliary circuit of the present invention, when performing software and device failure analysis, simultaneously performs write access and read access from the CPU to the corresponding device and logs the access contents to the external RAM. A function to save can be provided.
さらに、本発明のCPUバスアクセス補助回路は、ソフトウェアのデバッグ時において、デバイスのレジスタに対して所望の値を表示させたい場合は、CPUからのRead要求に対して、デバイスに対するRead制御を行わずに、事前に外部RAMへ書き込んでいたデバッグ用のデータをCPUに対して送信し、デバイスの動作としてソフトウェアが制御することにより、短時間でかつ容易にデバッグを実現する手段を備えることができる。また、このCPUバスアクセス補助回路によりデータ送信のタイミングのシーケンスを組むことができ、その設定もCPUからできるため様々なデバッグに対応することができる。 Further, the CPU bus access auxiliary circuit according to the present invention does not perform read control on the device in response to a read request from the CPU when it is desired to display a desired value on the register of the device during software debugging. In addition, it is possible to provide a means for easily performing debugging in a short time by transmitting the debugging data written in the external RAM in advance to the CPU and controlling the software as the operation of the device. Further, the CPU bus access auxiliary circuit can form a data transmission timing sequence and can be set by the CPU, so that various debugging can be supported.
このように本発明では、CPUバスアクセス補助回路と外部RAMを用いることにより、CPUからのReadアクセスをCPUバスアクセス補助回路と外部RAMで制御することで、CPUとバスアクセスを行っている全てのASIC、FPGAの回路規模削減を実現可能とし、例えば、基地局に実装されるCPUとのアクセスを必要とするASICやFPGAなどのデバイスの回路規模を削減することができる。 As described above, in the present invention, by using the CPU bus access auxiliary circuit and the external RAM, the read access from the CPU is controlled by the CPU bus access auxiliary circuit and the external RAM. It is possible to reduce the circuit scale of ASIC and FPGA, and for example, it is possible to reduce the circuit scale of devices such as ASIC and FPGA that require access to a CPU mounted on a base station.
ASIC、FPGAのCPUインターフェース部に設けられているCPUからのReadアクセス回路は、Writeアクセス回路とほぼ同等の回路規模であるため、本発明のCPUバスアクセス補助回路と外部RAMを用いて、CPUからASIC、FPGAへのアクセスを制御することにより、書き込みに対応しているレジスタに対するCPUインターフェース部の回路規模は約1/2にすることができる。また、本方式のCPUバスアクセス補助回路で使用する外部RAMはコネクタを介して接続しているため、デバイスの評価終了後の量産出荷時に取り外すことによりコスト削減が可能となる。 Since the read access circuit from the CPU provided in the CPU interface unit of the ASIC or FPGA has a circuit scale almost the same as that of the write access circuit, the CPU bus access auxiliary circuit of the present invention and the external RAM are used to start from the CPU. By controlling access to the ASIC and FPGA, the circuit scale of the CPU interface unit for the register corresponding to writing can be reduced to about ½. Further, since the external RAM used in the CPU bus access auxiliary circuit of this system is connected via a connector, the cost can be reduced by removing it at the time of mass production and shipment after the evaluation of the device.
さらに、本発明のCPUバスアクセス補助回路はCPUとASIC、FPGAなどのデバイスとのアクセスを中継していることから、CPUバスの状態をモニタすることができるため、測定器を接続せずにソフトウェアのデバッグ及び不具合解析を実施することが可能となる。 Furthermore, since the CPU bus access auxiliary circuit of the present invention relays access between the CPU and devices such as ASIC and FPGA, the state of the CPU bus can be monitored, so software can be connected without connecting a measuring instrument. Debugging and failure analysis can be performed.
一般的にデバイスを制御するソフトウェアはデバイスのレジスタの内容をトリガにして動作している。例としてデバイスの内部動作結果をレジスタに反映させ、それをトリガとして動作するソフトウェアをデバッグする場合、従来はデバイスの内部動作をレジスタへ反映させるために、実際にハードウェアを動作させることによってデバッグしているが、デバイスの動作が複雑であるとデバッグが困難となる。しかし、本発明ではCPUバスアクセス補助回路によって、CPUからのリード要求に対して、事前に外部RAMへ書き込んでいた値をデバイスのレジスタ内容としてCPUへ送信できるため、デバイスの操作の必要がなく、ソフトウェアのデバッグを容易に行うことができるようになる。 In general, software for controlling a device operates with the contents of a register of the device as a trigger. For example, when debugging the software that operates as a trigger by reflecting the internal operation result of the device as a trigger, conventionally, debugging was performed by actually operating the hardware to reflect the internal operation of the device to the register. However, debugging is difficult if the device operation is complicated. However, in the present invention, the CPU bus access auxiliary circuit can send the value written in the external RAM in advance to the CPU as the register contents of the device in response to the read request from the CPU, so there is no need to operate the device. Software can be debugged easily.
また本発明のCPUバスアクセス補助回路は比較的少ない回路規模で構成することができ、PLD(Programmable Logic Device)にも容易に実装することが可能であり、低いコストで実現できる。また、再書き込みが可能なデバイスを使用することにより、様々なデバッグや不具合解析に対して、CPUバスアクセス補助回路を作り変えることも容易である。 Further, the CPU bus access auxiliary circuit of the present invention can be configured with a relatively small circuit scale, can be easily mounted on a PLD (Programmable Logic Device), and can be realized at low cost. In addition, by using a rewritable device, it is easy to remake a CPU bus access auxiliary circuit for various debugging and failure analysis.
本発明のCPUバスアクセス補助回路は、例えばW−CDMA(Wideband-Code Division Multiple Access)無線通信システムの基地局などにおいて、ベースバンド信号部に実装されるCPUバスアクセス補助及び不具合解析回路として用いることができる。 The CPU bus access auxiliary circuit of the present invention is used as a CPU bus access auxiliary and failure analysis circuit mounted on a baseband signal unit in, for example, a base station of a W-CDMA (Wideband-Code Division Multiple Access) wireless communication system. Can do.
本発明を用いることにより、ASIC、FPGAなどの内部回路におけるCPUインターフェース部のリードアクセスを省略し回路規模を削減できるため、コスト削減が可能となる。 By using the present invention, read access of the CPU interface unit in an internal circuit such as an ASIC or FPGA can be omitted and the circuit scale can be reduced, so that the cost can be reduced.
また、CPUと各デバイス間のアクセスの監視やCPUに対して表示させるデータを制御することができるので、ハードウェアの動作に関係するソフトウェアの不具合解析やソフトウェアのデバッグが容易に実現できる。 In addition, since it is possible to monitor access between the CPU and each device and to control data to be displayed on the CPU, it is possible to easily realize software failure analysis and software debugging related to hardware operations.
さらに、外部コネクタ(ETHERなど)により外部RAMを交換できるので、不具合解析時のログを必要な容量に応じて取得することができる。 Furthermore, since the external RAM can be exchanged by an external connector (such as ETHER), a log at the time of failure analysis can be acquired according to the required capacity.
図1は、本発明の実施形態を示すデータ処理装置の全体構成を示すブロック図である。 FIG. 1 is a block diagram showing the overall configuration of a data processing apparatus showing an embodiment of the present invention.
本実施形態のデータ処理装置は、CPU(101)、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)、CPUバスアクセス補助回路(103)、双方向バッファ(102)、コネクタ(104)、外部RAM(105)によって構成される。なお、各ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)は、ASIC、FPGAのどちらが実装されても良く、またその数nは任意である。 The data processing apparatus of this embodiment includes a CPU (101), an ASIC and FPGA_1 (106),..., An ASIC and FPGA_n (107), a CPU bus access auxiliary circuit (103), a bidirectional buffer (102), a connector ( 104) and an external RAM (105). Each ASIC and FPGA_1 (106),..., ASIC and FPGA_n (107) may be either ASIC or FPGA, and the number n is arbitrary.
本実施形態において、CPU(101)からのアドレスバス、データバス、Read制御信号、Write制御信号はCPUバスアクセス補助回路(103)へ接続される。また、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)のデバイスに対しては、データバスは双方向バッファ(102)を介して接続され、Read制御信号、Write制御信号はCPUバスアクセス補助回路(103)を介して接続される。 In this embodiment, an address bus, a data bus, a Read control signal, and a Write control signal from the CPU (101) are connected to the CPU bus access auxiliary circuit (103). In addition, for the ASIC and FPGA_1 (106),..., ASIC and FPGA_n (107) devices, the data bus is connected via the bidirectional buffer (102), and the Read control signal and the Write control signal are the CPU. They are connected via a bus access auxiliary circuit (103).
ソフトウェアがASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)のデバイスのレジスタを制御する(例えば、基地局装置においてあるユーザのデータパケットを受信したときに、特定の拡散符号を用いて拡散処理を行わせるために、ASICやFPGAのレジスタに対してユーザの情報と拡散符号の設定を行うことで所望の動作をさせる)ときには、CPU(101)からASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)の該当レジスタのアドレスおよび設定するデータが出力される。 The software controls the registers of the ASIC and FPGA_1 (106),..., ASIC and FPGA_n (107) devices (for example, when a certain user data packet is received at the base station apparatus, a specific spreading code is used) In order to perform spreading processing, the CPU (101) performs ASIC and FPGA_1 (106) when the user information and the spreading code are set in the ASIC or FPGA register to perform a desired operation). ... The address of the corresponding register of ASIC and FPGA_n (107) and the data to be set are output.
CPU(101)から出力されるアドレスは、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)とCPUバスアクセス補助回路(103)へそれぞれ入力される。また設定データは、CPUバスアクセス補助回路(103)へ入力されるとともに、FPGA_1(106)、・・・、ASIC及びFPGA_n(107)に対しては双方向バッファ(102)を介して入力される。また、Read制御信号/Write制御信号はCPUバスアクセス補助回路(103)へ入力される。 The addresses output from the CPU (101) are input to the ASIC and FPGA_1 (106),..., The ASIC and FPGA_n (107) and the CPU bus access auxiliary circuit (103), respectively. The setting data is input to the CPU bus access auxiliary circuit (103), and is input to the FPGA_1 (106),..., ASIC and FPGA_n (107) via the bidirectional buffer (102). . The Read control signal / Write control signal is input to the CPU bus access auxiliary circuit (103).
CPUバスアクセス補助回路(103)は、CPU(101)から入力されるRead制御信号/Write制御信号から、Read制御かWrite制御かを判断し、入力アドレス値から、どのデバイスに対するアクセスなのかを判断する。そして、Write制御の場合には、デバイス選択信号とWrite制御信号およびバッファ制御信号を出力し、双方向バッファ(102)を介して該当するデバイスのレジスタに対してCPU(101)からの設定データを書き込む制御を行うとともに、該当するデバイスのレジスタに書き込んだデータを外部RAM(105)へアドレスごとに格納する制御を行う。 The CPU bus access auxiliary circuit (103) determines whether it is Read control or Write control from the Read control signal / Write control signal input from the CPU (101), and determines which device is accessed from the input address value. To do. In the case of Write control, a device selection signal, a Write control signal, and a buffer control signal are output, and setting data from the CPU (101) is sent to the corresponding device register via the bidirectional buffer (102). In addition to controlling writing, control is performed to store the data written in the register of the corresponding device in the external RAM (105) for each address.
一方、Read制御の場合には、CPUバスアクセス補助回路(103)は、CPU(101)から入力されたアドレスがWriteのみに対応しているレジスタのアドレスに該当するアドレスであると判定したときは、外部RAM(105)の当該レジスタに割り当てられているアドレスに書き込まれているデータを読み出してCPU(101)へ出力し、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)と接続されているデータバスは双方向バッファ(102)によりハイインピーダンス制御する。 On the other hand, in the case of Read control, when the CPU bus access auxiliary circuit (103) determines that the address input from the CPU (101) is an address corresponding to the address of a register corresponding only to Write. The data written in the address assigned to the register of the external RAM (105) is read out and output to the CPU (101), and the ASIC and FPGA_1 (106),..., The ASIC and FPGA_n (107). The connected data bus is subjected to high impedance control by the bidirectional buffer (102).
なお図示されていないが、CPUバスアクセス補助回路(103)と外部RAM(105)の間にもRead制御信号、Write制御信号、アドレスバス、データバスが設けられている。CPUバスアクセス補助回路(103)と外部RAM(105)間のアドレスバスは、CPU(101)から出力されるアドレスバスとは独立したバスであり、格納したいレジスタのアドレス空間が確保できるアドレスバスの本数だけで構成することが可能である。 Although not shown, a Read control signal, a Write control signal, an address bus, and a data bus are also provided between the CPU bus access auxiliary circuit (103) and the external RAM (105). The address bus between the CPU bus access auxiliary circuit (103) and the external RAM (105) is a bus independent of the address bus output from the CPU (101), and is an address bus that can secure the address space of the register to be stored. It is possible to configure only by the number.
本実施形態によれば、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)におけるレジスタの内、Writeのみに対応しているレジスタに書き込まれたデータをCPU(101)が確認する際には、CPUバスアクセス補助回路(103)により、CPU(101)から出力されるアドレスバスとは独立したアドレスバスで接続された外部RAM(105)から読み出すことができるので、Writeのみに対応しているレジスタに書き込まれたデータ(レジスタ値)をRead用にラッチするためのF/Fをデバイス内に設ける必要がなく、その分、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)の回路規模を削減することができる。 According to the present embodiment, the CPU (101) checks the data written in the registers corresponding to only Write among the registers in the ASIC and FPGA_1 (106),..., The ASIC and FPGA_n (107). In this case, the CPU bus access auxiliary circuit (103) can read from the external RAM (105) connected by an address bus independent of the address bus output from the CPU (101), so that only Write is supported. It is not necessary to provide an F / F in the device for latching data (register value) written in the register being read for reading, and accordingly, ASIC and FPGA_1 (106),..., ASIC and FPGA_n The circuit scale of (107) can be reduced.
また、この外部RAM(105)はコネクタ(104)によって接続されているため、必要に応じて取り付け/取り外しが可能であるため、量産出荷時に外部RAM(105)を取り外すことによりコスト削減を行うこともできる。さらに本実施形態のCPUバスアクセス補助回路(103)は、後述するデバッグ機能制御部を備えており、デバッグ時において、CPU(101)に対して試験用のデータをASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)のレジスタの値として、送信させることも可能となっている。 In addition, since the external RAM (105) is connected by the connector (104), it can be attached / removed as necessary. Therefore, the cost can be reduced by removing the external RAM (105) at the time of mass production shipment. You can also. Further, the CPU bus access auxiliary circuit (103) of the present embodiment includes a debug function control unit which will be described later, and at the time of debugging, test data is sent to the CPU (101) by the ASIC and FPGA_1 (106),. ... ASIC and FPGA_n (107) can be transmitted as register values.
即ち、通常動作では、CPUからのReadアクセスがあった場合、CPUバスアクセス補助回路(103)により、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)のレジスタの内容をCPU(101)に対して送信するが、デバッグ時にCPUからのReadアクセスがあった場合は、CPUバスアクセス補助回路(103)はデバイス選択信号、Read制御信号をASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)に対して送信せずに、CPUバスアクセス補助回路(103)に対して事前にCPU(101)から設定されたデータを読み出し、データバスを介してCPU(101)へ送信する。 That is, in normal operation, when there is a Read access from the CPU, the CPU bus access auxiliary circuit (103) causes the contents of the registers of the ASIC and FPGA_1 (106),..., ASIC and FPGA_n (107) to be transferred to the CPU ( 101), when there is a Read access from the CPU during debugging, the CPU bus access auxiliary circuit (103) sends a device selection signal and a Read control signal to the ASIC and FPGA_1 (106),. Without transmitting to the ASIC and FPGA_n (107), data set in advance from the CPU (101) is read to the CPU bus access auxiliary circuit (103) and transmitted to the CPU (101) via the data bus. To do.
図2は、本実施形態におけるCPUバスアクセス補助回路の構成を示すブロック図である。 FIG. 2 is a block diagram showing the configuration of the CPU bus access auxiliary circuit in the present embodiment.
本実施形態のCPUバスアクセス補助回路(103)は、アドレスデコーダ(201)、双方向制御部(202)、CPUバス監視制御部(203)、コネクタ(204)、外部RAM(205)、デバッグ機能制御部(206)、バスアクセス制御信号出力部(207)によって構成されている。 The CPU bus access auxiliary circuit (103) of this embodiment includes an address decoder (201), a bidirectional control unit (202), a CPU bus monitoring control unit (203), a connector (204), an external RAM (205), and a debugging function. A control unit (206) and a bus access control signal output unit (207) are included.
CPU(101)からCPUバスアクセス補助回路(103)へ入力されるアドレスは、アドレスデコーダ(201)によって各デバイスのレジスタに対応する内部信号に変換され、CPUバス監視制御部(203)およびバスアクセス制御信号出力部(207)へ送信される。データバスに関してはスリーステート制御される。即ちデータバスは双方向制御部(202)によって、Writeアクセス時には入力として、またReadアクセス時は出力または入力として処理され、それ以外の場合はHi−Z状態となる。 An address input from the CPU (101) to the CPU bus access auxiliary circuit (103) is converted into an internal signal corresponding to the register of each device by the address decoder (201), and the CPU bus monitoring control unit (203) and the bus access are converted. It is transmitted to the control signal output unit (207). The data bus is three-state controlled. That is, the data bus is processed by the bidirectional control unit (202) as an input at the time of Write access, as an output or an input at the time of Read access, and in a Hi-Z state otherwise.
FPGA_1(106)、・・・、ASIC及びFPGA_n(107)などの信号処理デバイスのレジスタに対してWrite制御された場合、CPUバス監視制御部(203)は外部RAM(205)に対して、アドレスデコーダ(201)により内部アドレスに変換されたアドレスごとにCPU(101)からのデータ書き込みを行うとともに、バスアクセス制御信号出力部(207)から双方向バッファ制御信号、デバイス選択(CS)信号、各デバイスへのWrite制御信号を出力させることにより、双方向バッファ(102)を制御して該当するデバイスのレジスタへCPU(101)からの前記データの書き込みを行う。 When the write control is performed on the registers of the signal processing devices such as FPGA_1 (106),..., ASIC and FPGA_n (107), the CPU bus monitoring control unit (203) addresses the external RAM (205). Data is written from the CPU (101) for each address converted into an internal address by the decoder (201), and a bidirectional buffer control signal, a device selection (CS) signal is sent from the bus access control signal output unit (207). By outputting a write control signal to the device, the bidirectional buffer (102) is controlled to write the data from the CPU (101) to the register of the corresponding device.
CPU(101)からデバイスのWriteのみに対応しているレジスタに対するRead要求があった場合には、バスアクセス制御信号出力部(207)からデバイスに対するRead制御は行わずに、外部RAM(205)へ書き込まれたデータがCPUバス監視制御部(203)によって読み出され、双方向制御部(202)を介してデータバスへ出力される。従って、デバッグ時に必要なレジスタに対するRead制御をデバイスに実装する必要がなくなり、その分回路規模を削減することができる。 When there is a read request from the CPU (101) to a register that supports only the device write, the bus access control signal output unit (207) does not perform read control on the device, but transfers it to the external RAM (205). The written data is read by the CPU bus monitoring control unit (203) and output to the data bus via the bidirectional control unit (202). Therefore, it is not necessary to implement read control for registers necessary for debugging in the device, and the circuit scale can be reduced accordingly.
一方、Read可能なレジスタに対するRead要求である場合は、バスアクセス制御信号出力部(207)から、デバイスへのRead制御信号が出力され、デバイスからのデータが双方向バッファ(102)を介してCPU(101)に入力される。そのとき、双方向制御部(202)はハイインピーダンスまたはデータ入力に制御される。Read要求されたレジスタが、デバイスのWriteのみに対応しているレジスタであるか、あるいはRead可能なレジスタであるかの情報は、これらのデバイスが実装された段階で、CPUバスアクセス補助回路(103)内に設定登録され、CPUバス監視制御部(203)によって参照される。 On the other hand, if the read request is for a register that can be read, a read control signal to the device is output from the bus access control signal output unit (207), and the data from the device is sent to the CPU via the bidirectional buffer (102). (101). At that time, the bidirectional control unit (202) is controlled to high impedance or data input. Information on whether the register requested to be read is a register corresponding to only the write of the device or a register that can be read is obtained when the CPU bus access auxiliary circuit (103 ) And registered by the CPU bus monitoring control unit (203).
通常デバイスがCPUからのRead制御をする場合には、Read用にレジスタ値をラッチするためのF/Fを用意する必要がある。従って、Writeのみ対応しているレジスタに書き込まれたデータをデバッグ時にデバイスから読み出して確認する必要がある場合には、Writeのみ対応しているレジスタにもRead用にレジスタ値をラッチするためのF/Fが必要となる。そのため、デバイスのWriteのみに対応しているレジスタに対するデバッグ時のRead制御の実装を省くことにより、その回路規模は約1/2(ラッチ以外の制御もあるため単純に1/2とはならないが)となる。 When the normal device performs read control from the CPU, it is necessary to prepare an F / F for latching the register value for read. Therefore, when it is necessary to read and check the data written in the register that supports only Write from the device at the time of debugging, F for latching the register value for Read in the register that supports only Write. / F is required. For this reason, by omitting the implementation of read control during debugging for a register that supports only the device write, the circuit scale is approximately ½ (although there is control other than the latch, it is not simply ½. )
外部RAM(205)はコネクタ(204)で接続されているため必要な容量を選択でき、さらに取り外すことも可能である。また、デバッグ機能制御部(206)は、ソフトウェアに対してデバッグ用のデータを送信する制御を行う。このデバック機能制御部(206)は、主にソフトウェアの評価に用いられ、ソフトウェアに対して表示させたいレジスタ値、及び表示させる周期、表示させる回数などを設定して制御させることにより実現される。 Since the external RAM (205) is connected by the connector (204), a necessary capacity can be selected and further removed. The debug function control unit (206) performs control to transmit debug data to the software. The debug function control unit (206) is mainly used for software evaluation, and is realized by setting and controlling a register value to be displayed on the software, a display cycle, a display frequency, and the like.
そのためデバッグ機能制御部(206)はレジスタを持つことが可能であり、デバッグ用途に応じて様々な試験のパターンを実現することができる。このような機能が必要なのは、ハードウェアのレジスタ値をソフトウェアが監視し、レジスタ値によってソフトウェアがある制御をするような場合があり、このソフトウェアでの監視において、監視周期と保護段数がある場合、デバック機能制御部(206)の機能により評価を迅速に進めることができる。 Therefore, the debug function control unit (206) can have a register, and various test patterns can be realized according to the debug application. Such a function is necessary when the software register value is monitored by the software and the software controls the register value. When monitoring with this software, there is a monitoring cycle and the number of protection stages, Evaluation can be rapidly advanced by the function of the debug function control unit (206).
また、CPUバス監視制御部(203)は、CPU(ソフトウェア)からのアクセスを、アドレスバス及びデータバスによりを監視しており、アドレスバスを監視することで、デバック機能制御部(206)にてデバック対象レジスタへのアクセスの場合であるかの判断、また、書き込みのみ対応しているレジスタへのアクセスの判断などを行い、それぞれに対応した制御を行う(対象となっているアドレス以外のアドレスに対しての制御は通常のリード及びライト制御を行う)。 The CPU bus monitoring control unit (203) monitors accesses from the CPU (software) using the address bus and data bus, and the debugging function control unit (206) monitors the address bus. Judgment is made whether the access is to the register to be debugged, and access to a register that only supports writing is performed, and control corresponding to each is performed (to addresses other than the target address) For the control, normal read and write control is performed).
デバック対象レジスタへのアクセスの場合には、対象アドレスとアドレスバスの状態が一致し、さらにリード制御時である場合にはデバック用レジスタ値をCPU(101)に対して送信し、ライト制御時である場合には、その書き込みがあった回数を記録させる。また、書き込みのみ対応しているレジスタへのライトアクセスの場合には、デバイスへの書き込みと同時に外部RAMへの書き込みを行い、リードアクセスの場合には、デバイスへのリード制御をマスクし、外部RAMに格納しているデータを表示させる。 In the case of access to the debug target register, the target address and the address bus state match, and in the case of read control, the debug register value is transmitted to the CPU (101), and in the case of write control. In some cases, the number of times of writing is recorded. In the case of write access to a register that supports only writing, writing to the external RAM is performed simultaneously with writing to the device. In the case of read access, the read control to the device is masked, and the external RAM Display the data stored in.
図3は、本実施形態のCPUバスアクセス補助回路におけるRead制御の動作を示すタイムチャートである。次に、本実施形態のCPUバスアクセス補助回路の動作について図1〜図3を参照して説明する。 FIG. 3 is a time chart showing the operation of Read control in the CPU bus access auxiliary circuit of this embodiment. Next, the operation of the CPU bus access auxiliary circuit of this embodiment will be described with reference to FIGS.
先ず、CPU(101)からASIC及びFPGA_1(106)のレジスタに対してWrite制御があった場合、アドレスデコーダ(201)は、CPUバスアクセス補助回路(103)へ入力されたアドレスを内部アドレスに変換する。内部アドレスに変換するための情報は、CPUバスアクセス補助回路を実装(インプリメント)するときに、初期値としてハードウェア側でCPUバスアクセス補助回路(103)内に設定する。 First, when there is a write control from the CPU (101) to the ASIC and FPGA_1 (106) registers, the address decoder (201) converts the address input to the CPU bus access auxiliary circuit (103) into an internal address. To do. Information for conversion to an internal address is set in the CPU bus access auxiliary circuit (103) on the hardware side as an initial value when the CPU bus access auxiliary circuit is mounted (implemented).
CPU(101)には、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)以外にROM、RAM等が接続されており、CPU(101)から出力されるアドレスには、ASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)の各レジスタのアドレス以外にこれらのROM、RAM等にアクセスするためのアドレスも含まれているため、CPU(101)から出力されるアドレスをそのまま用いると、アドレスのビット数が多くなり、CPUバスアクセス補助回路(103)の規模が大きくなる。 In addition to the ASIC and FPGA_1 (106),..., The ASIC and FPGA_n (107), a ROM, a RAM, and the like are connected to the CPU (101). The addresses output from the CPU (101) include the ASIC and the FPGA. In addition to the addresses of the registers of FPGA_1 (106),..., ASIC and FPGA_n (107), addresses for accessing these ROMs, RAMs, and the like are also included. If is used as it is, the number of bits of the address increases, and the scale of the CPU bus access auxiliary circuit (103) increases.
そこで、本実施例では、アドレスデコーダ(201)により、実装されるASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)に設けられるレジスタの数を勘案して全レジスタのアドレスを指定可能な比較的少ない容量で設定した内部アドレスに変換することにより、アドレスビット数を減らしてCPUバスアクセス補助回路(103)の規模を小さくしている。なお、CPU(101)から出力されるアドレスをそのまま内部アドレスとして利用することも可能である。 Therefore, in this embodiment, the address decoder (201) designates the addresses of all registers in consideration of the number of registers provided in the ASIC and FPGA_1 (106),..., ASIC and FPGA_n (107) to be mounted. By converting to an internal address set with a relatively small capacity as possible, the number of address bits is reduced and the scale of the CPU bus access auxiliary circuit (103) is reduced. The address output from the CPU (101) can be used as it is as an internal address.
変換された内部アドレスはASIC及びFPGA_1(106)、・・・、ASIC及びFPGA_n(107)の各レジスタに対応している信号である。また、データは双方向制御部(202)からCPUバス監視制御部(203)へ入力され、変換された内部アドレスとCPU(101)からのWrite制御信号をもとに、外部RAM(205)へ内部アドレスごとにデータが書き込まれる。 The converted internal address is a signal corresponding to each register of ASIC and FPGA_1 (106),..., ASIC and FPGA_n (107). Further, data is input from the bidirectional control unit (202) to the CPU bus monitoring control unit (203), and to the external RAM (205) based on the converted internal address and the write control signal from the CPU (101). Data is written for each internal address.
さらに、外部RAM(205)へ書き込まれたデータと同様のデータをASIC及びFPGA_1(106)のレジスタに対しても書き込む。そのため、アドレスデコーダ(201)からの内部アドレスとCPU(101)からのWrite制御信号はバスアクセス制御信号出力部(207)へ入力され、バスアクセス制御信号出力部(207)は内部アドレスから対応するデバイスを判定し(ここではASIC及びFPGA_1(106))、デバイス選択信号、およびWrite制御信号を出力する。 Further, the same data as the data written in the external RAM (205) is written into the registers of the ASIC and FPGA_1 (106). Therefore, the internal address from the address decoder (201) and the write control signal from the CPU (101) are input to the bus access control signal output unit (207), and the bus access control signal output unit (207) corresponds to the internal address. A device is determined (here, ASIC and FPGA_1 (106)), and a device selection signal and a Write control signal are output.
また、バスアクセス制御信号出力部(207)は双方向バッファ制御信号を出力して双方向バッファ(102)を制御する。その結果、ASIC及びFPGA_1(106)に対して、CPU(101)からのアドレスと、デバイス選択信号、Write制御信号およびCPU(101)からのデータが入力され、ASIC及びFPGA_1(106)の該当レジスタへデータが書き込まれる。これらの制御により、外部RAM(205)とASIC及びFPGA_1(106)のレジスタへ同じタイミングで同様のデータが書き込まれる。 The bus access control signal output unit (207) outputs a bidirectional buffer control signal to control the bidirectional buffer (102). As a result, the address from the CPU (101), the device selection signal, the write control signal, and the data from the CPU (101) are input to the ASIC and FPGA_1 (106), and the corresponding registers of the ASIC and FPGA_1 (106). Data is written to By these controls, similar data is written to the external RAM (205) and the registers of the ASIC and FPGA_1 (106) at the same timing.
次に、ASIC及びFPGA_1(106)のレジスタに対してRead制御があった場合は、該当レジスタがReadに対応しているか、またはReadには対応せずWriteのみに対応しているかによって動作が異なる。 Next, when Read control is performed on the registers of ASIC and FPGA_1 (106), the operation differs depending on whether the corresponding register supports Read or only Read does not support Read. .
先ず、アドレスデコーダ(201)によって内部信号に変換されたアドレスがReadに対応しているレジスタであるかどうかの判定を、CPUバス監視制御部(203)によって行う。Readに対応しているレジスタのアドレスは使用するASIC等のデバイスの仕様を見れば分かるので、その判定基準は、本発明のCPUバスアクセス補助回路(103)を設計する段階で初期値としてCPUバスアクセス補助回路(103)内に設定される。 First, the CPU bus monitoring control unit (203) determines whether the address converted into the internal signal by the address decoder (201) is a register corresponding to Read. Since the address of the register corresponding to Read can be understood by looking at the specifications of the device such as ASIC to be used, the determination criterion is the CPU bus as an initial value at the stage of designing the CPU bus access auxiliary circuit (103) of the present invention. It is set in the access auxiliary circuit (103).
変換された内部アドレスがReadに対応しているレジスタである場合には、図3(1)に示すように、バスアクセス制御信号出力部(207)からRead制御信号とデバイス選択信号をASIC及びFPGA_1(106)へ出力し、また双方向バッファ制御信号を双方向バッファ(102)へ出力してデータの伝送方向を制御することによって、CPU(101)からのアドレスにより指定されたASIC及びFPGA_1(106)の該当レジスタから出力されたデータをCPU(101)へ入力させる。 When the converted internal address is a register corresponding to Read, as shown in FIG. 3 (1), a Read control signal and a device selection signal are sent from the bus access control signal output unit (207) to ASIC and FPGA_1. (106) and by outputting a bidirectional buffer control signal to the bidirectional buffer (102) to control the data transmission direction, the ASIC and FPGA_1 (106) designated by the address from the CPU (101) ) Is input to the CPU (101).
このとき、CPUバスアクセス補助回路(103)内の双方向制御部(202)は、通常はハイインピーダンスに制御されるが、レジスタから読み出したデータをデバッグ用として利用する場合には、双方向制御部(202)を制御することによりデータバス上のASIC及びFPGA_1(106)の該当レジスタから出力されたデータをCPUバス監視制御部(203)に入力し、モニタ用のログとして外部RAM(205)に保存することもできる。 At this time, the bidirectional control unit (202) in the CPU bus access auxiliary circuit (103) is normally controlled to high impedance. However, when data read from the register is used for debugging, bidirectional control is performed. The data output from the corresponding registers of the ASIC and FPGA_1 (106) on the data bus by controlling the unit (202) is input to the CPU bus monitoring control unit (203), and the external RAM (205) is used as a monitor log. You can also save to
また、Read制御時で読み出したレジスタがWrite制御で書き込まれたレジスタである場合には、双方向制御部(202)を制御することによりASIC及びFPGA_1(106)のレジスタから出力されたデータをCPUバス監視制御部(203)に取り込むとともに、外部RAM(205)に書き込まれている該当するアドレスのデータを読み出して両者を比較することにより、ASIC及びFPGA_1(106)のレジスタの試験を同時に行うこともできる。 In addition, when the register read in the Read control is a register written in the Write control, the data output from the registers of the ASIC and FPGA_1 (106) is controlled by controlling the bidirectional control unit (202). Simultaneously test the registers of the ASIC and FPGA_1 (106) by reading the data at the corresponding address written in the external RAM (205) and comparing the data in the bus monitoring control unit (203). You can also.
一方、アドレスデコーダ(201)によって内部信号に変換されたアドレスが、Readに対応せずWriteのみに対応している場合には、図3(2)に示すように、バスアクセス制御信号出力部(207)からはRead制御信号およびデバイス選択信号はアサートされない。従って、ASIC及びFPGA_1(106)へはRead制御に関する信号は入力されず、ASIC及びFPGA_1(106)からはデータは出力されない。また、双方向バッファ制御信号による双方向バッファ(102)のデータ方向制御も行われないので、デバイスのデータバスはハイインピーダンスの状態を保持している。 On the other hand, when the address converted into the internal signal by the address decoder (201) does not correspond to Read but only corresponds to Write, as shown in FIG. 3 (2), the bus access control signal output unit ( From 207), the Read control signal and the device selection signal are not asserted. Therefore, no signal relating to Read control is input to the ASIC and FPGA_1 (106), and no data is output from the ASIC and FPGA_1 (106). Further, since the data direction of the bidirectional buffer (102) is not controlled by the bidirectional buffer control signal, the data bus of the device maintains a high impedance state.
Writeのみに対応しているレジスタに書き込まれている設定値は、Write制御時に外部RAM(205)にも同時に書き込まれているため、CPUバスアクセス補助回路(103)は、Writeのみに対応しているレジスタに対するCPU(101)からのRead要求に対しては、外部RAM(205)に書き込まれている該当アドレスのデータを読み出すとともに双方向制御部(202)を制御することにより、CPU(101)がデータを受信できるタイミングで、データバス上へ外部RAM(205)から読み出したデータを出力する。 Since the setting value written in the register corresponding to only Write is simultaneously written in the external RAM (205) at the time of Write control, the CPU bus access auxiliary circuit (103) supports only Write. In response to a Read request from the CPU (101) for the register being read, the CPU (101) is read by reading the data at the corresponding address written in the external RAM (205) and controlling the bidirectional control unit (202). The data read from the external RAM (205) is output onto the data bus at a timing at which data can be received.
次に、デバッグ機能制御部(206)によって、Readに対応しているレジスタの仮想の内容をデバッグ用にCPU(101)に対して送信することによりソフトウェアの不具合を解析する場合には、CPU(101)からのRead要求に対して、CPUバスアクセス補助回路(103)はデバイスに対するRead制御を行わずに、デバッグ機能制御部(206)から読み出した値を、双方向制御部(202)を介してデータバスへ出力させる。 Next, when analyzing the software defect by transmitting the virtual contents of the register corresponding to Read to the CPU (101) for debugging by the debug function control unit (206), the CPU ( In response to the Read request from 101), the CPU bus access auxiliary circuit (103) does not perform Read control on the device, and the value read from the debug function control unit (206) is passed through the bidirectional control unit (202). Output to the data bus.
ソフトウェアのデバッグ動作のためにReadに対応しているレジスタに所望の値を設定する(記憶させる)作業は、実際の試験を行う前に、デバッグの種類に応じてCPU(101)からデバッグ機能制御部(206)へ設定される。このデバッグ動作は、回路変更の必要がないため、通常動作に影響させずにデバッグを進めることができる。 The task of setting (storing) a desired value in a register corresponding to Read for software debugging operation is to control the debugging function from the CPU (101) according to the type of debugging before performing the actual test. Part (206). Since this debugging operation does not require a circuit change, the debugging can proceed without affecting the normal operation.
即ち、CPUバスアクセス補助回路(103)をプログラマブルデバイスとして設計する段階で、デバック機能(CPUに対してデバック用のデータを出力させる機能)と通常運用のための機能の両方を機能として持たせ、デバック機能を使いたい場合は、CPUバスアクセス補助回路のレジスタ設定により、デバック機能ONモードにすることで、デバック用に表示させたい値(これもデバックする前に設定)を表示させ、また、デバック機能OFFモードにすることで、監視対象のデバイスのレジスタの値をCPUに対して出力させる。 That is, at the stage of designing the CPU bus access auxiliary circuit (103) as a programmable device, both a debugging function (a function for outputting data for debugging to the CPU) and a function for normal operation are provided as functions. If you want to use the debug function, set the debug function ON mode by setting the register of the CPU bus access auxiliary circuit to display the value to be displayed for debugging (also set before debugging). By setting the function OFF mode, the value of the register of the device to be monitored is output to the CPU.
動作としては、デバック用の回路も通常運用の回路も、CPUバスを制御している部分は共有であるが、デバック機能と通常運用は排他で用いられるため、通常運用中にデバック機能制御部(206)から読み出した値がデータバスを介してCPUへ出力させることはなく、この機能はデバック時にのみ使用される。従って、一方の機能部がもう一方の機能部の動作を妨害することはない。 As for the operation, both the debugging circuit and the normal operation circuit share the part that controls the CPU bus, but the debugging function and the normal operation are used exclusively, so the debugging function control unit ( The value read from 206) is not output to the CPU via the data bus, and this function is used only during debugging. Therefore, one functional unit does not disturb the operation of the other functional unit.
101 CPU
102 双方向バッファ
103 CPUバスアクセス補助回路
104、204 コネクタ
105、205 外部RAM
106、107 ASIC及びFPGA
201 アドレスデコーダ
202 双方向制御部
203 CPUバス監視制御部
206 デバッグ機能制御部
207 バスアクセス制御信号出力部
101 CPU
102
106, 107 ASIC and FPGA
201
Claims (2)
前記CPUから出力されるアドレスを入力し、該入力アドレスの中から当該CPUバスアクセス補助回路における処理と関連するアドレスのみを抽出して、前記アドレスよりも少ないビット数からなる内部アドレスに変換してCPUバス監視制御部およびバスアクセス制御信号出力部へ出力する機能を有するアドレスデコーダと、
前記CPUから出力されるWrite/Read制御信号と前記アドレスデコーダから出力される内部アドレスを監視し、前記CPUからWrite制御信号が入力されたとき、外部接続されたRAMの前記内部アドレスに対応するアドレスに前記CPUから出力されたデータを書き込むための制御を行うとともに、前記バスアクセス制御信号出力部にデータ書き込み制御信号を出力し、前記CPUからRead制御信号が入力されたとき、前記内部アドレスから、当該内部アドレスに該当する前記デバイスのレジスタがWriteのみに対応するレジスタであるか否かを判定し、Writeのみに対応するレジスタと判定したとき前記外部接続されたRAMの前記内部アドレスに対応するアドレスに書き込まれたデータを読み出して前記CPUへ出力するための制御を行い、Readにも対応しているレジスタと判定したときは前記バスアクセス制御信号出力部にデータ読出し制御信号を出力する機能を有するCPUバス監視制御部と、
前記CPUバス監視制御部から前記データ書き込み制御信号が入力されたとき、前記アドレスデコーダから入力された内部アドレスから、対応するデバイスを判定してデバイス選択信号およびWrite制御信号を出力するとともに、前記CPUと前記デバイス間のデータバスに接続された双方向バッファをデータ書き込み方向に制御する双方向バッファ制御信号を出力し、前記CPUバス監視制御部から前記データ読出し制御信号が入力されたとき、前記アドレスデコーダから入力された内部アドレスから、対応するデバイスを判定してデバイス選択信号およびRead制御信号を出力するとともに、前記双方向バッファをデータ読出し方向に制御する双方向バッファ制御信号を出力する機能を有するバスアクセス制御信号出力部と、
を備えていることを特徴とするCPUバスアクセス補助回路。 CPU and, ASIC (Application Specific Integrated Circuit) having an interface portion having a register corresponding to the Write / Read access from the CPU or FPGA (Field Programmable Gate Array) connected Ru CPU during signal processing devices, such as A bus access auxiliary circuit,
Inputs the address output from the CPU, extracts only the address related to the processing in the CPU bus access auxiliary circuit from the input address, and converts it into an internal address having a smaller number of bits than the address An address decoder having a function of outputting to a CPU bus monitoring control unit and a bus access control signal output unit;
The write / read control signal output from the CPU and the internal address output from the address decoder are monitored, and when the write control signal is input from the CPU, the address corresponding to the internal address of the externally connected RAM Control for writing the data output from the CPU to the bus access control signal output unit, and when the Read control signal is input from the CPU, from the internal address, It is determined whether or not the register of the device corresponding to the internal address is a register corresponding only to Write, and when it is determined that the register corresponds only to Write, the address corresponding to the internal address of the externally connected RAM The data written in the Performs control for outputting the U, a CPU bus monitor control unit having a function of outputting the data read control signal to the bus access control signal output unit when it is determined that registers also corresponds to Read,
When the data write control signal is input from the CPU bus monitoring control unit, the corresponding device is determined from the internal address input from the address decoder, and a device selection signal and a write control signal are output. Output a bidirectional buffer control signal for controlling the bidirectional buffer connected to the data bus between the device and the data bus in the data write direction, and when the data read control signal is input from the CPU bus monitoring controller, the address A function of determining a corresponding device from the internal address input from the decoder, outputting a device selection signal and a Read control signal, and outputting a bidirectional buffer control signal for controlling the bidirectional buffer in the data reading direction. A bus access control signal output unit;
CPU bus access auxiliary circuit, characterized in that it comprises a.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006297747A JP4957188B2 (en) | 2006-11-01 | 2006-11-01 | CPU bus access auxiliary circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006297747A JP4957188B2 (en) | 2006-11-01 | 2006-11-01 | CPU bus access auxiliary circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008117050A JP2008117050A (en) | 2008-05-22 |
JP4957188B2 true JP4957188B2 (en) | 2012-06-20 |
Family
ID=39502927
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006297747A Expired - Fee Related JP4957188B2 (en) | 2006-11-01 | 2006-11-01 | CPU bus access auxiliary circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4957188B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010020494A (en) * | 2008-07-09 | 2010-01-28 | Mitsubishi Electric Corp | Protection controller |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS58114258A (en) * | 1981-12-28 | 1983-07-07 | Panafacom Ltd | Data processor |
JPH05241900A (en) * | 1992-02-26 | 1993-09-21 | Nec Corp | Program operation confirmation system of computer |
JP3071044B2 (en) * | 1992-08-20 | 2000-07-31 | シャープ株式会社 | Test method for semiconductor integrated circuit with microcomputer |
JPH0728692A (en) * | 1993-07-09 | 1995-01-31 | Fuji Facom Corp | Readable and writable register circuit |
-
2006
- 2006-11-01 JP JP2006297747A patent/JP4957188B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2008117050A (en) | 2008-05-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110515891B (en) | FPGA chip and configuration method thereof | |
US10055377B2 (en) | Using a proprietary framework on a standards-based embedded device | |
JP2006507586A (en) | Apparatus and method for analyzing embedded system | |
CN111367812A (en) | Test method, electronic device and readable storage medium | |
US6484273B1 (en) | Integrated EJTAG external bus interface | |
CN116610590A (en) | Method and system for realizing remote debugging of multiple FPGAs based on ZYNQ platform | |
JP2008287319A (en) | Semiconductor device, electronic device and access log acquisition method | |
JP4957188B2 (en) | CPU bus access auxiliary circuit | |
US20080195793A1 (en) | Microcontroller with memory trace module | |
JP2020529064A (en) | Logic analyzer for integrated circuits | |
KR20060110359A (en) | Method and device for analyzing integrated systems for critical safety computing systems in motor vehicles | |
CN117076337A (en) | Data transmission method and device, electronic equipment and readable storage medium | |
EP2194458A2 (en) | Request processing device, request processing system, and access testing method | |
JP4940757B2 (en) | Mobile radio communication terminal, information collecting method and program when abnormality occurs | |
JP2005222446A (en) | On-board debugging apparatus and semiconductor circuit apparatus | |
JP2005141532A (en) | System debugging device | |
CN113533941A (en) | Chip interface testing method and device, computer equipment and storage medium | |
CN115729729A (en) | Power consumption abnormity positioning method, system, terminal equipment and storage medium | |
KR101400396B1 (en) | Real-time embedded software deburgging method using memory address | |
KR20030055150A (en) | Microprocessor and processing method of microprocessor | |
CN113034873A (en) | Sensor communication method, device and system | |
CN117436405B (en) | Simulation verification method and device and electronic equipment | |
CN114443378B (en) | System and method for testing server signal | |
JP7048776B1 (en) | Programmable devices, systems, verification support methods, and programs | |
CN117370257B (en) | Device for converting serial port into bus, field programmable gate array and debugging method thereof |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20090702 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20091027 |
|
RD01 | Notification of change of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7421 Effective date: 20110705 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120203 |
|
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: 20120221 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120305 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150330 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4957188 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |