KR20040004875A - Method for accessing register in amba apb bridge - Google Patents
Method for accessing register in amba apb bridge Download PDFInfo
- Publication number
- KR20040004875A KR20040004875A KR1020020038949A KR20020038949A KR20040004875A KR 20040004875 A KR20040004875 A KR 20040004875A KR 1020020038949 A KR1020020038949 A KR 1020020038949A KR 20020038949 A KR20020038949 A KR 20020038949A KR 20040004875 A KR20040004875 A KR 20040004875A
- Authority
- KR
- South Korea
- Prior art keywords
- clock signal
- peri
- ferry
- apb
- register
- Prior art date
Links
Classifications
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B25—HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
- B25B—TOOLS OR BENCH DEVICES NOT OTHERWISE PROVIDED FOR, FOR FASTENING, CONNECTING, DISENGAGING OR HOLDING
- B25B19/00—Impact wrenches or screwdrivers
Abstract
Description
본 발명은 AMBA(Advanced Microcontroller Bus Architecture) APB(Advanced Peripheral Bus) 브리지에 있어서 레지스터 접근 방법에 관한 것으로, 특히, AMBA APB 레지스터 접근 시 내부 동작 클럭인 페리 클럭 신호(Peri CLocK ; 이하 PCLK)의 상승/하강 에지에 의해 페리 스트로브 신호(Peri STroBe ; 이하 PSTB)가 활성화되지 않도록 대기 신호를 구동하는 AMBA APB 브리지에 있어서 레지스터 접근 방법에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a register access method in an Advanced Microcontroller Bus Architecture (APM) Advanced Peripheral Bus (APP) bridge. The present invention relates to a register access method in an AMVA AP bridge that drives a standby signal such that a Peri STroBe (PSTB) is not activated by a falling edge.
최근에, ARM 사의 CPU 코어 계열을 탑재한 응용 칩들이 대거 발표되고 있다. 이는 ARM사가 저전력 SoC(System On Chip) 개발경쟁에 돌입한 수많은 칩 제조회사들에게 효과적이며, 경제적인 코어 솔루션(Core Solution)을 제공하고 있기 때문이다. 이러한 상황에서 ARM 사가 제시한 AMBA(Advanced Microcontroller Bus Architecture)는 ARM 코어를 사용하는 제품 개발에 있어 표준으로 자리잡을 것으로 예상된다.Recently, a large number of application chips based on ARM's CPU core series have been announced. This is because ARM is providing an effective, cost-effective core solution for many chip manufacturers that are in the race to develop low-power System on Chip (SoC). In this situation, ARM's Advanced Microcontroller Bus Architecture (AMBA) is expected to set the standard for product development using the ARM core.
도 1은 일반적인 AMBA를 나타낸 블록도로서, 이러한 일반적인 AMBA는, 외부버스 접속장치(110), ARM 프로세서(120) 및 칩내부의 단일칩 램(130)을 연결하는 ASB(Advanced System Bus) 영역; APB(Advanced Peripheral Bus) 접속을 위한 APB 접속 브릿지(140); 및 UART(Universal Asynchronous Receiver Transmitter, 범용 비동기 송수신기)(150), 타이머(160), PIO(170)을 연결하는 APB(Advanced Peripheral Bus) 영역을 포함한다. 여기서, ASB는 통상의 일반 버스 구조와 동일한역할을 담당하며, APB는 통상의 버스 구조에서 버스 사용 빈도수가 적은 모듈들을 위한 전용 버스이다. 또한, 사용 빈도가 적은 APB 접속 동작은, APB 레지스터에 접근하는 방식으로 구현하여 저전력 구조를 실현하게 된다. 이러한 APB 레지스터에 접근하기 위한 신호가 PSTB이다.1 is a block diagram illustrating a typical AMBA, which includes an Advanced System Bus (ASB) region connecting an external bus interface 110, an ARM processor 120, and a single chip RAM 130 within a chip; An APB connection bridge 140 for an Advanced Peripheral Bus (APB) connection; And an Advanced Peripheral Bus (APB) region connecting the Universal Asynchronous Receiver Transmitter (UART) 150, the timer 160, and the PIO 170. Here, the ASB plays the same role as a conventional general bus structure, and the APB is a dedicated bus for modules with less bus usage in the conventional bus structure. In addition, the less frequently used APB connection operation is implemented by accessing the APB register to realize a low power structure. The signal for accessing this APB register is PSTB.
그러나, PSTB는 APB 내부 동작을 위하여 사용되는 페리 클럭 신호와 연관성이 없으므로, 페리 클럭 신호 에지에 APB 레지스터로의 접근이 발생할 경우 오동작이 발생하는 문제점이 있다.However, since PSTB is not related to the ferry clock signal used for the internal operation of the APB, there is a problem that a malfunction occurs when the access to the APB register occurs at the edge of the ferry clock signal.
상기 문제점을 해결하기 위하여 안출된 본 발명은, 외부 페리 클럭 신호를 내부 버스 클록(BCLK)으로 샘플링하여 내부 버스 클록(BCLK)에 동기화된 페리 클럭 신호를 생성하여 사용하는 동시에, 페리 클럭 신호의 양쪽 에지를 미리 감지하여 대기 신호를 구동함으로써 PSTB가 안정적인 상태에서 인가되게 하여 오동작이 없도록 하는 AMBA APB 브리지에 있어서 레지스터 접근 방법을 제공하는데 그 목적이 있다.In order to solve the above problems, the present invention samples an external ferry clock signal with an internal bus clock BCLK, generates and uses a ferry clock signal synchronized with the internal bus clock BCLK, and simultaneously uses both of the ferry clock signals. It is an object of the present invention to provide a register access method in an AMBA APS bridge in which a PSTB is applied in a stable state by detecting an edge in advance and driving a wait signal.
도 1은 일반적인 AMBA를 나타낸 블록도,1 is a block diagram showing a typical AMBA,
도 2는 본 발명의 일 실시예에 의한 AMBA APB 브리지에 있어서 레지스터 접근 방법을 나타낸 동작흐름도.2 is a flowchart illustrating a register access method in an AMAP AP bridge according to an exemplary embodiment of the present invention.
도 3은 본 발명의 일 실시예에 의한 AMBA APB 브리지에 있어서 레지스터 접근 방법을 구현한 프로그램에 의한 신호의 파형을 나타낸 예시도,3 is an exemplary view showing a waveform of a signal by a program implementing a register access method in an AMAP AP bridge according to an embodiment of the present invention;
도 4a 및 도 4b는 본 발명의 일 실시예에 의한 AMBA APB 브리지에 있어서 레지스터 접근 방법을 구현한 프로그램의 동작을 나타낸 상태도.4A and 4B are diagrams illustrating the operation of a program implementing a register access method in an AMAP bridge according to an embodiment of the present invention.
* 도면의 주요 부분에 대한 부호의 설명 *Explanation of symbols on the main parts of the drawings
110 : 외부버스 접속장치120 : ARM 프로세서110: external bus connection device 120: ARM processor
130 : 칩내부 램140 : APB 접속 브릿지130: chip internal RAM 140: APB connection bridge
150 : UART160 : 타이머150: UART160: Timer
170 : PIO170: PIO
상기 목적을 달성하기 위하여 본 발명의 AMBA APB 브리지에 있어서 레지스터 접근 방법은, APB 접속을 위한 APB 레지스터 접근이 요구되는 단계; 페리 클럭 신호를 내부 버스 클럭 신호에 의해 샘플링하는 단계; 페리 클럭 신호의 에지가 감지되었는지를 판단하는 단계; 페리 클럭 신호의 에지가 감지된 경우에는, 대기 사이클을 구동하는 단계; 및 페리 클럭 신호의 에지가 감지되지 않은 경우, 또는, 대기 사이클을 구동하는 단계 수행 후에, 동기화된 페리 클럭 신호를 완성하고, 완성된 페리 클럭 신호에 의하여 페리 스트로브 신호를 활성화시켜 APB 레지스터에 접근하는 단계를 포함한다.In order to achieve the above object, the register access method in the AMAP AP bridge of the present invention includes the steps of: APB register access required for APB connection; Sampling the ferry clock signal by an internal bus clock signal; Determining whether an edge of the ferry clock signal is detected; If an edge of the ferry clock signal is detected, driving a wait cycle; And if the edge of the ferry clock signal is not detected, or after performing the step of driving the standby cycle, completing the synchronized ferry clock signal and activating the ferry strobe signal according to the completed ferry clock signal to access the APB register. Steps.
이하, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자가 본 발명의 기술적 사상을 용이하게 실시할 수 있을 정도로 상세히 설명하기 위하여 본 발명의 가장 바람직한 실시예들을 첨부된 도면을 참조하여 설명하기로 한다.Hereinafter, the most preferred embodiments of the present invention will be described with reference to the accompanying drawings so that those skilled in the art can easily implement the technical idea of the present invention. .
도 2는 본 발명의 일 실시예에 의한 AMBA APB 브리지에 있어서 레지스터 접근 방법을 나타낸 동작흐름도로서, 이에 관하여 설명하면 다음과 같다.2 is a flowchart illustrating a register access method in an AMAP AP bridge according to an embodiment of the present invention.
먼저, APB 접속을 위한 APB 레지스터 접근이 요구된다(S201).First, APB register access for APB access is required (S201).
이후에, 페리 클럭 신호(PCLK)를 내부 버스 클럭 신호(BCLK)에 의해 샘플링한다(S202). 상기 페리 클럭 신호는 상기 내부 버스 클럭 신호에 의하여 4단 샘플링되며, 도 3을 참조하면, 최초의 페리 클럭 신호(PCLKraw)가 제1 동기 클럭 신호(PclkSyn[0]), 제2 동기 클럭 신호(PclkSyn[1]), 제3 동기 클럭 신호(PclkSyn[2]), 제4 동기 클럭 신호(PclkSyn[3]) 및 제5 동기 클럭 신호(PclkSyn[4])로 샘플링되는 것이 개시되어 있다.Thereafter, the ferry clock signal PCLK is sampled by the internal bus clock signal BCLK (S202). The ferry clock signal is sampled four times by the internal bus clock signal. Referring to FIG. 3, the first ferry clock signal PCLKraw is a first synchronous clock signal PclkSyn [0] and a second synchronous clock signal ( It is disclosed that PclkSyn [1], a third synchronous clock signal PclkSyn [2], a fourth synchronous clock signal PclkSyn [3] and a fifth synchronous clock signal PclkSyn [4] are disclosed.
다음에, 페리 클럭 신호(PCLK)의 에지가 감지되었는지를 판단한다(S203). 여기서, 에지를 감지하는 방법은, 상기 제3 동기 클럭 신호(PclkSyn[2])와 상기 제4동기 클럭 신호(PclkSyn[3])의 값이 다르거나, 상기 제4 동기 클럭 신호(PclkSyn[3])와 상기 제5 동기 클럭 신호(PclkSyn[4])가 다른 경우에 제1 에지 감지 신호(EdgeDetect1) 또는 제2 에지 감지 신호(EdgeDetect2)를 활성화함으로써 이루어진다. 이와 관련하여 다음과 같은 프로그램 코드가 가능하다.Next, it is determined whether an edge of the ferry clock signal PCLK is detected (S203). Here, the edge sensing method may include a value different from the third synchronous clock signal PclkSyn [2] and the fourth synchronous clock signal PclkSyn [3], or the fourth synchronous clock signal PclkSyn [3]. ]) And the fifth synchronous clock signal PclkSyn [4], the first edge detection signal EdgeDetect1 or the second edge detection signal EdgeDetect2 is activated. In this regard, the following program code is possible.
"assign EdgeDetect1 = PclkSyn[2]^ PclkSyn[3];"assign EdgeDetectl = PclkSyn [2] ^ PclkSyn [3];
assign EdgeDetect2 = PclkSyn[3]^ PclkSyn[4];"assign EdgeDetect2 = PclkSyn [3] ^ PclkSyn [4]; "
만약, 페리 클럭 신호(PCLK)의 에지가 감지된 경우에는, 대기 사이클을 구동하여 PSTB 신호가 활성화되지 않도록 한다(S204). 이와 관련하여 다음과 같은 프로그램 코드가 가능하다.If the edge of the ferry clock signal PCLK is detected, the standby cycle is driven to prevent the PSTB signal from being activated (S204). In this regard, the following program code is possible.
"dffnrnx2 uSA2state(S2_SA_StateD1, S2_SA_NextState, BCLK, BnRES);"dffnrnx2 uSA2state (S2_SA_StateD1, S2_SA_NextState, BCLK, BnRES);"
always @(S2_SA_StateD1 or EdgeDetect1 or EdgeDetect2 or S1_SA_StateD1)always @ (S2_SA_StateD1 or EdgeDetect1 or EdgeDetect2 or S1_SA_StateD1)
begin: SynWaitDecodebegin: SynWaitDecode
case(S2_SA_StateD1)case (S2_SA_StateD1)
S2_SA_IDLE://Idle cycleS2_SA_IDLE: // Idle cycle
if(S1_SA_StateD1 == S1_SA_WAIT)if (S1_SA_StateD1 == S1_SA_WAIT)
beginbegin
if(EdgeDetect1)if (EdgeDetect1)
S2_SA_NextState = #GAT2 S2_SA_WAIT2;S2_SA_NextState = # GAT2 S2_SA_WAIT2;
elseelse
if(EdgeDetect2)if (EdgeDetect2)
S2_SA_NextState = #GAT2 S2_SA_WAIT1;S2_SA_NextState = # GAT2 S2_SA_WAIT1;
elseelse
S2_SA_NextState = #GAT2 S2_SA_IDLE;S2_SA_NextState = # GAT2 S2_SA_IDLE;
endend
elseelse
S2_SA_NextState = #GAT2 S2_SA_IDLE;S2_SA_NextState = # GAT2 S2_SA_IDLE;
S2_SA_WAIT2: S2_SA_NextState = #GAT2 S2_SA_WAIT1;S2_SA_WAIT2: S2_SA_NextState = # GAT2 S2_SA_WAIT1;
S2_SA_WAIT1: S2_SA_NextState = #GAT2 S2_SA_IDLE;S2_SA_WAIT1: S2_SA_NextState = # GAT2 S2_SA_IDLE;
default: S2_SA_NextState = #GAT2 S2_SA_IDLE;default: S2_SA_NextState = # GAT2 S2_SA_IDLE;
endcaseendcase
end"end "
만약, 페리 클럭 신호(PCLK)의 에지가 감지되지 않은 경우, 또는, 대기 사이클을 구동한 이후에는, 동기화된 페리 클럭 신호를 완성하고, 완성된 페리 클럭 신호에 의하여 페리 스트로브 신호를 활성화시킴으로써, APB 레지스터에 접근한다(S205).If the edge of the ferry clock signal PCLK is not detected, or after driving the standby cycle, by completing the synchronized ferry clock signal and activating the ferry strobe signal by the completed ferry clock signal, APB The register is accessed (S205).
상술한 본 발명의 AMBA APB 브리지에 있어서 레지스터 접근 방법을 구현하기 위한 상태 전환 프로그램의 일례로서의 프로그램은 아래와 같다.The program as an example of the state switching program for implementing the register access method in the above-mentioned AMB AP chip of the present invention is as follows.
/*---------------------------------------------------------------------/ * ------------------------------------------------ ---------------------
*Main APB state machineMain APB state machine
*--------------------------------------------------------------------*/* ------------------------------------------------- ------------------- * /
//State transition// State transition
dffnrnx2 uSA1state(S1_SA_StateD1, S1_SA_NextState, BCLK, BnRES);dffnrnx2 uSA1state (S1_SA_StateD1, S1_SA_NextState, BCLK, BnRES);
//Output and next state logic generation// Output and next state logic generation
always @(S1_SA_StateD1 or DSELSLowAPB or APBError or S2_SA_NextState)always @ (S1_SA_StateD1 or DSELSLowAPB or APBError or S2_SA_NextState)
begin: nextstatepbegin: nextstatep
//Default assignments// Default assignments
S1_SA_NextState = S1_SA_IDLE;S1_SA_NextState = S1_SA_IDLE;
case(S1_SA_StateD1)case (S1_SA_StateD1)
S1_SA_IDLE: begin//If selected, insert wait cycleS1_SA_IDLE: begin // If selected, insert wait cycle
if (DSELSLowAPB)if (DSELSLowAPB)
S1_SA_NextState = S1_SA_WAIT;S1_SA_NextState = S1_SA_WAIT;
elseelse
S1_SA_NextState = S1_SA_IDLE;S1_SA_NextState = S1_SA_IDLE;
endend
S1_SA_WAIT: begin//Wait cycle to set up address + dataS1_SA_WAIT: begin // Wait cycle to set up address + data
if(APBError)if (APBError)
S1_SA_NextState = S1_SA_ERROR;S1_SA_NextState = S1_SA_ERROR;
else//BCEDelse // BCED
//Additional WAIT cycle needed for resynchronisation// Additional WAIT cycle needed for resynchronisation
//corner cases// corner cases
if(S2_SA__NextState != S2_SA_IDLE)if (S2_SA__NextState! = S2_SA_IDLE)
S1_SA_NextState = S1_SA_WAIT;S1_SA_NextState = S1_SA_WAIT;
elseelse
S1_SA_NextState = S1_SA_STROBE;S1_SA_NextState = S1_SA_STROBE;
endend
S1_SA_STROBE: begin//Strobe cycle to complete transactionS1_SA_STROBE: begin // Strobe cycle to complete transaction
if(DSELSLowAPB)if (DSELSLowAPB)
S1_SA_NextState = S1_SA_WAIT;S1_SA_NextState = S1_SA_WAIT;
elseelse
S1_SA_NextState = S1_SA_IDLE;S1_SA_NextState = S1_SA_IDLE;
endend
S1_SA_ERROR: begin//undefined APB address areaS1_SA_ERROR: begin // undefined APB address area
if(DSELSLowAPB)if (DSELSLowAPB)
S1_SA_NextState = S1_SA_WAIT;S1_SA_NextState = S1_SA_WAIT;
elseelse
S1_SA_NextState = S1_SA_IDLE;S1_SA_NextState = S1_SA_IDLE;
endend
endcaseendcase
endend
//Generate the BCLK - synchronised EDGE signals from PCLK// Generate the BCLK-synchronized EDGE signals from PCLK
assign EdgeDetect1 = PclkSyn[2]^ PclkSyn[3];assign EdgeDetectl = PclkSyn [2] ^ PclkSyn [3];
assign EdgeDetect2 = PclkSyn[3]^ PclkSyn[4];assign EdgeDetect2 = PclkSyn [3] ^ PclkSyn [4];
//This adds another sub-state machine, to insert a further WAIT cycles// This adds another sub-state machine, to insert a further WAIT cycles
//to avoid PSTB becoming active with the setup and hold time// to avoid PSTB becoming active with the setup and hold time
//before and after EITHER edge of PCLK// before and after EITHER edge of PCLK
dffnrnx2 uSA2state(S2_SA_StateD1, S2_SA_NextState, BCLK, BnRES);dffnrnx2 uSA2state (S2_SA_StateD1, S2_SA_NextState, BCLK, BnRES);
always @(S2_SA_StateD1 or EdgeDetect1 or EdgeDetect2 or S1_SA_StateD1)always @ (S2_SA_StateD1 or EdgeDetect1 or EdgeDetect2 or S1_SA_StateD1)
begin: SynWaitDecodebegin: SynWaitDecode
case(S2_SA_StateD1)case (S2_SA_StateD1)
S2_SA_IDLE://Idle cycleS2_SA_IDLE: // Idle cycle
if(S1_SA_StateD1 == S1_SA_WAIT)if (S1_SA_StateD1 == S1_SA_WAIT)
beginbegin
if(EdgeDetect1)if (EdgeDetect1)
S2_SA_NextState = #GAT2 S2_SA_WAIT2;S2_SA_NextState = # GAT2 S2_SA_WAIT2;
elseelse
if(EdgeDetect2)if (EdgeDetect2)
S2_SA_NextState = #GAT2 S2_SA_WAIT1;S2_SA_NextState = # GAT2 S2_SA_WAIT1;
elseelse
S2_SA_NextState = #GAT2 S2_SA_IDLE;S2_SA_NextState = # GAT2 S2_SA_IDLE;
endend
elseelse
S2_SA_NextState = #GAT2 S2_SA_IDLE;S2_SA_NextState = # GAT2 S2_SA_IDLE;
S2_SA_WAIT2: S2_SA_NextState = #GAT2 S2_SA_WAIT1;S2_SA_WAIT2: S2_SA_NextState = # GAT2 S2_SA_WAIT1;
S2_SA_WAIT1: S2_SA_NextState = #GAT2 S2_SA_IDLE;S2_SA_WAIT1: S2_SA_NextState = # GAT2 S2_SA_IDLE;
default: S2_SA_NextState = #GAT2 S2_SA_IDLE;default: S2_SA_NextState = # GAT2 S2_SA_IDLE;
endcaseendcase
endend
//Re-synchronize PCLK to the BCLK domain// Re-synchronize PCLK to the BCLK domain
dffx5 uReSynPCLK({PclkSyn[0], PclkSyn[1], PclkSyn[2], PclkSyn[3], PclkSyn[4]},{PCLKraw, PclkSyn[0], PclkSyn[1], PclkSyn[2], PclkSyn[3]}, BCLK);dffx5 uReSynPCLK ({PclkSyn [0], PclkSyn [1], PclkSyn [2], PclkSyn [3], PclkSyn [4]}, {PCLKraw, PclkSyn [0], PclkSyn [1], PclkSyn [2], PclkSyn [2] 3]}, BCLK);
도 3은 상술한 프로그램에 의한 신호의 파형을 나타낸 예시도이고, 도 4a 및 도 4b는 상술한 프로그램의 동작을 나타낸 상태도로서 이에 관하여 설명하면 다음과 같다.3 is an exemplary view showing a waveform of a signal by the above-described program, and FIGS. 4A and 4B are state diagrams showing the operation of the above-described program.
먼저, 시작은 S1_SA_IDLE의 상태이며, 이는 레지스터 접근 동작이 수행되고 있지 않은 아이들(Idle) 상태를 나타낸다. 이 상태에서, DSELSLowAPB가 활성화되면, S1_SA_WAIT의 상태로 넘어가고, DSELSLowAPB가 활성화되지 않으면 계속 S1_SA_IDLE의 상태에 있게 된다. 즉, APB 레지스터로의 접근이 요구되면 DSELSLowAPB가 활성화된다.First, the start is a state of S1_SA_IDLE, which represents an idle state in which a register access operation is not being performed. In this state, if the DSELSLowAPB is activated, the state goes to the state of S1_SA_WAIT, and if the DSELSLowAPB is not activated, the state remains in the state of S1_SA_IDLE. That is, if access to the APB register is required, the DSELSLowAPB is activated.
동기화된 페리 클럭 신호를 생성하기 위한 S1_SA_WAIT의 상태에서는, S2_SA__NextState에 따라, S2_SA__NextState가 S2_SA_IDLE의 상태가 아닌 경우에는 계속 S1_SA_WAIT의 상태에 있게 되고, S2_SA__NextState가 S2_SA_IDLE의 상태인 경우에는 S1_SA_STROBE 상태로 넘어가게 된다. 이때, APBError가 활성화된 경우에는 오류가 발생된 경우이므로, 오류를 나타내는 S1_SA_ERROR 상태로 넘어가게 된다. S1_SA_STROBE 상태로 넘어가는 과정에 있어서, 에지를 감지하기 위한 하위 상태가 존재하는데 이에 관하여 도 4b를 참조하여 설명하면 다음과 같다.In the state of S1_SA_WAIT for generating the synchronized ferry clock signal, according to S2_SA__NextState, if S2_SA__NextState is not the state of S2_SA_IDLE, the state continues to the state of S1_SA_WAIT, and if the S2_SA__NextState is the state of S2_SA_IDLE, the state goes to S1_SA_STROBE state. In this case, when APBError is activated, an error has occurred, and therefore, the process moves to S1_SA_ERROR indicating an error. In the process of transitioning to the S1_SA_STROBE state, there is a lower state for detecting an edge. This will be described with reference to FIG. 4B.
먼저, S2_SA_IDLE 상태는 대기 상태로 넘어가기 위한 아이들(Idle) 상태로서, EdgeDetect1 또는 EdgeDetect2가 활성화되지 않는 경우에는 대기 사이클이 필요없으므로, 계속 S2_SA_IDLE 상태에 있게 된다. EdgeDetect1이 활성화된 경우에는 S2_SA_WAIT2 상태로 전환되어 대기 사이클을 삽입하게 된다. 이후에, S2_SA_WAIT2 상태에 있는 경우에는, 언제나 S2_SA_WAIT1 상태를 거쳐 S2_SA_IDLE 상태로 돌아오게 된다. 또한, EdgeDetect2가 활성화된 경우에는 S2_SA_WAIT1 상태로 전환되어 대기 사이클을 삽입하게 된다. 이후에, S2_SA_WAIT1 상태에 있는 경우에는, 언제나 S2_SA_IDLE 상태로 돌아오게 된다.First, the S2_SA_IDLE state is an idle state for transitioning to the standby state. When the EdgeDetect1 or EdgeDetect2 is not activated, no standby cycle is required, and thus the S2_SA_IDLE state is continuously in the S2_SA_IDLE state. If EdgeDetect1 is enabled, the state transitions to S2_SA_WAIT2 state, which inserts a wait cycle. Afterwards, when in the S2_SA_WAIT2 state, the S2_SA_IDLE state is always returned via the S2_SA_WAIT1 state. In addition, when EdgeDetect2 is activated, the state transitions to S2_SA_WAIT1 state and inserts a wait cycle. After that, when in the S2_SA_WAIT1 state, the state always returns to the S2_SA_IDLE state.
오류를 나타내는 S1_SA_ERROR 상태에서는, DSELSLowAPB가 활성화되면, S1_SA_WAIT의 상태로 돌아가고, DSELSLowAPB가 활성화되지 않으면 S1_SA_IDLE의 상태로 전환하게 된다.In the S1_SA_ERROR state indicating an error, when the DSELSLowAPB is activated, the state returns to the state of S1_SA_WAIT. When the DSELSLowAPB is not activated, the state is changed to the state of S1_SA_IDLE.
APB 레지스터로 접근하는 S1_SA_STROBE 상태에서는, DSELSLowAPB가 활성화되면, S1_SA_WAIT의 상태로 돌아가고, DSELSLowAPB가 활성화되지 않으면 S1_SA_IDLE의 상태로 전환하게 된다.In the S1_SA_STROBE state, which accesses the APB register, when the DSELSLowAPB is activated, the state returns to the state of S1_SA_WAIT. If the DSELSLowAPB is not activated, the state is changed to the S1_SA_IDLE state.
이상에서 설명한 본 발명은, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에 있어 본 발명의 기술적 사상을 벗어나지 않는 범위 내에서 여러 가지로 치환, 변형 및 변경이 가능하므로 전술한 실시예 및 첨부된 도면에 한정되는 것이 아니다.The present invention described above is capable of various substitutions, modifications, and changes without departing from the technical spirit of the present invention for those skilled in the art to which the present invention pertains. It is not limited to the drawings shown.
본 발명은 AMBA APB 레지스터 접근 시 내부 동작 클럭인 페리 클럭 신호의 상승/하강 에지에 PSTB 신호가 활성화되지 않도록 대기 사이클을 구동하여 레지스터 접근시 오동작을 방지하는 이점이 있다.The present invention has an advantage of preventing a malfunction when a register is accessed by driving a standby cycle so that the PSTB signal is not activated on the rising / falling edge of the ferry clock signal which is an internal operation clock when the AMBA APB register is accessed.
Claims (3)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020038949A KR20040004875A (en) | 2002-07-05 | 2002-07-05 | Method for accessing register in amba apb bridge |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020020038949A KR20040004875A (en) | 2002-07-05 | 2002-07-05 | Method for accessing register in amba apb bridge |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20040004875A true KR20040004875A (en) | 2004-01-16 |
Family
ID=37315269
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020020038949A KR20040004875A (en) | 2002-07-05 | 2002-07-05 | Method for accessing register in amba apb bridge |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20040004875A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016192217A1 (en) * | 2015-06-04 | 2016-12-08 | 深圳市中兴微电子技术有限公司 | Apb bus bridge |
-
2002
- 2002-07-05 KR KR1020020038949A patent/KR20040004875A/en not_active IP Right Cessation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2016192217A1 (en) * | 2015-06-04 | 2016-12-08 | 深圳市中兴微电子技术有限公司 | Apb bus bridge |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4145146B2 (en) | Data processing system and method having on-chip background debug system | |
US8339869B2 (en) | Semiconductor device and data processor | |
JP4288011B2 (en) | Reset system for multiple component systems | |
JP3663082B2 (en) | Double data rate synchronous DRAM integrated circuit device | |
WO1996038793A2 (en) | Method and apparatus for adapting an asynchronous bus to a synchronous circuit | |
WO2002061754A1 (en) | Semiconductor memory and method for entering its operation mode | |
KR100354932B1 (en) | Methods and data processors for providing show cycles on multiplexing buses | |
JP2000066994A (en) | Lpc/isa bridge and its bridge method | |
US20020146876A1 (en) | Semiconductor integrated circuit | |
WO2003073285A3 (en) | Memory subsystem including an error detection mechanism for address and control signals | |
KR20040004875A (en) | Method for accessing register in amba apb bridge | |
US6550015B1 (en) | Scalable virtual timer architecture for efficiently implementing multiple hardware timers with minimal silicon overhead | |
US20100049888A1 (en) | Method for synchronization of peripherals with a central processing unit in an embedded system | |
CN116126774B (en) | Device and method for multiplexing pins of clock and communication interface | |
JPH10301657A (en) | Peripheral device of computer system | |
US6016551A (en) | Method and apparatus for masking and unmasking a clock signal in an integrated circuit | |
KR100230416B1 (en) | Column selection scheme having 2 bit prefetch circuit in dram | |
JP2979918B2 (en) | Interrupt detection circuit | |
KR100474548B1 (en) | Semiconductor memory device can be automatically initialized at power-up | |
JPH04365110A (en) | Clock stop circuit | |
CN100464317C (en) | Bus access collision detection method and system | |
JP2006164119A (en) | Data processing unit | |
JPS63120320A (en) | Microprocessor and microcontroller | |
JPH032944A (en) | Increasing system for memory capacity | |
JPH05128282A (en) | Microcomputer |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
SUBM | Submission of document of abandonment before or after decision of registration |