KR101227411B1 - Method and apparatus for crc encoding interface of apb in modulator - Google Patents

Method and apparatus for crc encoding interface of apb in modulator Download PDF

Info

Publication number
KR101227411B1
KR101227411B1 KR1020060010558A KR20060010558A KR101227411B1 KR 101227411 B1 KR101227411 B1 KR 101227411B1 KR 1020060010558 A KR1020060010558 A KR 1020060010558A KR 20060010558 A KR20060010558 A KR 20060010558A KR 101227411 B1 KR101227411 B1 KR 101227411B1
Authority
KR
South Korea
Prior art keywords
linear feedback
feedback shift
shift register
bits
crc
Prior art date
Application number
KR1020060010558A
Other languages
Korean (ko)
Other versions
KR20070079708A (en
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 KR1020060010558A priority Critical patent/KR101227411B1/en
Publication of KR20070079708A publication Critical patent/KR20070079708A/en
Application granted granted Critical
Publication of KR101227411B1 publication Critical patent/KR101227411B1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/22Arrangements for detecting or preventing errors in the information received using redundant apparatus to increase reliability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • H04L1/0042Encoding specially adapted to other signal generation operation, e.g. in order to reduce transmit distortions, jitter, or to improve signal shape

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

본 발명에 따른 중앙처리장치로부터 주변장치 버스를 통해 병렬 쓰기 데이터가 입력되는 변조기에서 순환 중복 검사 인코딩을 수행하는 방법은, 상기 병렬 쓰기 데이터를 구성하는 비트 수에 상응하는 개수의 선형 피드백 쉬프트 레지스터들을 소정 개수로 그룹핑하고, 상기 병렬 쓰기 데이터를 구성하는 비트들을 상기 그룹핑에 의한 선형 피드백 쉬프트 레지스터 그룹 단위로 기록하는 과정과, 상기 선형 피드백 쉬프트 레지스터 그룹 단위로 기록된 비트들을 순환 중복 검사 생성을 위한 레지스터로 제공하는 저장하는 과정과, 상기 선형 피드백 쉬프트 레지스터 그룹들 모두로부터 비트들이 상기 순환 중복 검사 생성을 위한 레지스터로 제공되어 저장될 시, 상기 순환 중복 검사 생성을 위한 레지스터에 저장된 비트들에 CRC를 추가하여 출력하는 과정을 포함하며, 상기 기록하는 과정은, 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 모든 선형 피드백 레지스터들에 비트 값이 기록된 후 주변 장치 클럭이 상승 에지될 시, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들 각각에 기록된 비트 값들이 상기 임의의 선형 피드백 쉬프트 레지스터 그룹 내의 다음 선형 피드백 쉬프트 레지스터로 이동하는 과정과, 상기 주변장치 버스를 통해 새로운 병렬 쓰기 데이터가 입력되면, 상기 이동하는 과정으로 인해 비어지는 첫 번째 선형 피드백 쉬프트 레지스터 그룹 내의 선형 피드백 쉬프트 레지스터에서부터 상기 새로운 병렬 쓰기 데이터를 구성하는 비트들을 순차적으로 기록하는 과정을 포함한다.The method for performing cyclic redundancy check encoding in a modulator in which parallel write data is input from a central processing unit through a peripheral bus according to the present invention includes a linear feedback shift register having a number corresponding to the number of bits constituting the parallel write data. Grouping a predetermined number and writing the bits constituting the parallel write data in a linear feedback shift register group unit by the grouping, and registers for generating a cyclic redundancy check of the bits written in the linear feedback shift register group unit And a CRC to the bits stored in the register for generating the cyclic redundancy check when the bits from all of the linear feedback shift register groups are provided and stored in the register for generating the cyclic redundancy check. And to output Wherein the writing process includes writing the arbitrary linear feedback shift register group when the peripheral clock is rising edge after a bit value is written to all the linear feedback registers constituting the arbitrary linear feedback shift register group. Moving bit values written in each of the linear feedback shift registers to the next linear feedback shift register in the arbitrary linear feedback shift register group, and when new parallel write data is input through the peripheral bus, And sequentially writing bits constituting the new parallel write data from the linear feedback shift register in the first linear feedback shift register group, which is emptied by the process.

ARM, APB, Pipeline, CRC Incoder ARM, APB, Pipeline, CRC Incoder

Description

변조기에서 버스인터페이스 상의 효율적인 순환중복검사 인코딩을 수행하는 방법 및 장치{METHOD AND APPARATUS FOR CRC ENCODING INTERFACE OF APB IN MODULATOR}METHOD AND APPARATUS FOR CRC ENCODING INTERFACE OF APB IN MODULATOR}

도 1은 일반적인 ARM 버스 구조를 도시한 도면. 1 illustrates a typical ARM bus structure.

도 2는 종래기술에 따른 CRC인코더 구조를 도시한 도면. 2 is a view showing a CRC encoder structure according to the prior art.

도 3은 본 발명의 바람직한 실시예에 따른 CRC인코더 구조를 도시한 도면. 3 is a diagram illustrating a CRC encoder structure according to a preferred embodiment of the present invention.

도 4는 본 발명의 바람직한 실시예에 따른 각 파이프라인 단계마다 PWDATA의 진행과정을 도시한 도면. 4 is a diagram illustrating the progress of PWDATA for each pipeline stage according to a preferred embodiment of the present invention.

도 5는 본 발명의 바람직한 실시예에 따른 CRC생성 절차를 도시한 흐름도.5 is a flowchart illustrating a CRC generation procedure according to a preferred embodiment of the present invention.

본 발명은 이동통신 시스템에서 사용자 단말기내의 모뎀에 관한 것으로서, 특히 상기 모뎀상의 변조기(modulator) 내부에 존재하는 순환중복검사(Cyclic Redundancy Code, 이하 “CRC”라 칭함) 인코더(Encoder)가 진보된 주변장치 버스(Advanced Peripheral Bus, 이하 APB라 칭함)상에서 효율적으로 동작하는 방법 및 장치에 관한 것이다.BACKGROUND OF THE INVENTION 1. Field of the Invention The present invention relates to a modem in a user terminal in a mobile communication system. In particular, a cyclic redundancy code (hereinafter referred to as a “CRC”) encoder existing inside a modulator on the modem is an advanced peripheral. A method and apparatus for efficiently operating on an Advanced Peripheral Bus (hereinafter referred to as APB).

오늘날 이동통신 시스템에서는 여러 사용자 단말기들로부터 송수신된 데이터를 처리하여 사용자들에게 전달된다. 여기서 상기 사용자단말기들은 사용자들로부터 전달받은 데이터를 전송하기 위하여, 상기 데이터를 CPU와 버스 시스템을 거쳐 모뎀상의 CRC인코더에 전달하여, 상기 CRC생성기 또는 인코더에서 CRC 인코딩을 수행한 후, 기지국으로 전송하게 된다. In today's mobile communication systems, data transmitted and received from various user terminals are processed and delivered to users. Here, the user terminals transmit the data to the CRC encoder on the modem via the CPU and the bus system to transmit the data received from the users, perform CRC encoding at the CRC generator or encoder, and then transmit the data to the base station. do.

이때, 상기 모뎀에서 사용되는 가장 대표적인 버스 시스템은 ARM(Advanced RISC Machine)사의 암바(AMBA : Advanced Microcontroller Bus Architecture) 버스이다. AMBA 버스는 시스템 버스인 AHB(Advanced High-Performance Bus)와 주변 장치를 연결하는 APB로 구성되어 있다. 상기 AHB의 특징으로는 파이프 라인 동작(Pipelined Operation), 멀티플 버스 마스터(Multiple Bus Master), 버스트 트랜스퍼(Burst Transfer), 스플릿 트랜잭션(Split Transaction) 등이 있다. 여기서 다른 기능들에 대한 설명은 생략하도록 하고, 본 발명과 관련된 파이프라인에 대해 설명하도록 한다. At this time, the most representative bus system used in the modem is an Advanced Microcontroller Bus Architecture (AMBA) bus of ARM (Advanced RISC Machine). The AMBA bus consists of an Advanced High-Performance Bus (AHB), a system bus, and an APB that connects peripherals. The AHB has a pipelined operation, a multiple bus master, a burst transfer, a split transaction, and the like. Here, the description of other functions will be omitted, and the pipeline related to the present invention will be described.

상기 파이프라인 동작이란, 가능한한 데이터 처리 지연을 감소시키는 것으로, 즉 입력되는 데이터를 파이프라인마다 동시에 처리하여, 처리 능력을 향상시키기 위한 것이다. 이때 상기 파이프라인들은 메모리로부터 명령어를 읽어와 명령 파이프라인에 두고, 명령어를 해독하여 데이터 패스 제어를 통해 다음 명령어를 준비한다. 이후 메모리에서 읽은 데이터를 레지스터에 저장하게 된다. The pipeline operation is to reduce the data processing delay as much as possible, i.e., to process the input data simultaneously for each pipeline, thereby improving processing capacity. At this time, the pipelines read instructions from memory, put them in the instruction pipeline, decode the instructions, and prepare the next instruction through data path control. After that, the data read from memory is saved in register.

도 1은 일반적인 ARM 버스 구조를 도시한 도면이다.1 is a diagram illustrating a general ARM bus structure.

상기 도 1을 참조하면, CPU(110)로부터 전달된 데이터는 시스템 버스인 AHB 를 통하여 브릿지(Bridge)(120)에 도착하고, 상기 브릿지(120)에 연결된 주변장치 버스인 APB를 통하여 모뎀(140)으로 전달된다. 상기 모뎀(140)으로 전달된 데이터는, 변조기(TX 혹은 Modulator)(130)상의 CRC인코더에서 인코딩되어 다른 사용자 단말기로 전송된다. Referring to FIG. 1, data transmitted from the CPU 110 arrives at a bridge 120 through an AHB, which is a system bus, and is connected to a modem 140 through an APB, which is a peripheral bus connected to the bridge 120. Is passed). The data transmitted to the modem 140 is encoded in a CRC encoder on a modulator (TX or Modulator) 130 and transmitted to another user terminal.

여기서 기존 CRC 인코더를 구현하는 방법은, 직렬(Serial) CRC 인코더 방식과 병렬(Parallel) CRC 인코더 방식의 크게 두가지로 구분되는데, 동기식 모뎀(예를 들어, EV-DO(Evolution Data Only) 모뎀)칩 상에서는 병렬 CRC 인코더를 채택하고 있다. 상기 병렬 CRC 인코더방식은 직렬 방식에 비해 스피드가 빠르다는 장점이 있지만, 하드웨어 사이즈가 커지게 된다.Here, there are two methods of implementing a conventional CRC encoder, which are classified into a serial CRC encoder method and a parallel CRC encoder method. A synchronous modem (for example, an EV-DO (Evolution Data Only) modem) chip The parallel CRC encoder is adopted. The parallel CRC encoder method has an advantage that the speed is faster than the serial method, but the hardware size is increased.

상기된 바와 같이 동작하는 종래 기술에 의한 CRC 인코딩 동작절차에 있어서는, 메모리에 페이로드 데이터(PAYLOAD DATA)를 모두 받아 놓고 CRC를 붙이는 방법 한가지와 여기에 쓰이는 메모리 사이즈를 줄이기 위한 노력으로 MCU(Micro controller unit)상에서 전송할 데이터를 모뎀 변조기로 내려 줄 때 별도의 메모리를 사용하지 않고 APB 버스 상의 데이터를 CRC 인코더가 곧바로 처리하도록 설계된 방식 두가지가 사용되었다. In the CRC encoding operation procedure according to the prior art operating as described above, a microcontroller (Microcontroller) in one way to receive all the payload data in the memory and paste the CRC and to reduce the memory size used therein When the data to be transmitted on the unit is transferred to the modem modulator, two methods are used in which the CRC encoder is designed to process data directly on the APB bus without using a separate memory.

여기서 첫 번째 CRC인코딩 방법에 대해 살펴보기로 한다.Let's take a look at the first CRC encoding method.

도 2는 종래기술에 따른 CRC인코더 구조를 도시한 도면이다. 2 is a view showing a CRC encoder structure according to the prior art.

APB(210)로부터 전달된 32비트의 병렬쓰기데이터(Parallel Write DATA, 이하 PWDATA[31:0]라 칭함)를 1단계(220)에서 메모리 즉, LFSR_0(221), LFSR_1(222), LFSR_2(223)부터 LFSR_31(229)까지의 레지스터에 저장한 후, 상기 레지스터들로부터 전달된 값을 CRC처리기(Pre CRC value selection logic, 이하 PRC라 칭함)(250)에서 CRC를 붙이는 동작을 수행하여 CRC 데이터를 출력한다 .32-bit parallel write data (hereinafter referred to as PWDATA [31: 0]) transmitted from the APB 210 is stored in the first step 220, that is, memory, that is, LFSR_0 (221), LFSR_1 (222), and LFSR_2 ( 223) to LFSR_31 (229), and then, CRC data is performed by attaching the CRC to the CRC processor (Pre CRC value selection logic, hereinafter referred to as PRC) 250 from the values transferred from the registers. Outputs.

상기 메모리 이용 시 버스사이클을 CRC 붙이는 동안 놓아도 된다는 장점이 있지만 하드웨어가 커지는 문제가 있었고, 두번째 방법에 있어서는 메모리를 사용하지 않기 때문에 하드웨어 관점에서는 사이즈가 줄어든다는 장점이 있지만, 병렬 CRC 인코더 구조상 6 write & wait cycle(1비트동안 대기하고 5비트동안 쓰기동작을 수행하는 싸이클)동안 PWDATA 값을 유지시켜야 하는 부담이 발생된다. 즉 버스 점유율이 높아지는 것이며, 다른 블럭에서는 이 시간동안 버스를 점유할 수 없어 상기 동작이 완료될 때 까지 기다려야 하기 때문에 전체적인 칩의 성능이 떨어진다는 문제점이 대두되었다. Although there is an advantage that the memory can be released while CRC is attached to the memory when using the memory, there is a problem in that the hardware becomes large, and in the second method, the size is reduced in terms of hardware because the memory is not used, but in the parallel CRC encoder structure, 6 write & There is a burden to maintain the PWDATA value during the wait cycle (a cycle of waiting for 1 bit and performing a write operation for 5 bits). In other words, the bus occupancy is increased, and the other chip cannot occupy the bus during this time, and thus the overall chip performance is deteriorated because it has to wait until the operation is completed.

따라서 상기한 바와 같이 동작되는 종래 기술의 문제점을 해결하기 위하여 창안된 본 발명은, 기존 파이프라인 구조의 CRC 인코더를 이용하여, 하드웨어적인 사이즈 증가를 최소화 시키면서 APB 버스 점유율은 최소화 시키는 방법 및 장치를 제공한다. Accordingly, the present invention, which was devised to solve the problems of the prior art operating as described above, provides a method and apparatus for minimizing the APB bus occupancy while minimizing the hardware size increase by using the CRC encoder of the existing pipeline structure. do.

본 발명은, 모뎀과 APB가 서로 다른 클럭을 이용하면서 발생되는 쓰기와 대기 싸이클(write & wait cycle)을 가장 효율적으로 갖도록 하는 방법 및 장치를 제공한다.The present invention provides a method and apparatus that allows a modem and an APB to most efficiently have a write & wait cycle that occurs while using different clocks.

본 발명에 따른 변조기에서 버스인터페이스 상의 순환중복검사(CRC) 인코딩을 수행하는 방법은, 주변장치버스로부터 수신된 제1 병렬쓰기데이터(PWDATA)를 하나의 주변장치클럭(PCLK) 동안 비트 별로 나뉘어진 선형 피드백 쉬프트 레지스터(LFSR)들에 차례대로 입력하고, 상기 LFSR들에 입력된 값들을 CRC 레지스터에 저장하는 과정과, 상기 PCLK이 상승(Rising)되었다면, 일정한 개수의 LFSR마다 삽입된 파이프라인 레지스터들에 바로 전단의 LFSR에 입력된 값을 저장하고, 제2 PWDATA의 첫번째 비트를 첫번째 LFSR에 입력하며, 상기 각 파이프라인 레지스터 이후의 LFSR에 상기 각 파이프라인 레지스터에 저장된 LFSR 값 다음의 비트를 입력하는 과정과, 상기 제1 PWDATA에 대한 입력이 끝났다면, 상기 CRC 레지스터에 저장된 값들에 CRC를 추가하여 CRC 인코딩을 수행하는 과정을 포함한다.A method for performing cyclic redundancy check (CRC) encoding on a bus interface in a modulator according to the present invention comprises: dividing first parallel write data (PWDATA) received from a peripheral bus into bits during one peripheral clock (PCLK). Sequentially entering linear feedback shift registers (LFSRs), storing the values input to the LFSRs in a CRC register, and pipeline registers inserted for a certain number of LFSRs if the PCLK is raised. Stores the value input in the LFSR immediately preceding, inputs the first bit of the second PWDATA into the first LFSR, and inputs the next bit after the LFSR value stored in each pipeline register into the LFSR after each pipeline register. And if the input to the first PWDATA is completed, performing CRC encoding by adding a CRC to values stored in the CRC register. It should.

또한 본 발명에 따른 변조기에서 버스인터페이스 상의 순환중복검사(CRC) 인코딩을 수행하는 장치는, 주번장치버스로부터 수신된 제1 병렬쓰기데이터(PWDATA)를 하나의 주변장치클럭(PCLK) 동안 비트 별로 나뉘어진 영역 별로 차례대로 입력받는 선형 피드백 쉬프트 레지스터(LFSR)들과, 상기 LFSR들에 입력된 값들을 저장하는 CRC 레지스터와, 상기 PCLK이 상승(Rising)되었다면, 바로 전단의 LFSR에 입력된 값을 저장하는 일정한 개수의 LFSR마다 삽입된 파이프라인 레지스터들과, 상기 제1 PWDATA에 대한 입력이 끝났다면, 상기 CRC 레지스터에 저장된 값들에 CRC를 추가하여 CRC 인코딩을 수행하는 CRC 처리기를 포함하며, 여기서, 상기 PCLK의 클럭값이 상승(Rising)되었다면, 제2 PWDATA의 첫번째 비트는 첫번째 LFSR에 입력되며, 상기 각 파이프라인 레지스터 이후의 LFSR에 상기 각 파이프라인 레지스터에 저장된 LFSR 값 다음의 비트가 입력됨을 특징으로 한다.
또한 본 발명에 따른 중앙처리장치로부터 주변장치 버스를 통해 병렬 쓰기 데이터가 입력되는 변조기에서 순환 중복 검사 인코딩을 수행하는 방법은, 상기 병렬 쓰기 데이터를 구성하는 비트 수에 상응하는 개수의 선형 피드백 쉬프트 레지스터들을 소정 개수로 그룹핑하고, 상기 병렬 쓰기 데이터를 구성하는 비트들을 상기 그룹핑에 의한 선형 피드백 쉬프트 레지스터 그룹 단위로 기록하는 과정과, 상기 선형 피드백 쉬프트 레지스터 그룹 단위로 기록된 비트들을 순환 중복 검사 생성을 위한 레지스터로 제공하는 저장하는 과정과, 상기 선형 피드백 쉬프트 레지스터 그룹들 모두로부터 비트들이 상기 순환 중복 검사 생성을 위한 레지스터로 제공되어 저장될 시, 상기 순환 중복 검사 생성을 위한 레지스터에 저장된 비트들에 CRC를 추가하여 출력하는 과정을 포함하며, 상기 기록하는 과정은, 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 모든 선형 피드백 레지스터들에 비트 값이 기록된 후 주변 장치 클럭이 상승 에지될 시, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들 각각에 기록된 비트 값들이 상기 임의의 선형 피드백 쉬프트 레지스터 그룹 내의 다음 선형 피드백 쉬프트 레지스터로 이동하는 과정과, 상기 주변장치 버스를 통해 새로운 병렬 쓰기 데이터가 입력되면, 상기 이동하는 과정으로 인해 비어지는 첫 번째 선형 피드백 쉬프트 레지스터 그룹 내의 선형 피드백 쉬프트 레지스터에서부터 상기 새로운 병렬 쓰기 데이터를 구성하는 비트들을 순차적으로 기록하는 과정을 포함한다.
또한 본 발명에 따른 중앙처리장치로부터 주변장치 버스를 통해 입력되는 병렬 쓰기 데이터에 대한 순환 중복 검사 인코딩을 수행하는 변조기는, 상기 병렬 쓰기 데이터를 구성하는 비트들을 기록하는 복수의 선형 피드백 쉬프트 레지스터들과, 상기 선형 피드백 쉬프트 레지스터들에 기록된 비트들을 제공받아 저장하는 순환 중복 검사 생성을 위한 레지스터와, 상기 선형 피드백 쉬프트 레지스터 그룹들 모두로부터 비트들이 상기 순환 중복 검사 생성을 위한 레지스터로 제공되어 저장될 시, 상기 순환 중복 검사 생성을 위한 레지스터에 저장된 비트들에 CRC를 추가하여 출력하는 CRC 처리기를 포함하며, 상기 복수의 선형 피드백 쉬프트 레지스터들은 소정 개수로 그룹핑되고, 상기 그룹핑에 의한 선형 피드백 쉬프트 레지스터 그룹 단위로 상기 병렬 쓰기 데이터를 구성하는 비트들이 기록되며, 상기 복수의 선형 피드백 쉬프트 레지스터들에 기록된 비트들은 상기 선형 피드백 쉬프트 레지스터 그룹 단위로 순환 중복 검사 생성을 위한 레지스터에 제공되고, 상기 복수의 선형 피드백 쉬프트 레지스터들은, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 모든 선형 피드백 레지스터들에 비트 값이 기록된 후 주변 장치 클럭이 상승 에지될 시, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들 각각에 기록된 비트 값들이 상기 임의의 선형 피드백 쉬프트 레지스터 그룹 내에서 다음 선형 피드백 쉬프트 레지스터로 이동시키고, 상기 주변장치 버스를 통해 새로운 병렬 쓰기 데이터가 입력되면, 상기 비트 값의 이동으로 인해 비어진 첫 번째 선형 피드백 쉬프트 레지스터 그룹 내의 선형 피드백 쉬프트 레지스터에서부터 상기 새로운 병렬 쓰기 데이터를 구성하는 비트들을 순차적으로 기록됨을 특징으로 한다.
In addition, the apparatus for performing a cyclic redundancy check (CRC) encoding on the bus interface in the modulator according to the present invention, by dividing the first parallel write data (PWDATA) received from the main device bus by bit during one peripheral clock (PCLK) Linear feedback shift registers (LFSRs) that are sequentially input for each region, a CRC register for storing the values input to the LFSRs, and a value input to the LFSR immediately before the PCLK is raised. Pipeline registers inserted for every predetermined number of LFSRs, and a CRC processor for performing CRC encoding by adding a CRC to values stored in the CRC register when the input to the first PWDATA is completed. If the clock value of the PCLK is raised, the first bit of the second PWDATA is input to the first LFSR and the LFSR after each pipeline register. The LFSR in that the value of the next bit is stored in the pipeline register input feature.
In addition, a method for performing cyclic redundancy check encoding in a modulator in which parallel write data is input from a CPU through a peripheral bus according to the present invention includes a linear feedback shift register having a number corresponding to the number of bits constituting the parallel write data. Grouping a predetermined number of bits, writing the bits constituting the parallel write data in a linear feedback shift register group unit by the grouping, and generating the cyclic redundancy check of the bits written in the linear feedback shift register group unit. A CRC in bits stored in the register for generating the cyclic redundancy check when the bits are stored in the register and the bits from all of the linear feedback shift register groups are provided and stored in the register for generating the cyclic redundancy check. Add output And the writing process includes the arbitrary linear feedback shift register group when the peripheral clock is rising edge after a bit value is written to all the linear feedback registers constituting the arbitrary linear feedback shift register group. Moving the bit values recorded in each of the linear feedback shift registers constituting the linear feedback shift register into the next linear feedback shift register in the arbitrary linear feedback shift register group, and when new parallel write data is input through the peripheral bus, And sequentially writing the bits constituting the new parallel write data from the linear feedback shift register in the first linear feedback shift register group, which is empty due to the moving process.
In addition, a modulator for performing cyclic redundancy check encoding on parallel write data input from a central processing unit through a peripheral bus according to the present invention includes: a plurality of linear feedback shift registers for recording bits constituting the parallel write data; A register for generating a cyclic redundancy check for receiving and storing the bits recorded in the linear feedback shift registers, and when bits from all of the linear feedback shift register groups are provided and stored in the register for generating the cyclic redundancy check. And a CRC processor configured to add a CRC to bits stored in the register for generating a cyclic redundancy check, wherein the plurality of linear feedback shift registers are grouped into a predetermined number and are grouped by the linear feedback shift register group by the grouping. As above parallel Bits constituting the existing data are written, and the bits written in the plurality of linear feedback shift registers are provided to a register for generating a cyclic redundancy check in units of the linear feedback shift register group, and the plurality of linear feedback shift registers And each of the linear feedback shift registers constituting the arbitrary linear feedback shift register group when the peripheral clock is rising edge after a bit value is written to all the linear feedback registers constituting the arbitrary linear feedback shift register group. The bit values written in R are shifted to the next linear feedback shift register within the arbitrary linear feedback shift register group, and when new parallel write data is input through the peripheral bus, the first empty value due to the shift of the bit value Linear blood From the linear feedback shift register in the shift register back group characterized by the recorded bits constituting the parallel writing new data one by one.

이하 첨부된 도면을 참조하여 본 발명의 동작 원리를 상세히 설명한다. 하기에서 본 발명을 설명함에 있어서 공지 기능 또는 구성에 대한 구체적인 설명이 본 발명의 요지를 불필요하게 흐를 수 있다고 판단되는 경우에는 그 상세한 설명을 생략할 것이다. 그리고 후술되는 용어들은 본 발명에서의 기능을 고려하여 정의된 용어들로서 이는 사용자, 운용자의 의도 또는 관례 등에 따라 달라질 수 있다. 그러므로 그 정의는 본 명세서 전반에 걸친 내용을 토대로 내려져야 할 것이다. Hereinafter, the operation principle of the present invention will be described in detail with reference to the accompanying drawings. In the following description of the present invention, if it is determined that a detailed description of a known function or configuration may unnecessarily flow the gist of the present invention, the detailed description thereof will be omitted. The following terms are defined in consideration of the functions of the present invention, and may be changed according to the intentions or customs of the user, the operator, and the like. Therefore, the definition should be based on the contents throughout this specification.

본 발명은 CRC 인코더에서 파이프라인 구조로 진행하여 단계별 최소한의 파이프라인 레지스터를 추가하여 APB와 최적의 인터페이스를 갖는 파이프라인 CRC 인코더를 구현하기 위한 방법 및 장치를 제안한다. The present invention proposes a method and apparatus for implementing a pipelined CRC encoder having an optimal interface with an APB by proceeding from the CRC encoder to the pipeline structure and adding a minimum pipeline register in each step.

도 3은 본 발명의 바람직한 실시예에 따른 CRC인코더 구조를 도시한 도면이다. 3 is a diagram illustrating a CRC encoder structure according to a preferred embodiment of the present invention.

APB(310)로부터 전달된 32비트의 병렬쓰기데이터(Parallel Write DATA, 이하 PWDATA[31:0]라 칭함)를 1단계(332)에서 메모리 즉, 병렬 CRC 연산을 위한 선형 피드백 쉬프트 레지스터(LFSR)에 입력되는 PWDATA[31:0]에 대하여 동시에 동작을 시 작하는 것이 이상적이지만, 각각의 LFSR_n은 LFSR_(n-1)이나 LFSR_(n+1)과 비교해 볼때 1-tab right/left 쉬프트된 데이터를 가지고 있다. 하나의 주변장치 클럭 싸이클(Peripheral Clock Cycle, 이하 PCLK라 칭함)동안 24-tab LFSR 31개가 모두 준비(READY)될 수 없기 때문에 1단계(Stage-1)에서 5단계(Stage-5)까지 나누어 파이프라인을 동시에 수행하도록 한다. 즉, 각 단계별로 매 PCLK(330)마다 입력되는 PWDATA 비트들로 CRC 동작이 수행된다.The 32-bit parallel write data (hereinafter referred to as PWDATA [31: 0]) transmitted from the APB 310 is stored in a first stage 332 memory, that is, a linear feedback shift register (LFSR) for parallel CRC operation. Ideally, it is ideal to start the operation simultaneously for PWDATA [31: 0] input to each, but each LFSR_n is 1-tab right / left shifted data compared to LFSR_ (n-1) or LFSR_ (n + 1). Have Because all 31 24-tab LFSRs cannot be prepared during one Peripheral Clock Cycle (PCLK), pipes can be split from stage 1 to stage 5 through stage 5 Try to run the line at the same time. That is, the CRC operation is performed with PWDATA bits input for every PCLK 330 in each step.

상기 각 단계별로 한 PCLK(330)동안 안정적으로 동작 가능한 24-tab LFSR을 5개씩 두었으며, PCLK(330)마다 중간 중간 삽입되어 있는 파이프라인 레지스터(Pipeline register)에 마지막 값을 임시 저장하고 다음 단계로 넘어갈 준비를 하게 된다. 이후 다음 단계에서 마지막 값을 확인하여 다음 데이터 비트부터 레지스터에 입력하게 된다. In each step, five 24-tab LFSRs that can be stably operated during one PCLK 330 were placed, and the last value was temporarily stored in a pipeline register inserted in the middle of each PCLK 330. Ready to move on. In the next step, the last value is checked and the next data bit is entered into the register.

CRC를 생성하기 위한 세부동작을 구체적으로 설명하면, 1단계(320) 의 파이프라인에 속해 있는 LFSR 영역에서는 LFSR_0(321), LFSR_1(322)부터 LFSR_4까지 5개의 LFSR에 데이터를 순차적으로 입력하고, 각 LFSR마다 저장된 데이터 값은 32비트 레지스터(340)로 전달한다. 이때, 1단계 마지막 값인 LFSR_4의 데이터 값 및 상태정보를 1단계 파이프라인 레지스터(332)에 저장하고, 상기 1단계 파이프라인 레지스터(332)에 저장된 마지막 값(LFSR_4)을 확인하여 다음 데이터 비트부터 LFSR_5에 입력한다. 2단계의 파이프라인 레지스터(334)에 속해있는 LFSR 영역에서는 LFSR_5 부터 LFSR_9까지 5개의 LFSR에 데이터를 순차적으로 입력한 후, 각 LFSR마다 저장된 데이터 값을 상기 32비트 레지스터(340)로 전달한다. 이와 같이 APB버스로 하나의 PWDATA가 입력되면, 단계별 파이프라인마다 동시에 데이터 읽기를 수행하여 진행하게 된다. 이후 PCLK(330)의 클럭 상승시에 각 단계별 파이프라인에 저장된 값을 32비트 레지스터(340)에 전달하고, 또한 새로운 PWDATA[31,0]는 LFSR 영역에 입력되는 절차를 수행한다. The detailed operation for generating the CRC will be described in detail. In the LFSR region belonging to the pipeline of step 1 320, data is sequentially input to five LFSRs, LFSR_0 321 and LFSR_1 322 to LFSR_4. The data value stored for each LFSR is transferred to the 32-bit register 340. At this time, the data value and status information of the last value of the first stage LFSR_4 is stored in the first stage pipeline register 332, and the last value (LFSR_4) stored in the first stage pipeline register 332 is checked, and then the LFSR_5 is started from the next data bit. Type in In the LFSR area belonging to the pipeline register 334 in the second stage, data is sequentially input to five LFSRs from LFSR_5 to LFSR_9, and the data values stored for each LFSR are transferred to the 32-bit register 340. When a single PWDATA is input to the APB bus as described above, data is read out at the same time for each pipeline. Thereafter, when the clock of the PCLK 330 rises, the value stored in each stage pipeline is transferred to the 32-bit register 340, and a new PWDATA [31,0] performs a procedure of inputting the LFSR region.

이와 같이 PWDATA 입력 절차를 수행하여, 각 단계별로 매 PCLK(330)마다 다른 PWDATA가 입력되며, 각 LFSR마다 전달된 값들은 32비트 레지스터(340)에 저장되어 CRC처리기(PRC selection logic)(350)에서는 CRC를 전달된 데이터 값에 붙이는 동작을 수행하여 CRC 데이터를 출력한다. As described above, a PWDATA input procedure is performed, and different PWDATA are inputted to each PCLK 330 at each step, and values transmitted for each LFSR are stored in the 32-bit register 340 to be a CRC processor 350. In the CRC, the CRC data is output by attaching the CRC to the transmitted data value.

이와 같이 종래기술에서는 6 PCLK 사이클 동안 APB에서 동일한 PWDATA[31:0]값을 입력시켜주어야 했지만, 본 발명에서는 적어도 하나 이상의 PWDATA[31:0]값을 입력할 수 있다.As described above, in the prior art, the same PWDATA [31: 0] value should be input in the APB for 6 PCLK cycles, but in the present invention, at least one PWDATA [31: 0] value may be input.

도 4는 본 발명의 바람직한 실시예에 따른 각 파이프라인 단계마다 PWDATA의 진행과정을 도시한 도면이다. 4 is a diagram illustrating the progress of PWDATA for each pipeline stage according to a preferred embodiment of the present invention.

상기 도 4를 참조하면, 매 PCLK 마다 입력되는 PWDATA[31:0] 각각이 단계마다 어떻게 진행되는지를 나타내고 있는 것으로서, 시간이 지날수록 파이프라인에 입력된 PWDATA 비트들이 줄어든다. 이후 줄어든 부분에 PCLK주기로 다른 PWDATA를 입력하게 된다. Referring to FIG. 4, it shows how each of the PWDATA [31: 0] inputs every PCLK progresses from step to step. As time passes, the PWDATA bits input to the pipeline are reduced. After that, other PWDATA will be input in PCLK cycle in the reduced part.

몇 개의 PWDATA[31:0]가 입력될지는 전송할 데이터 전송율(Data rate)에 따라 달라지며, 최소 4개에서부터 EV-DO 모뎀에서 전송할 데이터의 최대개수인 384개까지 전송할 수 있다. The number of PWDATA [31: 0] inputs depends on the data rate to be transmitted, and can transmit up to 384, which is the maximum number of data to be transmitted in the EV-DO modem.

도 5는 본 발명의 바람직한 실시예에 따른 CRC생성 절차를 도시한 흐름도이다.5 is a flowchart illustrating a CRC generation procedure according to a preferred embodiment of the present invention.

상기 도 5를 참조하면, 505단계에서 CPU로부터 데이터가 준비되어, 510단계에서 상기 CPU에서 APB버스 상으로 데이터를 전송한다. 이후 515단계에서 제 1LFSR부터 PWDATA[31:0]를 차례대로 입력하여, 520단계에서 제 1단계에서 제 1LFSR부터 제 5LFSR까지 차례대로 값을 전달한다. 또한 제 2단계에서 제 6LFSR부터 제 10LFSR까지 차례대로 값을 전달한다. 이와 같이 5단계의 파이프라인으로 구현 된 경우, 각 단계별 LFSR영역에 데이터를 입력한다. Referring to FIG. 5, in step 505, data is prepared from a CPU, and in step 510, data is transmitted from the CPU to an APB bus. Thereafter, in step 515, PWDATA [31: 0] is input in order from step 1515, and in step 520, values are sequentially transmitted from 1LFSR to 5LFSR in step 1 in step 520. In the second step, values are sequentially transmitted from the 6LFSR to the 10LFSR. In this case, if the pipeline is implemented in five stages, data is input to each stage's LFSR area.

525단계에서 PCLK의 클럭값이 상승(Rising)되었다면, 530단계로 진행하여 각 단계의 파이프라인 레지스터는 바로 전단의 LFSR값을 저장하고, 535단계에서는 새로운 PWDATA[31:0]가 제 1LFSR에 입력된다. 이후 540단계 모든 PWDATA[31:0]에 대한 입력이 끝났다면 CRC를 인코딩하고 종료하며, 아직 끝나지 않았다면, 상기 520단계로 복귀하여 이어서 LFSR에 차례대로 입력한다. If the clock value of the PCLK is increased in step 525, the flow proceeds to step 530 where the pipeline register of each step immediately stores the LFSR value of the previous stage, and in step 535, a new PWDATA [31: 0] is input to the first LFSR. do. Thereafter, in step 540, if all PWDATA [31: 0] inputs are completed, the CRC is encoded and terminated. If not, the process returns to step 520 and sequentially enters the LFSR.

한편 본 발명의 상세한 설명에서는 구체적인 실시예에 관해 설명하였으나, 본 발명의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 발명의 범위는 설명된 실시예에 국한되지 않으며, 후술되는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다. While the present invention has been described in connection with what is presently considered to be the most practical and preferred embodiment, it is to be understood that the invention is not limited to the disclosed embodiments, but is capable of various modifications within the scope of the invention. Therefore, the scope of the present invention should not be limited to the described embodiments, but should be determined by the scope of the appended claims, and equivalents thereof.

이상에서 상세히 설명한 바와 같이 동작하는 본 발명에 있어서, 개시되는 발 명 중 대표적인 것에 의하여 얻어지는 효과를 간단히 설명하면 다음과 같다.In the present invention operating as described in detail above, the effects obtained by the representative of the disclosed invention are briefly described as follows.

본 발명은, CRC 인코더 구조를 파이프라인 형태로 바꾸면서 최대 페이로드 전달 사이즈인 (384 x 6)cycles가 (384 + 5)cycles로 바뀜에 따라 최대 83 % 정도의 버스점유율을 감소시킬 수 있는 효과가 있다.The present invention has the effect of reducing the bus occupancy of up to 83% as the maximum payload delivery size (384 x 6) cycles is changed to (384 + 5) cycles while converting the CRC encoder structure into a pipeline form. have.

Claims (13)

변조기에서 버스인터페이스 상의 순환중복검사(CRC) 인코딩을 수행하는 방법에 있어서,A method for performing cyclic redundancy check (CRC) encoding on a bus interface in a modulator, 주변장치버스로부터 수신된 제1 병렬쓰기데이터(PWDATA)를 하나의 주변장치클럭(PCLK) 동안 비트 별로 나뉘어진 선형 피드백 쉬프트 레지스터(LFSR)들에 차례대로 입력하고, 상기 LFSR들에 입력된 값들을 CRC 레지스터에 저장하는 과정과, The first parallel write data PWDATA received from the peripheral bus is sequentially input to the linear feedback shift registers LFSR divided by bits during one peripheral clock PCLK, and the values input to the LFSRs are sequentially input. Storing in the CRC register, 상기 PCLK이 상승(Rising)되었다면, 일정한 개수의 LFSR마다 삽입된 파이프라인 레지스터들에 바로 전단의 LFSR에 입력된 값을 저장하고, 제2 PWDATA의 첫번째 비트를 첫번째 LFSR에 입력하며, 상기 각 파이프라인 레지스터 이후의 LFSR에 상기 각 파이프라인 레지스터에 저장된 LFSR 값 다음의 비트를 입력하는 과정과,If the PCLK is raised, the value input to the LFSR immediately preceding is stored in the pipeline registers inserted for every predetermined number of LFSRs, and the first bit of the second PWDATA is input to the first LFSR. Inputting a bit following the LFSR value stored in each pipeline register into the LFSR after the register; 상기 제1 PWDATA에 대한 입력이 끝났다면, 상기 CRC 레지스터에 저장된 값들에 CRC를 추가하여 CRC 인코딩을 수행하는 과정을 포함하는 순환중복검사 인코딩을 수행하는 방법.And if the input to the first PWDATA is completed, adding CRC to the values stored in the CRC register to perform CRC encoding. 제 1 항에 있어서, 상기 제1 및 제2 PWDATA는 32비트로 이루어짐을 특징으로 하는 순환중복검사 인코딩을 수행하는 방법.2. The method of claim 1, wherein the first and second PWDATA are 32 bits. 제 1 항 또는 제 2 항에 있어서, 상기 LFSR들은 적어도 PWDATA 비트 만큼의 개수임을 특징으로 하는 순환중복검사 인코딩을 수행하는 방법.3. The method of claim 1 or 2, wherein the LFSRs are at least as many as PWDATA bits. 변조기에서 버스인터페이스 상의 순환중복검사(CRC) 인코딩을 수행하는 장치에 있어서, An apparatus for performing cyclic redundancy check (CRC) encoding on a bus interface in a modulator, 주번장치버스로부터 수신된 제1 병렬쓰기데이터(PWDATA)를 하나의 주변장치클럭(PCLK) 동안 비트 별로 나뉘어진 영역 별로 차례대로 입력받는 선형 피드백 쉬프트 레지스터(LFSR)들과, Linear feedback shift registers (LFSRs) that receive the first parallel write data (PWDATA) received from the main device bus one by one during the peripheral clock (PCLK), divided by bits, and 상기 LFSR들에 입력된 값들을 저장하는 CRC 레지스터와,A CRC register for storing values input to the LFSRs; 상기 PCLK이 상승(Rising)되었다면, 바로 전단의 LFSR에 입력된 값을 저장하는 일정한 개수의 LFSR마다 삽입된 파이프라인 레지스터들과,If the PCLK is raised, pipeline registers are inserted for each predetermined number of LFSRs that store the value input to the LFSR immediately before the PCLK. 상기 제1 PWDATA에 대한 입력이 끝났다면, 상기 CRC 레지스터에 저장된 값들에 CRC를 추가하여 CRC 인코딩을 수행하는 CRC 처리기를 포함하며,A CRC processor configured to perform CRC encoding by adding a CRC to values stored in the CRC register when the input to the first PWDATA is finished; 여기서, 상기 PCLK의 클럭값이 상승(Rising)되었다면, 제2 PWDATA의 첫번째 비트는 첫번째 LFSR에 입력되며, 상기 각 파이프라인 레지스터 이후의 LFSR에 상기 각 파이프라인 레지스터에 저장된 LFSR 값 다음의 비트가 입력됨을 특징으로 하는 순환중복검사 인코딩을 수행하는 장치.Here, if the clock value of the PCLK is raised, the first bit of the second PWDATA is input to the first LFSR, and the bit following the LFSR value stored in each pipeline register is input to the LFSR after each pipeline register. Apparatus for performing a cyclic redundancy check characterized in that the. 제 4 항에 있어서, 상기 제1 및 제2 PWDATA는 32비트로 이루어짐을 특징으로 하는 순환중복검사 인코딩을 수행하는 장치.5. The apparatus of claim 4, wherein the first and second PWDATA consist of 32 bits. 제 4 항 또는 제 5 항에 있어서, 상기 LFSR들은 적어도 PWDATA 비트 만큼의 개수임을 특징으로 하는 순환중복검사 인코딩을 수행하는 장치.6. The apparatus of claim 4 or 5, wherein the LFSRs are at least as many as PWDATA bits. 중앙처리장치로부터 주변장치 버스를 통해 병렬 쓰기 데이터가 입력되는 변조기에서 순환 중복 검사 인코딩을 수행하는 방법에 있어서,A method for performing cyclic redundancy check encoding in a modulator in which parallel write data is input from a CPU through a peripheral bus, 상기 병렬 쓰기 데이터를 구성하는 비트 수에 상응하는 개수의 선형 피드백 쉬프트 레지스터들을 소정 개수로 그룹핑하고, 상기 병렬 쓰기 데이터를 구성하는 비트들을 상기 그룹핑에 의한 선형 피드백 쉬프트 레지스터 그룹 단위로 기록하는 과정과,Grouping a number of linear feedback shift registers corresponding to the number of bits constituting the parallel write data into a predetermined number, and writing the bits constituting the parallel write data in units of a linear feedback shift register group by the grouping; 상기 선형 피드백 쉬프트 레지스터 그룹 단위로 기록된 비트들을 순환 중복 검사 생성을 위한 레지스터로 제공하는 저장하는 과정과,Storing the bits recorded in units of the linear feedback shift register group as a register for generating a cyclic redundancy check; 상기 선형 피드백 쉬프트 레지스터 그룹들 모두로부터 비트들이 상기 순환 중복 검사 생성을 위한 레지스터로 제공되어 저장될 시, 상기 순환 중복 검사 생성을 위한 레지스터에 저장된 비트들에 CRC를 추가하여 출력하는 과정을 포함하며,When bits from all of the linear feedback shift register groups are provided to and stored in the register for generating the cyclic redundancy check, adding and outputting a CRC to the bits stored in the register for generating the cyclic redundancy check, 상기 기록하는 과정은,The recording process, 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 모든 선형 피드백 레지스터들에 비트 값이 기록된 후 주변 장치 클럭이 상승 에지될 시, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들 각각에 기록된 비트 값들이 상기 임의의 선형 피드백 쉬프트 레지스터 그룹 내의 다음 선형 피드백 쉬프트 레지스터로 이동하는 과정과,After a bit value is written to all linear feedback registers constituting any linear feedback shift register group, when the peripheral clock rises edge, writes to each of the linear feedback shift registers constituting the arbitrary linear feedback shift register group. Shifted bit values to the next linear feedback shift register in the arbitrary linear feedback shift register group; 상기 주변장치 버스를 통해 새로운 병렬 쓰기 데이터가 입력되면, 상기 이동하는 과정으로 인해 비어지는 첫 번째 선형 피드백 쉬프트 레지스터 그룹 내의 선형 피드백 쉬프트 레지스터에서부터 상기 새로운 병렬 쓰기 데이터를 구성하는 비트들을 순차적으로 기록하는 과정을 포함함을 특징으로 하는 순환 중복 검사 수행방법.When new parallel write data is input through the peripheral bus, a process of sequentially writing bits constituting the new parallel write data from a linear feedback shift register in the first linear feedback shift register group that is empty due to the moving process. Circular redundancy check method characterized in that it comprises a. 제 7 항에 있어서, 상기 기록하는 과정은,The method of claim 7, wherein the recording process, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들 중 마지막 선형 피드백 쉬프트 레지스터에 기록된 비트 값을 다음 선형 피드백 쉬프트 레지스터 그룹과의 사이에 구비된 특정 파이프라인 레지스터에 저장하는 과정과,Storing a bit value written in the last linear feedback shift register among the linear feedback shift registers constituting the arbitrary linear feedback shift register group in a specific pipeline register provided between the next linear feedback shift register group; 상기 다음 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들에는 상기 병렬 쓰기 데이터를 구성하는 비트 값들 중 상기 특정 파이프라인 레지스터에 저장된 비트 값의 다음 비트 값부터 순차적으로 기록하는 과정을 더 포함함을 특징으로 하는 순환 중복 검사 수행방법.The linear feedback shift registers constituting the next linear feedback shift register group may further include sequentially writing the next bit value of the bit value stored in the specific pipeline register among the bit values constituting the parallel write data. Cyclic redundancy check method characterized in that. 삭제delete 중앙처리장치로부터 주변장치 버스를 통해 입력되는 병렬 쓰기 데이터에 대한 순환 중복 검사 인코딩을 수행하는 변조기에 있어서,In a modulator for performing cyclic redundancy check encoding for parallel write data input from a CPU through a peripheral bus, 상기 병렬 쓰기 데이터를 구성하는 비트들을 기록하는 복수의 선형 피드백 쉬프트 레지스터들과,A plurality of linear feedback shift registers for writing bits constituting the parallel write data; 상기 선형 피드백 쉬프트 레지스터들에 기록된 비트들을 제공받아 저장하는 순환 중복 검사 생성을 위한 레지스터와,A register for generating a cyclic redundancy check for receiving and storing the bits recorded in the linear feedback shift registers; 상기 선형 피드백 쉬프트 레지스터 그룹들 모두로부터 비트들이 상기 순환 중복 검사 생성을 위한 레지스터로 제공되어 저장될 시, 상기 순환 중복 검사 생성을 위한 레지스터에 저장된 비트들에 CRC를 추가하여 출력하는 CRC 처리기를 포함하며,And a CRC processor for adding and outputting a CRC to bits stored in the register for generating a cyclic redundancy check when bits from all of the linear feedback shift register groups are provided and stored in the register for generating the cyclic redundancy check. , 상기 복수의 선형 피드백 쉬프트 레지스터들은 소정 개수로 그룹핑되고, 상기 그룹핑에 의한 선형 피드백 쉬프트 레지스터 그룹 단위로 상기 병렬 쓰기 데이터를 구성하는 비트들이 기록되며,The plurality of linear feedback shift registers are grouped in a predetermined number, and bits constituting the parallel write data are recorded in a linear feedback shift register group unit by the grouping. 상기 복수의 선형 피드백 쉬프트 레지스터들에 기록된 비트들은 상기 선형 피드백 쉬프트 레지스터 그룹 단위로 순환 중복 검사 생성을 위한 레지스터에 제공되고,Bits written in the plurality of linear feedback shift registers are provided to a register for generating a cyclic redundancy check in units of the linear feedback shift register group. 상기 복수의 선형 피드백 쉬프트 레지스터들은, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 모든 선형 피드백 레지스터들에 비트 값이 기록된 후 주변 장치 클럭이 상승 에지될 시, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들 각각에 기록된 비트 값들이 상기 임의의 선형 피드백 쉬프트 레지스터 그룹 내에서 다음 선형 피드백 쉬프트 레지스터로 이동시키고, 상기 주변장치 버스를 통해 새로운 병렬 쓰기 데이터가 입력되면, 상기 비트 값의 이동으로 인해 비어진 첫 번째 선형 피드백 쉬프트 레지스터 그룹 내의 선형 피드백 쉬프트 레지스터에서부터 상기 새로운 병렬 쓰기 데이터를 구성하는 비트들을 순차적으로 기록됨을 특징으로 하는 변조기.The plurality of linear feedback shift registers may be configured to change the arbitrary linear feedback shift register group when a peripheral clock is rising edge after a bit value is written to all linear feedback registers constituting the arbitrary linear feedback shift register group. The bit values recorded in each of the constituent linear feedback shift registers are moved to the next linear feedback shift register in the arbitrary linear feedback shift register group, and when new parallel write data is input through the peripheral bus, the bit value And sequentially writing bits constituting the new parallel write data from the linear feedback shift register in the first linear feedback shift register group emptied due to the shift of. 제 10 항에 있어서, 11. The method of claim 10, 상기 선형 피드백 쉬프트 레지스터 그룹 간에 위치하며, 주변 장치 클럭이 상승 에지될 시에 임의의 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들 중에서 마지막 선형 피드백 쉬프트 레지스터에 기록된 비트 값을 저장하는 파이프라인 레지스터들을 더 포함하는 변조기.A pipeline that is located between the groups of linear feedback shift registers and stores a bit value written to the last linear feedback shift register among the linear feedback shift registers constituting any group of linear feedback shift registers when a peripheral clock rises. And a modulator further comprising registers. 제 11 항에 있어서, 상기 복수의 선형 피드백 쉬프트 레지스터들은,The method of claim 11, wherein the plurality of linear feedback shift registers, 상기 임의의 선형 피드백 쉬프트 레지스터 그룹에 연속하는 다음 선형 피드백 쉬프트 레지스터 그룹을 구성하는 선형 피드백 쉬프트 레지스터들에는 상기 병렬 쓰기 데이터를 구성하는 비트 값들 중 상기 파이프라인 레지스터에 저장된 비트 값의 다음 비트 값부터 순차적으로 기록함을 특징으로 하는 변조기.The linear feedback shift registers constituting the next linear feedback shift register group consecutive to the arbitrary linear feedback shift register group are sequentially sequentially from the next bit value of the bit value stored in the pipeline register among the bit values constituting the parallel write data. Modulator characterized in that recorded as. 삭제delete
KR1020060010558A 2006-02-03 2006-02-03 Method and apparatus for crc encoding interface of apb in modulator KR101227411B1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020060010558A KR101227411B1 (en) 2006-02-03 2006-02-03 Method and apparatus for crc encoding interface of apb in modulator

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020060010558A KR101227411B1 (en) 2006-02-03 2006-02-03 Method and apparatus for crc encoding interface of apb in modulator

Publications (2)

Publication Number Publication Date
KR20070079708A KR20070079708A (en) 2007-08-08
KR101227411B1 true KR101227411B1 (en) 2013-01-29

Family

ID=38600263

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020060010558A KR101227411B1 (en) 2006-02-03 2006-02-03 Method and apparatus for crc encoding interface of apb in modulator

Country Status (1)

Country Link
KR (1) KR101227411B1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030080587A (en) * 2002-04-09 2003-10-17 한국전자통신연구원 Apparatus and method for calculating CRC in parallel
JP2005073146A (en) 2003-08-27 2005-03-17 Fujitsu Ten Ltd Crc check circuit

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20030080587A (en) * 2002-04-09 2003-10-17 한국전자통신연구원 Apparatus and method for calculating CRC in parallel
JP2005073146A (en) 2003-08-27 2005-03-17 Fujitsu Ten Ltd Crc check circuit

Also Published As

Publication number Publication date
KR20070079708A (en) 2007-08-08

Similar Documents

Publication Publication Date Title
US10067901B2 (en) Methods and apparatuses for providing data received by a state machine engine
US7653805B2 (en) Processing in pipelined computing units with data line and circuit configuration rule signal line
JP6126127B2 (en) Method and system for routing in a state machine
EP0241946A2 (en) Information processing system
US8578356B1 (en) High-level language code sequence optimization for implementing programmable chip designs
CN102508635A (en) Processor device and loop processing method thereof
US8977835B2 (en) Reversing processing order in half-pumped SIMD execution units to achieve K cycle issue-to-issue latency
US20060047754A1 (en) Mailbox interface between processors
WO1994015311A1 (en) Method for entering state flow diagrams using schematic editor programs
JP2008181535A (en) Digital signal processing apparatus
US20230239256A1 (en) Wide Elastic Buffer
KR101227411B1 (en) Method and apparatus for crc encoding interface of apb in modulator
US7742544B2 (en) System and method for efficient CABAC clock
David et al. Self-timed architecture of a reduced instruction set computer
US7698535B2 (en) Asynchronous multiple-order issue system architecture
US6698001B2 (en) Method for generating register transfer level code
CN112470136A (en) Direct memory access controller
US7809861B1 (en) System memory map decoder logic
KR101454802B1 (en) Asynchronous Pipeline System, Stage and the Data Transfer Mechanism
RU2686017C1 (en) Reconfigurable computing module
CN107707330A (en) SC LDPC codes decoding acceleration system based on GPU
JP2010086321A (en) Memory control system
US20130290677A1 (en) Efficient extraction of execution sets from fetch sets
US20080028192A1 (en) Data processing apparatus, and data processing method
JP3825709B2 (en) Pipeline processing method and processor device

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee