KR20040004875A - Method for accessing register in amba apb bridge - Google Patents

Method for accessing register in amba apb bridge Download PDF

Info

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
Application number
KR1020020038949A
Other languages
Korean (ko)
Inventor
김현일
Original Assignee
주식회사 하이닉스반도체
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 주식회사 하이닉스반도체 filed Critical 주식회사 하이닉스반도체
Priority to KR1020020038949A priority Critical patent/KR20040004875A/en
Publication of KR20040004875A publication Critical patent/KR20040004875A/en

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B25HAND TOOLS; PORTABLE POWER-DRIVEN TOOLS; MANIPULATORS
    • B25BTOOLS OR BENCH DEVICES NOT OTHERWISE PROVIDED FOR, FOR FASTENING, CONNECTING, DISENGAGING OR HOLDING
    • B25B19/00Impact wrenches or screwdrivers

Abstract

PURPOSE: A method for accessing to a register in an AMBA(Advanced Microcontroller Bus Architecture) APB(Advance Peripheral Bus) bridge is provided to prevent a wrong operation by sampling an external peri clock signal into an internal bus clock, creating/using a synchronized peri clock signal in the internal bus clock, sensing the both edges of the peri clock signal in advance, operating a waiting signal, thereby applying a peri strobe signal at a stable state. CONSTITUTION: An APB register access for an APB connection is requested(S201). A peri clock signal is sampled by an internal bus clock signal(S202). It is judged whether an edge of the peri clock signal is sensed(S203). If an edge of the peri clock signal is sensed, a waiting cycle is operated for making the peri strobe signal not be activated(S204). If an edge of the peri clock signal is not sensed(or, after operating a waiting cycle), a synchronized peri clock signal is completed and the peri strobe signal is activated by the completed peri clock signal, and an access to the APB register is achieved(S205).

Description

AMBA APB 브리지에 있어서 레지스터 접근 방법{METHOD FOR ACCESSING REGISTER IN AMBA APB BRIDGE}Register approach in the AMAPAAP bridge {METHOD FOR ACCESSING REGISTER IN AMBA APB BRIDGE}

본 발명은 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)

APB 접속을 위한 APB 레지스터 접근이 요구되는 단계;Requiring APB register access for the 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 페리 클럭 신호의 에지가 감지되지 않은 경우, 또는, 대기 사이클을 구동하는 단계 수행 후에, 동기화된 페리 클럭 신호를 완성하고, 완성된 페리 클럭 신호에 의하여 페리 스트로브 신호를 활성화시켜 APB 레지스터에 접근하는 단계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. 를 포함하는 것을 특징으로 하는 AMBA APB 브리지에 있어서 레지스터 접근 방법.Register access method according to the AMAPA AP Bridge, characterized in that it comprises a. 제1항에 있어서,The method of claim 1, 페리 클럭 신호를 내부 버스 클럭 신호에 의해 샘플링하는 단계에서, 상기 페리 클럭 신호는 제1 동기 클럭 신호, 제2 동기 클럭 신호, 제3 동기 클럭 신호, 제4 동기 클럭 신호 및 제5 동기 클럭 신호로 4단 샘플링되는In the step of sampling the ferry clock signal by an internal bus clock signal, the ferry clock signal is divided into a first synchronous clock signal, a second synchronous clock signal, a third synchronous clock signal, a fourth synchronous clock signal and a fifth synchronous clock signal. 4-stage sampled 것을 특징으로 하는 AMBA APB 브리지에 있어서 레지스터 접근 방법.A method of accessing a register in an AMAP AP bridge. 제2항에 있어서,The method of claim 2, 페리 클럭 신호의 에지가 감지되었는지를 판단하는 단계에서, 상기 제3 동기 클럭 신호와 상기 제4 동기 클럭 신호의 값이 다르거나, 상기 제4 동기 클럭 신호와 상기 제5 동기 클럭 신호가 다른 경우를 에지로 판단하는In the determining whether an edge of the ferry clock signal is detected, when the value of the third synchronous clock signal and the fourth synchronous clock signal are different or the fourth synchronous clock signal and the fifth synchronous clock signal are different from each other. Judged by edge 것을 특징으로 하는 AMBA APB 브리지에 있어서 레지스터 접근 방법.A method of accessing a register in an AMAP AP bridge.
KR1020020038949A 2002-07-05 2002-07-05 Method for accessing register in amba apb bridge KR20040004875A (en)

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)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016192217A1 (en) * 2015-06-04 2016-12-08 深圳市中兴微电子技术有限公司 Apb bus bridge

Cited By (1)

* Cited by examiner, † Cited by third party
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