KR20030042969A - Check-sum caculation method of fpga loading serial data - Google Patents
Check-sum caculation method of fpga loading serial data Download PDFInfo
- Publication number
- KR20030042969A KR20030042969A KR1020010073894A KR20010073894A KR20030042969A KR 20030042969 A KR20030042969 A KR 20030042969A KR 1020010073894 A KR1020010073894 A KR 1020010073894A KR 20010073894 A KR20010073894 A KR 20010073894A KR 20030042969 A KR20030042969 A KR 20030042969A
- Authority
- KR
- South Korea
- Prior art keywords
- download
- data
- signal
- fpga
- serial data
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/08—Error detection or correction by redundancy in data representation, e.g. by using checking codes
- G06F11/10—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
- G06F11/1004—Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Quality & Reliability (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Detection And Correction Of Errors (AREA)
- Stored Programmes (AREA)
Abstract
Description
본 발명은 FPGA 다운 로딩 직렬데이터의 체크섬 계산방법에 관한 것으로, 특히 프로세서에서 FPGA에 다룬 로딩되는 데이터의 체크섬을 리드하여 그 다운 로딩 데이터의 버전관리를 효율적으로 하도록 한 FPGA 다운 로딩 직렬데이터의 체크섬 계산방법에 관한 것이다.The present invention relates to a checksum calculation method of an FPGA downloading serial data, and more particularly, to a checksum calculation of an FPGA downloading serial data which reads a checksum of data loaded into an FPGA in a processor and makes version management of the downloading data effective. It is about a method.
일반적으로, 체크 섬(Check Sum)은 데이터의 정확성을 검사하기 위한 용도로 사용되는 합계를 가리키는 것으로, 대개는 데이터의 입력이나 전송시에 제대로 되었는지를 확인하기 위해 입력 데이터나 전송 데이터의 맨 마지막에 앞서 보낸 모든 데이터를 다 합한 합계를 따로 보낸다.In general, a check sum is a sum used to check the accuracy of the data, usually at the end of the input data or transmitted data to ensure that it is correct when the data is entered or transferred. The sum of all the data sent earlier is sent separately.
그러면, 데이터를 받아들이는 측에서는 하나씩 받아들여 합산한 다음 이를 최종적으로 들어온 검사 합계와 비교하여 착오가 있었는지를 점검한다.Then, the receiver accepts the data, adds them up one by one, and compares them with the final inspection total to check for errors.
종래에는, 도1과 같이, 이피롬(E)에 소정 프로세서의 직렬 로딩 데이터를 저장하는데, 이때, 직렬 로딩 데이터의 체크섬을 계산하여 데이터착오를 점검한다.Conventionally, as shown in Fig. 1, serial loading data of a predetermined processor is stored in the epi-ROM E. At this time, a checksum of the serial loading data is calculated to check data error.
이후, 상기 이피롬(E)에 저장된 직렬 로딩 데이터를, 마이크로컴퓨터(미도시)의 제어신호에 따라, 다수의 FPGA(1~N)에, 클럭신호에 동기하여 다운 로딩한다.Subsequently, the serial loading data stored in the pyrom E is downloaded to the plurality of FPGAs 1 to N in synchronization with a clock signal in accordance with a control signal of a microcomputer (not shown).
그러면, 상기 다수의 FPGA(1~N)는 직렬 로딩 데이터의 로딩 완료를 알리기 위한 신호(CONFIG DONE)를 해당 프로세서(P)에 인가하는데, 사용자의 설정에 의해, 로딩이 완료되면 '하이'를 출력하거나 '로우'를 출력한다.Then, the plurality of FPGAs 1 to N apply a signal CONFIG DONE for notifying completion of loading of serial loading data to the corresponding processor P. When the loading is completed, 'high' is set by the user. Output or 'low'.
여기서, 상기 로딩 완료를 알리기 위한 신호라인은 와이어드 오아(Wired OR)로 연결되어 있는데, 이로 인해 하나의 FPGA가 이상이 발생하여 '로우'를 출력하면 최종적으로 프로세서에 입력되는 신호는 '하이'가 되어, 어떠한 FPGA에 오류가 발생하였는지를 알지 못하는 문제점이 있다.In this case, the signal line for notifying completion of the loading is connected to a wired ore. As a result, when one FPGA generates an error and outputs 'low', the signal input to the processor finally becomes 'high'. Thus, there is a problem in not knowing which FPGA has an error.
또한, 상기 이피롬에 저장된 데이터를, 다수의 FPGA에 직렬 다운로드하는 경우, 그 다운로드의 이상 유무를 알기 위한 체크섬 계산 및 그 확인 과정이 없기 때문에 FPGA에 다운로드된 데이터의 오류여부를 판단하지 못하는 문제점이 있다.In addition, when serially downloading the data stored in the pyramid to a plurality of FPGAs, there is no checksum calculation and checking process to know whether the download is abnormal or not, and thus, it is not possible to determine whether the data downloaded to the FPGA is in error. have.
본 발명은 상기와 같은 문제점을 해결하기 위하여 안출된 것으로, 프로세서에서 FPGA에 다룬 로딩되는 데이터의 체크섬을 리드하여 그 다운 로딩 데이터의 버전관리를 효율적으로 수행하도록 한 FPGA 다운 로딩 직렬데이터의 체크섬 계산방법을 제공함에 그 목적이 있다.SUMMARY OF THE INVENTION The present invention has been made to solve the above problems, and the method of calculating the checksum of the FPGA downloading serial data to read the checksum of the data loaded on the FPGA in the processor to efficiently perform the version management of the download data The purpose is to provide.
도1은 종래 FPGA 직렬 데이터 다운 로딩장치의 구성을 보인 블록도.Figure 1 is a block diagram showing the configuration of a conventional FPGA serial data download apparatus.
도2는 본 발명 FPGA 다운 로딩 직렬데이터의 체크섬 계산장치의 구성을 보인 블록도.2 is a block diagram showing the configuration of a checksum calculation apparatus for FPGA downloading serial data of the present invention.
도3은 도2에 있어서, 체크섬계산부의 구성을 보인 블록도.FIG. 3 is a block diagram showing the structure of a checksum calculation unit in FIG.
도4는 도2에 있어서,각 부분의 타이밍도.4 is a timing diagram of each part in FIG. 2;
*****도면의 주요부분에 대한 부호의 설명********** Description of the symbols for the main parts of the drawings *****
1~N:FPGAE:이피롬1-N: FPGAE: Epirom
S:체크섬계산부B:버퍼S: Checksum calculator B: Buffer
P:프로세서P: Processor
상기와 같은 목적을 달성하기 위한 본 발명은, 직렬 로딩 데이터를 저장하는 이피롬과; 클럭신호에 동기하여, 각기 상기 이피롬으로부터 직렬 로딩 데이터를 다운로딩하고, 그 다운 로딩이 완료되면 그에 따른 로딩완료신호를 출력하는 다수의 FPGA와; 클럭신호에 동기하여, 상기 이피롬으부터 직렬 로딩 데이터를 입력받아 체크섬을 계산하는 체크섬계산수단과; 상기 체크섬계산수단의 체크섬계산값과 상기 다수의 FPGA로부터 로딩완료신호를 입력받아 이를 버퍼링하는 버퍼와; 상기 버퍼를 통해 다운로딩 데이터의 체크섬계산값과 상기 FPGA의 로딩완료신호 입력받아 해당FPGA의 다운로딩 오류여부를 판단한후, 오류가 검출되면 재다운 로딩을 실시하거나 사용자에게 오류를 알리는 프로세서를 포함하여 구성한 것을 특징으로 한다.The present invention for achieving the above object, and the pyrom storing serial loading data; A plurality of FPGAs each configured to download serial loading data from the pyrom, in synchronization with a clock signal, and output a loading completion signal according to the completion of the downloading; Checksum calculation means for calculating a checksum in synchronization with a clock signal by receiving serial loading data from the pyramid; A buffer for receiving checksum calculation values of the checksum calculation means and a loading completion signal from the plurality of FPGAs and buffering them; After receiving the checksum calculation value of the download data and the loading completion signal of the FPGA through the buffer to determine whether the download error of the corresponding FPGA, and if an error is detected, including a processor for re-downloading or notifying the user of the error; It is characterized by the configuration.
이하, 본 발명에 의한 FPGA 다운 로딩 직렬데이터의 체크섬 계산방법에 대한 작용 및 효과를 첨부한 도면을 참조하여 상세히 설명한다.Hereinafter, operations and effects of the checksum calculation method of the FPGA downloading serial data according to the present invention will be described in detail with reference to the accompanying drawings.
도2는 본 발명 FPGA 다운 로딩 직렬데이터의 체크섬 계산방법이 적용되는 장치의 구성을 보인 블록도로서, 이에 도시한 바와같이 직렬 데이터를 다운 로드하여 저장하는 이피롬(E)과; 마이크로컴퓨터(미도시)의 제어신호에 따라, 상기 이피롬 (E)으로부터 직렬 데이터를 클럭신호에 동기하여, 각기 다운 로딩하고, 그 다운로딩이 완료되면 그에 따른 다운로드 완료신호(CONFIG DONE)를 출력하는 다수의 FPGA (1~N)와; 상기 클럭신호에 동기하여, 상기 이피롬(E)으로부터 직렬데이터를 입력받아 체크섬을 연산하는 체크섬 계산부(S)와; 상기 체크섬계산부(S)의 체크섬신호와 상기 다수의 FPGA(1~N)의 다운로드 완료신호(CONFIG DONE)를 입력받아 이를 버퍼링하는 버퍼(B)와; 상기 버퍼(B)를 통해 다운로딩 데이터의 체크섬계산값과 상기 FPGA(1~N)의 로딩완료신호(CONFIG DONE) 입력받아 해당 FPGA(1~N)의 다운로딩 오류여부를 판단한후, 오류가 검출되면 재다운 로딩을 실시하거나 사용자에게 오류를 알리는 프로세서(P)로 구성한다.Fig. 2 is a block diagram showing the configuration of an apparatus to which the checksum calculation method of the FPGA downloading serial data of the present invention is applied, and as shown in Fig. 2, Epirom (E) for downloading and storing serial data; According to a control signal of a microcomputer (not shown), the serial data is downloaded from the pyrom (E) in synchronization with a clock signal, respectively, and when the downloading is completed, a download completion signal (CONFIG DONE) is output accordingly. A plurality of FPGAs 1 to N; A checksum calculating unit (S) for calculating a checksum by receiving serial data from the pyrom (E) in synchronization with the clock signal; A buffer B for receiving checksum signals of the checksum calculator S and download completion signals CONFIG DONE of the plurality of FPGAs 1 to N; After receiving the checksum calculation value of the downloading data and the loading completion signal (CONFIG DONE) of the FPGAs 1 to N through the buffer B, it is determined whether or not a downloading error of the corresponding FPGAs 1 to N is detected. If detected, it is configured as a processor (P) for re-loading or notifying the user of the error.
상기 체크섬계산부(S)는, 도3에 도시한 바와같이, 클럭신호를 카운팅하여 그에 따른 카운팅신호를 출력하는 카운터(C1)와; 상기 카운팅신호에 따라, 이피롬(E)으로부터 직렬 로딩 테이터를 입력받아 이를 복호화하여 소정 비트의 신호로 출력하는 디먹스(DM)와; 상기 디먹스(DM)의 출력신호를 비트별로 입력받아 이를 카운팅하는 비트 카운터(C2)로 구성하며, 이와같이 구성한 본 발명의 동작을 설명한다.The checksum calculator S includes a counter C1 that counts a clock signal and outputs a counting signal according to the clock signal as shown in FIG. A demux (DM) receiving the serial loading data from the epi-ROM (E) according to the counting signal, decoding the decoded data, and outputting the decoded signal as a predetermined bit signal; A bit counter C2 for receiving the output signal of the demux DM for each bit and counting the output signal of the demux DM will be described. The operation of the present invention configured as described above will be described.
먼저, 이피롬(E)은, 소정 프로세서에서 직렬 데이터를 다운 로드하여 저장한후, 그 직렬데이터를 마이크로컴퓨터(미도시)의 제어신호에 의해, 클럭신호에 동기하여 다수의 FPGA(1~N)에 로딩한다.First, the pyrom (E) downloads and stores serial data in a predetermined processor, and then stores the serial data in synchronization with a clock signal by a control signal of a microcomputer (not shown). Load in
이에따라, 상기 다수의 FPGA(1~N)는 상기 소정 이피롬(E)으로부터 직렬 데이터가 완전히 다운 로딩되면, 다운 로드 완료신호(CONFIG DONE)를 버퍼(B)에 인가한다.Accordingly, the plurality of FPGAs 1 to N apply a download completion signal CONFIG DONE to the buffer B when the serial data is completely downloaded from the predetermined epirome E.
이때, 체크섬계산부(S)는, 클럭신호에 동기하여 데이터를 입력받아 체크섬을 연산한후, 그 체크섬값을 버퍼(B)에 인가한다.At this time, the checksum calculating unit S receives data in synchronization with a clock signal, calculates a checksum, and then applies the checksum value to the buffer B. FIG.
보다 상세하게, 상기 체크섬계산부(S)의 동작을 도4를 참조하여 설명하면,In more detail, the operation of the checksum calculation unit S will be described with reference to FIG.
카운터(C1)는 도4의 (a)와 같은 반전된 클럭신호를 입력받아 이를 카운팅하여 그에 따른 카운트신호를 도4의 (d)와 같이 출력하고, 디먹스(DM)는 도4의 (b)와 같은 다운 로딩 직렬데이터를 디먹싱한후, 이를 상기 카운트신호에 의해 선택하여 도4의 (c)와 같이 출력한다.The counter C1 receives an inverted clock signal as shown in (a) of FIG. 4 and counts it, and outputs a count signal corresponding thereto as shown in FIG. 4 (d), and the demux DM (b) of FIG. After demuxing the download serial data such as), it is selected by the count signal and output as shown in FIG.
그러면, 상기 디먹스(DM)의 출력신호는 비트 카운터(C2)의 클럭신호로 입력되어, 그 출력신호가 '0'인 경우는 카운트되지 않고, '1'인 경우에만 카운트된다.Then, the output signal of the demux DM is input as the clock signal of the bit counter C2, and the output signal of the demux DM is not counted when the output signal is '0', but counted only when the output signal is '1'.
여기서, 상기 비트카운터(C2)는, 소정 FPGA에 모든 직렬데이터가 다운로딩되면, 현재 카운트된 소정 비트의 값을 체크섬신호로 출력한다.Here, when all the serial data is downloaded to a predetermined FPGA, the bit counter C2 outputs the value of the currently counted predetermined bit as a checksum signal.
이에 따라, 상기 버퍼(B)는 상기 체크섬계산부(S)의 체크섬신호와 상기 다수의 FPGA(1~N)의 다운로드 완료신호(CONFIG DONE)를 입력받아 이를 버퍼링하여 프로세서(P)에 인가한다.Accordingly, the buffer B receives the checksum signal of the checksum calculator S and the download completion signals CONFIG DONE of the plurality of FPGAs 1 to N and buffers the same to the processor P. .
그러면,상기 프로세서(P)는 체크섬신호를 FPGA의 버전관리에 사용하는데, 즉 FPGA의 변경은 하드웨어 구조 및 기능의 변화를 뜻하고, 각각의 기능 변화에 따른 버전을 구별한다.Then, the processor (P) uses the checksum signal for the version control of the FPGA, that is, the change of the FPGA means a change in hardware structure and function, and distinguishes the version according to each function change.
또한, 상기 프로세서(P)는, 다운로드 완료신호가 '로우'로 입력되면, 데이터의 다운로딩이 완료되지 않은 것으로 판단하여, 다시 다운로딩을 수행하도록 제어한다.In addition, when the download completion signal is input as 'low', the processor P determines that downloading of data is not completed, and controls to perform downloading again.
즉, 상기 프로세서(P)는, FPGA가 정상적으로 다운로딩되지 않은 것이 판명된 경우, 특정 횟수동안 다운로딩을 재시도하고, 그 재시도에도 불량인 경우 FPGA 다운로딩 불량을 사용자에게 알려 다운로딩 회로를 수정하도록 한다.That is, when it is found that the FPGA is not normally downloaded, the processor P retries downloading for a specific number of times, and if the retry is bad, the processor P notifies the user of the FPGA downloading failure and then downloads the downloading circuit. Correct it.
이상에서 상세히 설명한 바와같이 본 발명은, 직렬 데이터의 체크섬을 계산하여 그 계산된 체크섬을 프로세서가 읽어 나가도록 함으로써, 변경된 FPGA 데이터에 대한 버전관리를 효율적으로 수행하는 효과가 있다.As described in detail above, the present invention has the effect of efficiently versioning the changed FPGA data by calculating the checksum of the serial data and causing the processor to read the calculated checksum.
Claims (2)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010073894A KR20030042969A (en) | 2001-11-26 | 2001-11-26 | Check-sum caculation method of fpga loading serial data |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020010073894A KR20030042969A (en) | 2001-11-26 | 2001-11-26 | Check-sum caculation method of fpga loading serial data |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20030042969A true KR20030042969A (en) | 2003-06-02 |
Family
ID=29571393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020010073894A KR20030042969A (en) | 2001-11-26 | 2001-11-26 | Check-sum caculation method of fpga loading serial data |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR20030042969A (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101124550B1 (en) * | 2009-06-29 | 2012-03-16 | 후지쯔 가부시끼가이샤 | Arithmetic circuit, arithmetic processing device, and arithmetic processing method |
CN113839767A (en) * | 2021-09-13 | 2021-12-24 | 许昌许继软件技术有限公司 | Multi-chip FPGA system and timestamp synchronization method thereof |
-
2001
- 2001-11-26 KR KR1020010073894A patent/KR20030042969A/en not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101124550B1 (en) * | 2009-06-29 | 2012-03-16 | 후지쯔 가부시끼가이샤 | Arithmetic circuit, arithmetic processing device, and arithmetic processing method |
CN113839767A (en) * | 2021-09-13 | 2021-12-24 | 许昌许继软件技术有限公司 | Multi-chip FPGA system and timestamp synchronization method thereof |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5638370A (en) | Status bit controlled HDLC accelerator | |
CA1081853A (en) | Control store checking system and method | |
US6754870B2 (en) | CRC operation unit and CRC operation method | |
JPH06325595A (en) | Prom device with error correction circuit | |
KR20030042969A (en) | Check-sum caculation method of fpga loading serial data | |
US9720037B2 (en) | Debug circuit, semiconductor device, and debug method | |
US20050066258A1 (en) | Error decoding circuit, data bus control method and data bus system | |
JPS617729A (en) | Device for correcting error burst in compressed circulating block code | |
EP3480958B1 (en) | Bus bridge with improved fault detection | |
US7484147B2 (en) | Semiconductor integrated circuit | |
JP6875661B2 (en) | Error detection redundant bit generation method and device | |
JP5376990B2 (en) | Relay device and relay method of relay device | |
WO2021038923A1 (en) | Control device, execution control method for user program, and system program | |
US5590371A (en) | Serial communication circuit on an LSI chip and communicating with another microcomputer on the chip | |
GB2302634A (en) | Cyclic redundancy coder | |
US5671228A (en) | System for detecting non-coincidence of codes | |
US6360319B1 (en) | Method and apparatus for storing and retrieving system revision information | |
US5144628A (en) | Microprogram controller in data processing apparatus | |
US11928022B2 (en) | Introduction and detection of parity error in a UART | |
KR20030011553A (en) | Electronic apparatus and correction method | |
KR940000453B1 (en) | Low-hevel processor loading method in electronic exchange | |
KR19990066064A (en) | Error detection and correction device of stored data | |
JP3290639B2 (en) | Reed-Solomon decoding device and control method thereof | |
KR20090086328A (en) | Semiconductor integrated circuit and method of measuring a maximum delay | |
KR100486213B1 (en) | Apparatus for detecting the error using the byte/word-based error detection code |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
N231 | Notification of change of applicant | ||
WITN | Withdrawal due to no request for examination |