KR20030092505A - Breadboard System for Semiconductor Experiment - Google Patents

Breadboard System for Semiconductor Experiment Download PDF

Info

Publication number
KR20030092505A
KR20030092505A KR1020020030184A KR20020030184A KR20030092505A KR 20030092505 A KR20030092505 A KR 20030092505A KR 1020020030184 A KR1020020030184 A KR 1020020030184A KR 20020030184 A KR20020030184 A KR 20020030184A KR 20030092505 A KR20030092505 A KR 20030092505A
Authority
KR
South Korea
Prior art keywords
electronic circuit
user
server
semiconductor chip
name
Prior art date
Application number
KR1020020030184A
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 KR1020020030184A priority Critical patent/KR20030092505A/en
Publication of KR20030092505A publication Critical patent/KR20030092505A/en

Links

Classifications

    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B23/00Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes
    • G09B23/06Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics
    • G09B23/18Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism
    • G09B23/183Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits
    • G09B23/186Models for scientific, medical, or mathematical purposes, e.g. full-sized devices for demonstration purposes for physics for electricity or magnetism for circuits for digital electronics; for computers, e.g. microprocessors

Abstract

PURPOSE: A breadboard system for testing a semiconductor is provided to construct an electronic circuit, and to test the electronic circuit over the internet or on a standalone computer. CONSTITUTION: The system comprises a GUI(Graphic User Interface, 11), a semiconductor chip/line generator(3), a circuit design module(4), an ERC(Electric Rule Checker, 5), an IO processor(6), a network(7), a locking module(8), a processor(9), a server(10), and a semiconductor chip addition module(12). The GUI(11) includes an event processor(1) and a display(2). The event processor(1) processes all the events generated while a user is using the system. The display(2) receives the data from the event processor, and graphically displays the received data. The semiconductor chip/line generator(3) generates a semiconductor chip or line if a corresponding event is generated, and transmits the generated semiconductor chip or line to the circuit design module(4). The ERC(5) detects electric rules of the designed circuit, sets a connection relation of each semiconductor chip if there is no error in the designed circuit, and offers the connection relation data to the processor(9). The locking module(8) prevents a file on the designed circuit from being copied. The processor(9) calculates an output value according to an input of each element when a simulation is performed, and transmits the simulation result to the GUI(11).

Description

반도체 실험을 위한 브레드보드 시스템{.}Breadboard System for Semiconductor Experiments {.}

반도체 칩을 이용한 디지털 전자회로 실험은 하드웨어적인 브레드보드와 반도체 칩(chip)을 이용하여 회로를 구성하고 시뮬레이션을 수행하여 결과 값을 확인하도록 구성되어 있다. 즉, 오프라인에서만이 실험이 가능하도록 구성되어 있어 실험장치와 반도체 칩을 반드시 구매해야 하는데, 상기의 전자회로 실험 장치의 구입 비용 등의 이유로 인해 학생 1인당 한 대의 실험장치를 이용하여 실험하기 어렵고 일반적으로 그룹단위의 실험을 수행하게 되며, 실험에 따라 새로운 반도체 칩을 생성되거나 파손된 반도체 칩을 재 구매해야 한다. 또한 실험과목의 경우 하드웨어적인 실험을 인터넷 상에서 구현하고, 상기 구현된 실험이 오프라인의 실험과 동일한 효과를 가지도록 하는 것이 어렵기 때문에 가상교육 분야에서 제외되고 있다.Digital electronic circuit experiment using a semiconductor chip consists of a hardware breadboard and a semiconductor chip (chip) to configure the circuit and perform simulation to check the result value. In other words, since it is configured to perform the experiment only offline, it is necessary to purchase an experimental device and a semiconductor chip, and due to the cost of purchasing the electronic circuit experimental device, it is difficult to experiment with one experimental device per student. As a result, experiments in group units are performed, and new semiconductor chips are generated or damaged semiconductor chips must be purchased again according to the experiment. In addition, the experimental subjects are excluded from the field of virtual education because it is difficult to implement the hardware experiments on the Internet and to make the implemented experiments have the same effect as the off-line experiments.

또한 이러한 전자회로 실험을 하고, 후에 다시 같은 실험을 하고자 하는 경우, 또는 같은 실험에서 더 확장을 하거나 변경하는 경우에는 다시 처음부터 전자회로를 꾸며야 하는 번거로운 문제점이 있다.In addition, when such an electronic circuit experiment is performed, and after the same experiment again, or if further expansion or change in the same experiment, there is a cumbersome problem of having to decorate the electronic circuit from the beginning again.

따라서 상기와 같은 문제점을 해결하기 위해 본 발명에서는 하드웨어 실험장치인 브레드보드를 이용한 전자회로 실험을 온라인 또는 독립된 컴퓨터에서 오프라인으로 이루어지는 실험과 동일한 효과를 가질 수 있도록 컴퓨터 상에 구현하는데 그 목적이 있다.Therefore, in order to solve the above problems, an object of the present invention is to implement an electronic circuit experiment using a breadboard, which is a hardware experiment apparatus, on a computer to have the same effect as an experiment performed on-line or off-line in an independent computer.

이에 본 발명에서는 소자의 인터페이스를 간략화 함으로써 쉽게 반도체 칩이나 마이크로 프로세서를 추가 할 수 있도록 구성하였으며, 본 발명의 브레드보드 시스템을 이용하면 전자회로를 실험이 끝나고 같은 전자실험을 하는 경우 혹은 설계된 회로를 확장할 경우에 컴퓨터의 하드디스크에 파일로 저장을 하거나, 혹은 서버의 하드디스크에 저장을 하여 전자회로의 수정 또는 확장을 쉽도록 함과 동시에 파일이 하드드라이브에 저장 될 때 이름 및 아이디를 동시에 저장하고 또 상기 파일을 로드할 때 상기 파일에 대한 이름 및 아이디를 수정 할 수 없도록 하여 자신의 작성한 파일 이외에는 타인이 상기의 파일을 수정하지 못하도록 하고, 개개인이 전자 회로 실험을 할 수 있도록 유도하는데 그 목적이 있다.Therefore, in the present invention, by simplifying the interface of the device is configured to easily add a semiconductor chip or a microprocessor, using the breadboard system of the present invention when the electronic circuit after the experiment and the same electronic experiment or designed circuit expansion In this case, it can be saved as a file in the computer's hard disk or in the server's hard disk to make it easy to modify or expand the electronic circuits and save the name and ID at the same time when the file is saved to the hard drive. Also, when loading the file, it is not possible to modify the name and ID of the file so that no one else can modify the file except for the file he / she created, and the purpose is to induce individuals to experiment with electronic circuits. have.

도 1은 본 발명의 전체적인 장치 구성도1 is a block diagram of an overall device of the present invention

도 2는 본 발명에 따른 시스템의 전체적인 흐름도2 is an overall flow chart of the system according to the present invention.

도 2a는 본 발명에 따른 전체적인 장치 블록도2A is an overall device block diagram in accordance with the present invention.

도 3은 인터넷을 통한 본 발명의 시스템을 시작하는 흐름도3 is a flow chart of starting the system of the present invention via the Internet.

도 3a는 클라이언트 단독으로 시스템을 시작하는 흐름도3A is a flow chart of starting the system with the client alone

도 4는 모델링 된 소자의 도면4 is a diagram of a modeled device

도 4a는 모델링 된 반도체 칩의 내부 도시도4A is an internal view of a modeled semiconductor chip

도 5는 반도체 칩을 화면에 디스플레이 하는 흐름도5 is a flowchart for displaying a semiconductor chip on a screen;

도 5a는 본 발명의 시스템에서 반도체 칩을 이동하는 흐름도5A is a flow chart for moving a semiconductor chip in a system of the present invention.

도 5b는 반도체 칩과 반도체 칩을 연결하는 선 그리기 흐름도5B is a line drawing flowchart connecting the semiconductor chip and the semiconductor chip.

도 6은 본 발명에 따른 시뮬레이션 흐름도6 is a simulation flow chart in accordance with the present invention.

도 7은 클라이언트에 작성된 전자회로를 저장/로드하는 흐름도7 is a flowchart for storing / loading an electronic circuit created in a client.

도 8은 서버에 작성된 전자회로를 저장/로드하는 흐름도8 is a flowchart for storing / loading an electronic circuit created in a server.

도 9는 본 발명에 따른 시스템을 구현한 일 실시예9 illustrates one embodiment of implementing a system in accordance with the present invention.

도 10은 본 발명에 따른 전자회로를 구현한 일 실시예10 illustrates an embodiment of implementing an electronic circuit according to the present invention.

도 11은 서버에 파일을 저장하기 위한 패스워드와 파일네임(File name)을 입력하기 위해서 보여지는 윈도우11 shows a window for entering a password and a file name for storing a file in a server.

도 12는 본 발명의 실시예에서 물음표 버튼(100)을 이용하여 전자회로상의 디스플레이된 TTL7408 칩을 클릭 하였을 경우에 나타내는 반도체 칩을 설명하는 실시예FIG. 12 is an embodiment for explaining the semiconductor chip shown when the displayed TTL7408 chip on the electronic circuit is clicked using the question mark button 100 in the embodiment of the present invention.

< 도면의 주요 부분에 대한 부호의 설명><Description of the reference numerals for the main parts of the drawings>

1...이벤트 처리부 2...화면표시부 3...반도체 칩/라인 생성부 4...회로 설계부 5...ERC부 6...I/O 프로세서부 7...네트워크부 8...복사방지부 9...프로세서부 10...서버 12...반도체 칩 추가부1 ... Event processing part 2 ... Display part 3 ... Semiconductor chip / line generating part 4 ... Circuit design part 5 ... ERC part 6 ... I / O processor part 7 ... Network part 8 ... Copy protection section 9 ... Processor section 10 ... Server 12 ... Semiconductor chip addition section

본 발명은 오프라인 상에서 이루어지는 브레드보드를 이용한 전자회로 실험을 온라인 또는 독립된 컴퓨터에서 실험할 수 있도록 구성된 시스템으로 오프라인에서의 브레드보드 기기를 이용한 전자회로 실험과 같이 반도체 칩을 생성하여 임의의 전자회로를 구성하여 실험하는 인터넷 상에서 혹은 독립된 컴퓨터에서 실험할 수 있는 시스템이다.The present invention is a system configured to perform an electronic circuit experiment using a breadboard on-line or on an independent computer. The semiconductor chip is generated by creating a semiconductor chip, such as an electronic circuit experiment using a breadboard device off-line. It is a system that can be experimented on the internet or a separate computer.

이하 도면에 첨부된 도면에 의해 자세히 설명하면 다음과 같다.Hereinafter, the detailed description will be given with reference to the accompanying drawings.

도1은 본 발명에 따른 교수자(서버관리자)와 사용자(학생 또는 학습자), 그리고 서버간의 관계를 도식적으로 나타낸 것이다. 교수자는 서버에 본 발명의 시스템을 저장하고 사용자는 인터넷 또는 네트워크를 이용하여 서버에 접근하고 본 발명의 시스템을 구동하고, 전자회로를 구성하여 실험을 하고, 실험에 사용된 전자회로를 서버에 저장한다. 교수자는 학습자의 실험 종료 후 서버에 접근하여 학습자가 저장시킨 전자회로를 확인한다.1 is a diagram schematically showing a relationship between an instructor (server manager), a user (student or learner), and a server according to the present invention. The instructor stores the system of the present invention in a server, and the user accesses the server using the Internet or a network, runs the system of the present invention, constructs an electronic circuit for experiments, and stores the electronic circuit used in the experiment in the server. do. The instructor accesses the server after the learner ends the experiment and checks the electronic circuits saved by the learner.

각각의 교수자, 사용자, 서버간에 주고받는 신호에 대해 알아보면 다음과 같다.The signals sent and received between each instructor, user, and server are as follows.

S1신호는 교수자가 서버에 실험에 사용되는 반도체 칩 또는 실험의 인터페이스에 맞추어 실험시스템에 추가하거나 학습자가 서버에 저장한 파일을 요구하는 신호이다.The S1 signal is a signal that the instructor adds to the experimental system in accordance with the semiconductor chip used in the experiment or the interface of the experiment or requests a file stored by the learner in the server.

S2신호는 사용자가 인터넷을 통해 서버에 실험시스템을 실행하도록 요구하거나 실험에 사용된 회로를 저장하는 신호이다.The S2 signal is a signal for requesting the user to run the experiment system through the Internet or storing the circuit used in the experiment.

S3신호는 사용자의 요구에 의한 신호로 실험시스템을 학습자의 컴퓨터로 보내지는데이터이다.The S3 signal is a data transmitted to the learner's computer by the user's request signal.

S4신호는 교수자의 요구에 의한 신호로 사용자가 저장한 전자회로를 교수자의 컴퓨터로 전송하는 데이터이다.The S4 signal is a signal requested by the instructor and transmits the electronic circuit stored by the user to the instructor's computer.

전체적인 시스템은 서버가 사용자와 교수자간에 연결되어 실험시스템을 실행시키고 파일을 저장하고 교수자 및 사용자가 요구한 신호에 맞는 데이터를 각각에 전달하는 구조로 되어있으며, 간략히 크게 5단계로 이루어지는데 도2는 상기의 간략화 한 5단계를 도시화한 것으로 각 단계별로 설명을 하면 다음과 같다.The overall system has a structure in which a server is connected between a user and an instructor to execute an experimental system, store a file, and transmit data corresponding to a signal required by the instructor and the user to each other. The above five simplified steps are illustrated and described for each step as follows.

1단계는 전자회로 실험을 위해 인터넷 또는 독립된 컴퓨터(이하 '로컬컴퓨터'라 함)에서 시스템을 실행하는 단계로 사용자의시스템 실행신호에 따라 실행한 데이터를 메모리에 저장하고 학습자의 모니터에 전자회로를 구성하는 화면을 표시하는 단계이다.In the first step, the system is executed on the Internet or an independent computer (hereinafter referred to as a 'local computer') for experimenting with electronic circuits. The data executed according to the user's system execution signal is stored in a memory and the electronic circuit is stored on the learner's monitor. This step displays the screen to configure.

2단계는 학습자가 전자회로 실험에 필요한 회로를 구성하는 단계이며, 상기의 방법에는 두 가지 방법이 있으며 첫 번째는 사용자가 새롭게 회로를 구성하는 것이고, 다른 하나는 이미 로컬컴퓨터 혹은 서버컴퓨터에 저장되어 있는 전자회로를 로드하여 회로를 수정하거나 확장하는 단계이다.In the second step, the learner constructs the circuit necessary for the experiment of the electronic circuit. There are two methods of the above method. The first is the user constructing the new circuit, and the other is already stored in the local computer or server computer. The process of modifying or expanding a circuit by loading an electronic circuit.

3단계는 2단계에서 구성한 회로를 테스트(시뮬레이션)하는 단계로서 시스템에서 제공되는 멀티미디어 소자들을 이용하거나 로직어널라이저 기능을 가지고 있는 트레이서(tracer) 소자 등을 이용하여 테스트를 수행한다.The third step is to test (simulate) the circuit configured in the second step. The test is performed by using a multimedia device provided by the system or a tracer device having a logic analyzer function.

4단계는 3단계에서 테스트된 결과를 이용하여 문제가 있는 회로를 수정하는디버깅(debugging)단계로 3단계에서 회로의 테스트 중에 아무런 문제를 야기하지 않았다면 수행하지 않아도 되는 단계이다.Step 4 is a debugging step in which the problem circuit is corrected by using the results tested in step 3. If step 3 does not cause any problems during the test of the circuit, it is not necessary to perform it.

5단계는 3단계 또는 4단계에서 원하는 결과를 확인하고 실험한 전자회로를 로컬컴퓨터의 하드디스크나 서버의 하드디스크에 저장하는 단계이다.Step 5 is to check the desired result in step 3 or 4 and to store the experimental electronic circuit in the hard disk of the local computer or the hard disk of the server.

도 2a는 본 발명에 따른 전체적인 장치 블록도이다.2A is an overall device block diagram in accordance with the present invention.

도면에 나타낸 블록에 대하여 설명을 하면 다음과 같다.Referring to the block shown in the drawings as follows.

GUI 부(11) : 그래픽을 통한 사용자와의 인터페이스를 담당하는 부분으로 사용자가 시스템을 사용하면서 일어나는 모든 이벤트를 처리하는 이벤트 처리기부(1)와 프로세서로부터 정보를 받아 사용자에게 관련정보를 보여주는 역할을 하는 화면 표시부(2)가 있다.GUI part 11: It is a part that is in charge of the interface with the user through the graphic, the event handler part 1 which processes all events occurring while the user uses the system and receives information from the processor and shows the related information to the user. There is a screen display unit 2.

반도체 칩/라인생성 부(3) : 반도체 칩 및 라인을 생성하는 부분으로 반도체 칩 생성이벤트나 라인 그리기 이벤트 등이 발생하게되면 반도체 칩이나 라인을 생성하여 회로를 설계하는 회로설계부(4)에 관련정보를 제공한다.Semiconductor chip / line generation unit 3: A portion for generating semiconductor chips and lines. When a semiconductor chip generation event or a line drawing event occurs, the semiconductor chip / line generation unit 3 is related to the circuit design unit 4 for designing a circuit by generating a semiconductor chip or line. Provide information.

회로설계부(4) : 생성된 반도체 칩을 이용하여 임의의 회로를 설계한다.Circuit design section 4: Designs an arbitrary circuit using the generated semiconductor chip.

ERC(Electric Rule Checker)부(5) : 설계된 회로의 전기적인 규칙들을 검사하는 부로 에러가 없을 경우 각 반도체 칩의 연결관계를 설정하고 프로세서부에 이에 대한 정보를 제공한다.ERC (Electric Rule Checker) part 5: This part checks the electrical rules of the designed circuit. When there is no error, the ERC (Connection Rule Checker) part sets the connection relationship of each semiconductor chip and provides information on the processor part.

I/O 프로세서부(6) : I/O(Input/Output) 프로세서부에 파일의 읽기/쓰기 및 프린트 기능을 수행한다.I / O processor unit 6: performs file read / write and print functions in the I / O (input / output) processor unit.

네트워크부(7) : 서버와 연결하여 서버에 저장된 파일의 읽기/쓰기 기능을 수행한다.Network unit 7: Connects to server and reads / writes files stored in server.

복사방지부(8) : 복사 방지기능을 가지는 장치로 I/O 프로세서부와 연결되어 설계된 파일의 ID와 이름을 수정할 수 없도록 하여 타인이 파일을 복사하거나 수정할 수 없도록 잠금 기능을 제공한다.Copy protection unit (8): It is a device having a copy protection function to provide a lock function so that others cannot copy or modify the file by modifying the ID and name of the file designed in connection with the I / O processor.

프로세서부(9) : 시뮬레이션시 각 소자의 입력에 따른 출력 값을 계산하여 결과 값을 GUI부를 이용하여 사용자에게 디스플레이한다.Processor unit 9: In the simulation, the output value according to the input of each device is calculated and the result value is displayed to the user using the GUI unit.

서버(10) : 클라이언트의 네트워크부와 연계하여 파일의 저장과 로드 및 클라이언트로 프로그램 전송한다.Server 10: In association with the network portion of the client stores and loads files and transmits the program to the client.

반도체 칩 추가부(12) : 반도체 칩을 추가 할 수 있는 것으로 사용자가 일정한 인터페이스만 구현해 주면 사용자가 원하는 반도체 칩을 쉽게 시스템에 추가 또는 제거한다Semiconductor chip adder 12: A semiconductor chip can be added, and if a user implements only a predetermined interface, the user can easily add or remove a semiconductor chip desired by the system.

따라서 본 발명은 상기와 같은 블록의 장치들이 서로 연계하여 본 발명의 시스템을 동작한다.Therefore, the present invention operates the system of the present invention in conjunction with the devices of the above block.

상기와 같은 시스템들은 보통 이벤트(event)에 의해서 시스템이 구동되는데, 본 발명의 시스템도 이러한 이벤트에 의해서 이루어지는 것으로 크게 반도체 칩의 생성 이벤트, 라인(선)이 생성 이벤트, 전자회로의 저장/로드 이벤트, 시스템의 시작/종료 이벤트, 인쇄 이벤트로 구동이 된다. 상기의 이벤트는 모드에 따라 달라지는데, 일 실시예로 라인 그리기 이벤트가 실행이 되면, 반도체 칩의 생성 이벤트는 동작을 하지 않는 것으로 다음과 같은 모드로 구성되어 있다.Such a system is usually driven by an event, the system of the present invention is also made by such an event, the generation event of the semiconductor chip, the generation event of the line (line), the storage / load event of the electronic circuit It is driven by system start / end and print events. The above-described event varies depending on the mode. In one embodiment, when the line drawing event is executed, the generation event of the semiconductor chip is not operated and is configured in the following modes.

기본모드 : 회로설계시 소자의 이동, 복사, 삭제 등을 수행할 수 있는 모드이다. 시스템에서 cancel 버튼이 눌리거나, 마우스 오른쪽 버튼을 더블 클릭되거나, 소자 생성버튼이 클릭되면 무조건 기본 모드로 설정된다.Basic mode: It is a mode that can move, copy, and delete elements when designing a circuit. If the cancel button is pressed on the system, the right mouse button is double-clicked, or the device creation button is clicked, it is set to the default mode.

선 그리기 모드 : 시스템에서 선 그리기 버튼(wire 버튼)이 눌리면 설정되는 모드로, 소자들 간에 선을 이용하여 연결 할 수 있는 모드이다.Line drawing mode: This mode is set when the line drawing button (wire button) is pressed in the system. It is a mode that can be connected by using lines between devices.

도움말 모드 : 시스템에서 사용되는 소자에 대한 도움말을 볼 수 있는 모드로서 상단에 있는 물음표 버튼(? 버튼)이 눌리면 설정되는 모드로, 상기의 모드에서 특정 소자가 클릭되면 해당 소자에 대한 도움말 윈도우를 생성한다.Help Mode: This mode is used to view the help for the device used in the system. It is set when the question mark button (? Button) on the top is pressed. When a specific device is clicked in the above mode, a help window for the device is created. do.

마우스가 클릭되면 오른쪽 버튼인지 왼쪽 버튼인지를 검사하여 오른쪽 버튼이면 이벤트 발생신호를 기다리고, 왼쪽 버튼이면 더블클릭인지를 검사하여 더블클릭이면 기본모드로 설정이 된다.If the mouse is clicked, it checks whether it is the right button or the left button, and if it is the right button, it waits for the event signal, and if it is the left button, it checks whether it is a double click.

도 3과 도 3a는 각각 시스템을 실행시키는 방법에 있어서, 도3은 인터넷을 이용하여 시스템을 실행시키는 방법의 데이터 흐름도이고, 도3a는 클라이언트 단독으로 시스템을 실행시키는 데이터 흐름도이다.3 and 3A respectively show a method of executing a system, FIG. 3 is a data flowchart of a method of executing a system using the Internet, and FIG. 3A is a data flowchart of executing a system by a client alone.

인터넷을 이용하여 시스템을 실행시키는 경우에는 먼저 클라이언트로부터 프로그램 실행요구신호(31)가 서버에 수신(32)되어지면 서버에서는 상기 신호에 따라 프로그램을 실행시킬 수 있는 클래스 전송을 요구하고 서버는 이에 응답과 함께 프로그램 클래스를 클라이언트에 전송(33)한다. 클래스를 수신(34)한 클라이언트는 자신의 메모리에 클래스를 저장(35)한 후 모든 클래스를 수신(36)하면 자바 버츄얼머신(Java Virtual machine)을 이용(37)하여 프로그램을 실행(38)시켜 사용자의 모니터에 표시(39)하여주고 클래스가 모두 수신되지 않으면 서버에 다시 클래스 전송을 요구하게 된다. 상기의 과정에서 클래스(class)란 자바의 언어로 머신을 실행하는 파일이름으로 시스템을 실행하는 파일이다. 하기에서 설명할 본 발명의 실시예에서, 자바 언어로 작성한 예를 설명하였기에 상기 과정에서 클래스라는 파일이름을 사용하였으며, 이로 인하여 본 발명의 권리범위가 축소되거나 한정되지 아니한다.In the case of executing the system using the Internet, when a program execution request signal 31 is received from the client 32 at the server, the server requests a class transfer capable of executing a program according to the signal, and the server responds. The program class 33 is then sent to the client. The client receiving the class (34) stores the class in its memory (35) and then receives all the classes (36) and executes the program (38) using a Java virtual machine (37). If it displays 39 on the user's monitor and class is not received, it requests class transfer to server again. In the above process, a class is a file that executes a system with a file name that executes a machine in Java language. In the embodiment of the present invention to be described below, since the example written in the Java language has been described, a file name of class is used in the above process, and thus the scope of the present invention is not reduced or limited.

단독 응용프로그램으로 실행시킬 경우에는 사용자가 프로그램을 실행(31a)시키면 컴퓨터의 프로세서는 해당 프로그램의 클래스를 메모리에 저장(32a)한 후 자바 버츄얼 머신(Java virtual machine, 33a)을 이용하여 시스템을 실행(34a)시켜 사용자의 모니터에 실행화면을 표시(35a)하여 시스템이 실행(36a)하게 된다.When running as a standalone application, when the user executes the program (31a), the processor of the computer stores the class of the program in memory (32a) and then runs the system using a Java virtual machine (33a). 34a, the execution screen is displayed on the user's monitor 35a, and the system executes 36a.

본 발명에서 반도체 칩의 모델링은 객체 지향적인 방법을 이용하여 구현되었다. 먼저 반도체 칩을 설명하기에 앞서 상기의 반도체 칩은 논리 소자들의 결합체로 이루어져 있으므로 상기의 논리 소자(이하 "소자"라 간략함)에 대하여 먼저 설명을 하면, 본 발명에서 소자는 입력과 출력을 나타내기 위해 입력핀과 출력핀 그리고 상기 입/출력핀의 논리 값을 결정하는 심볼(Symbol)로 구현이 되는데 데 입력핀은 관찰자(Observer)가 되고 출력핀은 피관찰자(Observable) 객체가 된다. 즉, 입력핀은 자신과 연결되어 있는 출력핀을 관찰하고 있다가 출력핀 값이 변화하면 변화된 값을 심볼에게 알려준다. 입력핀에서 변화된 값을 심볼에서 알리면 심볼은 입력 값을이용하여 자신의 값을 새롭게 계산하고 계산된 값을 출력핀의 놀리 값과 비교한다. 상기 비교된 값이 서로 상이 할 때에는 출력핀의 논리 값을 계산된 값으로 변경한다. 상기와 같이 값이 디지털 논리 소자의 입력과 출력 그리고 소자에 대한 상태 값을 계산할 수 있는 심볼 객체를 이용하여 소자를 모델링 하면 새로운 객체를 추가시킬 경우에 입/출력과 심볼 객체에 대한 인터페이스를 정의만 해주면 사용자가 원하는 소자를 쉽게 추가 할 수 있다.In the present invention, modeling of the semiconductor chip is implemented using an object-oriented method. First of all, before describing the semiconductor chip, since the semiconductor chip is composed of a combination of logic elements, the logic element (hereinafter, simply referred to as “element”) will be described first. In the present invention, an element represents an input and an output. In order to make a payment, the input pin and the output pin and the input / output pin are implemented as a symbol. The input pin becomes an observer and an output pin becomes an observer object. That is, the input pin observes the output pin connected to itself and then informs the symbol of the changed value when the output pin value changes. When the symbol informs the user of the changed value on the input pin, the symbol uses the input value to calculate its new value and compares the calculated value with the nominal value of the output pin. When the compared values differ from each other, the logic value of the output pin is changed to the calculated value. When modeling a device using a symbol object whose value can calculate the input and output of the digital logic device and the state value of the device, the interface for the input / output and the symbol object is defined only when a new object is added. You can easily add the device you want.

하기의 소스는 상기와 같이 객체 지향적인 소자를 구현하기 위해 자바언어로 구현한 소스를 나타낸 것이다.The following source shows the source implemented in the Java language to implement the object-oriented device as described above.

-출력핀을 구현한 예-Example of implementing output pin

class OutPin extends Observableclass OutPin extends Observable

{{

Symbol mother;// 이 출력핀을 포함하고 있는 심볼Symbol mother; // symbol containing this output pin

int state;// 이 출력핀 현재상태값int state; // current value of this output pin

int state2;// 이 출력핀 다음상태값int state2; // state value of this output pin

OutPin(int i, Symbol s)OutPin (int i, Symbol s)

{ state = i;{state = i;

state2 = i;state2 = i;

mother = s; }mother = s; }

public void fixedoutport()public void fixedoutport ()

{{

if (state != state2)if (state! = state2)

{ state = state2;{state = state2;

setChanged();setChanged ();

notifyObservers(this); }notifyObservers (this); }

public void setstate2(int s)public void setstate2 (int s)

{state2 = s;{state2 = s;

}................} ......

}}

-입력핀을 구현한 예-Example of implementing an input pin

class InPin implements Observerclass InPin implements Observer

{{

Symbol mother;// 이 입력핀을 포함하고 있는 심볼(소자)Symbol mother; // symbol that contains this input pin

int state;// 이 입력핀 값int state; // value of this input pin

OutPin inconnto; // 이 입력핀이 연결되어 있는 심볼(소자)의 출력핀OutPin inconnto; // output pin of the symbol (device) to which this input pin is connected

InPin(int i, Symbol s)InPin (int i, Symbol s)

{{

state = i;state = i;

mother = s; }mother = s; }

public void update(Observable o, Object arg)public void update (Observable o, Object arg)

{state = ((OutPin)arg).state;{state = ((OutPin) arg) .state;

mother.calcfunc(this);// 이 입력핀을 포함하고 있는 심볼의 calcfunc() 호출mother.calcfunc (this); // call calcfunc () of the symbol containing this input pin

}}

-소자의 중심이 되는 심볼을 구현한 예-Example of implementing the symbol that is the center of the device

class XXX extends Symbolclass XXX extends Symbol

{int delta=1;// delay{int delta = 1; // delay

XXX ()XXX ()

{// 디폴트 생성자{// default constructor

}}

public void setup(String subpara)public void setup (String subpara)

{// subpara 스트링을 파싱(parsing)하여 각 서브파라미터들을 얻은 후{// Parsing the subpara string to get each subparameter

// XXX 클래스의 멤버변수들 값을 설정. }// Set member variables of XXX class. }

public String getsubpara()public String getsubpara ()

{// 서브파라미터들을 모아 하나의 스트링으로 만들어 반환. }{// Gathers the subparameters into a string and returns. }

public void calcfunc(InPin inpin)public void calcfunc (InPin inpin)

{// 입력핀 객체 inpin의 값이 변경되었을 때 수행되는 소자의 동작을 기술.{// Describes the operation of the device when the value of the input pin object inpin changes.

// 출력핀중 값이 변화된 출력핀 out[i]는 아래 루틴 수행.// Output pin out [i] whose value is changed among the output pins executes the following routine.

// out[i].setstate2( z );// out [i] .setstate2 (z);

//scheduler.add(delta, out[i]); }//scheduler.add(delta, out [i]); }

public void drawself(Graphics2D g2)public void drawself (Graphics2D g2)

{// 소자의 모양을 그리는 루틴. }{// Routine to draw the shape of the device. }

public Symbol makebaby()public Symbol makebaby ()

{// 새로운 XXX 객체를 생성한 후 각 서브파라미터들을 복사함으로써 동일한 사본 객체를 만들어 반환.{// Creates a new XXX object and copies each subparameter to create and return the same copy object.

}}

}}

생성소자는 모든 소자들을 모아놓는 벡터 클래스 변수 allsymbols에 추가되어 관리된다. 상기의 코드는 객체 지향적으로 디지털 소자를 모델링하기 위해 사용된 코드로 객체 지향적인 언어라면 어떠한 언어로도 구현할 수 있으며 본 발명에서는 자바 언어를 이용하여 나타내었다.The generator is managed in addition to the vector class variable allsymbols, which collects all the elements. The above code is a code used for modeling a digital device in an object-oriented manner, and may be implemented in any language as long as it is an object-oriented language, and is represented using the Java language in the present invention.

새로운 소자를 추가할 경우에는 심볼 객체에서 소자의 모양을 그려주는 함수(drawself())와 소자의 입력 값을 이용하여 논리적인 값을 계산하는 함수(calcfunc()), 객체 생성시에 필요한 각종 변수를 설정하기 위한함수(getsubpara(), setup()), 같은 소자를 복사할 수 있는 함수(makebaby()) 등을 구현하게 되면 소자를 추가해 줄 수 있다.When adding a new device, a function that draws the shape of the device from the symbol object (drawself ()), a function that calculates a logical value using the input value of the device (calcfunc ()), and various variables required when creating the object If you implement a function (getsubpara (), setup ()), a function to copy the same device (makebaby ()), etc., you can add a device.

도 4는 상기와 같이 구성된 입력핀과 출력핀 그리고 심볼을 모델링 한 도면이다. 반도체 칩은 소자들의 결합체(하기에서 설명함)로 이루어져 있으므로 반도체 칩을 설명하는 것보다는 입/출력핀과 상기 입/출력핀의 논리 값을 결정하는 심볼로 구성이 되는 소자를 설명하는 것이 바람직하여 소자에 대하여 설명한다.4 is a diagram modeling an input pin, an output pin, and a symbol configured as described above. Since the semiconductor chip is composed of a combination of elements (described below), it is preferable to describe an element composed of an input / output pin and a symbol for determining a logic value of the input / output pin rather than describing the semiconductor chip. The device will be described.

입력핀(41)은 압단의 출력핀을 관찰하고 있다가 그 논리 값을 심볼(43)에 전달하며, 심볼(43)은 입력핀에서 전달 된 논리 값을 계산하여 출력핀(42)의 값을 바꾸어 준다. 다시 말해서, 관찰자의 역할을 하는 입력핀(41)과 피관찰자인 출력핀(42), 그리고 입력핀의 값을 계산하여 출력핀으로 계산된 값을 전달하는 심볼(43)을 가지고 있다. 입력핀과 출력핀의 수는 소자를 생성하는 사용자에 의하여 달라질 수 있다. 예를 들어 도 4에서는 입력핀과 출력핀의 수가 각각 2개와 1개로 이루어졌으나, 소자의 역할, 즉 입력핀의 입력신호에 따라 계산되어 출력하는 출력핀의 수가 심볼의 에 따라 달리 구성될 수 있으므로 입력핀과 출력핀의 수는 당업자에 따라 변경될 수 있다.The input pin 41 observes the output pin of the pressing and transmits the logic value to the symbol 43. The symbol 43 calculates the logic value transmitted from the input pin to calculate the value of the output pin 42. Change it. In other words, it has an input pin 41 that serves as an observer, an output pin 42 that is an observer, and a symbol 43 that calculates the value of the input pin and transfers the calculated value to the output pin. The number of input pins and output pins can vary depending on the user creating the device. For example, in FIG. 4, the number of input pins and output pins is 2 and 1, respectively, but the number of output pins calculated according to the role of the device, that is, the output signal of the input pin and output may be configured differently according to the symbol. The number of input pins and output pins can be changed by those skilled in the art.

도 4a는 소자들을 하나의 단위로 묶어서 생성된 반도체를 도면화 한 것이다.4A is a diagram illustrating a semiconductor formed by grouping devices into one unit.

입력핀(41(1A, 1B, 2A, 2B, 3A, 3B, 4A, 4B))과 출력핀(42(1Y, 2Y, 3Y, 4Y))과 상기 입력 값을 계산하여 출력의 값을 바꾸는 심볼(43)의 4개의 소자가 결합하여 하나의 반도체 칩을 완성한다. 즉 반도체 칩은 여러 개의 소자가 결합하여 생성된 소자의 집합체이다. 상기와 같이 이루어진 반도체 칩(이하 '칩'이라 간략화 함)을 본 발명에서 사용한다.Symbol that changes the value of the output by calculating the input pins 41 (1A, 1B, 2A, 2B, 3A, 3B, 4A, 4B) and the output pins 42 (1Y, 2Y, 3Y, 4Y) and the input values Four elements of 43 are combined to form one semiconductor chip. In other words, a semiconductor chip is a collection of devices formed by combining several devices. A semiconductor chip made as described above (hereinafter, simply referred to as 'chip') is used in the present invention.

도 5는 발명에서 칩을 화면에 표시하는 흐름도를 나타낸 것이다.5 is a flowchart illustrating a display of a chip on a screen according to the present invention.

칩을 생성하는 버튼이 클릭(S51)되면, 해당되는 칩의 데이터베이스에서 상기 칩을 검색(S52)한다. 예를 들어 TTL반도체 칩의 0이 생성되는 버튼이 클릭되면 74LS00의 반도체 칩을 검색하고, 상기 검색된 칩은 메모리에 로드(S53)하고, 상기 칩은 브레드보드상의 좌측 상단에 디스플레이(S54)한다.When the button for generating a chip is clicked (S51), the chip is searched for in the database of the corresponding chip (S52). For example, when a button for generating zero of a TTL semiconductor chip is clicked, a semiconductor chip of 74LS00 is searched, the found chip is loaded into a memory (S53), and the chip is displayed on the upper left side of the breadboard (S54).

칩의 종류에는 TTL이 있으며 7SEG(A, K)와 트레이서(TRACER)등도 도 5의 흐름도에 따라 디스플레이된다.There are TTL types of chips, and 7SEG (A, K) and tracer (TRACER) are also displayed according to the flowchart of FIG.

도5a는 도4에서 디스플레이된 소자가 사용자의 위치 조정에 따라 상기의 위치를 변경하려고 할 때의 칩의 위치를 지정하는 흐름도이다.FIG. 5A is a flowchart for designating the position of the chip when the element displayed in FIG. 4 attempts to change the position according to the user's position adjustment.

본 발명은 브레드보드를 컴퓨터 상에서 실현 할 수 있도록 구현한 것이기 때문에 칩의 위치가 브레드보드상의 위치 할 수 없는 위치에 사용자가 디스플레이된 칩을 이동하였을 경우에는 상기 칩을 이동하기전의 위치로 환원하는 방식을 채택하고 있다. 다시 말하면 칩이 위치 할 수 없는 부분으로 이동하였을 경우에는 상기 칩을 본래의 위치로 이동함으로서 칩의 위치를 지정 할 수 있도록 하였다. 도5a에 표시된 흐름도에 따라 설명을 하면 사용자는 이동하고자하는 칩을 클릭(S5a_1)하면, 시스템은 상기 칩을 활성화(S5a_2)시킨다. 상기 활성화된 칩을 사용자는 마우스를 드레그(S5a_3)하여 위치하고자 하는 위치로 이동하여 마우스의 버튼을 놓는다 (S5a_4). 시스템에서는 상기 위치를 검색(S5a_5)하여 상기의 위치가 칩이 놓일 수 있는 위치이면 상기의 위치에서 이동된 칩을 디스플레이(S5a_7)하며 만약 마우스 버튼이 놓여진 위치가 상기 칩이 위치할 수 없는 위치이면 상기 칩은 이동하기 전의 위치로 환원(S5a_6)한다. 이는 칩의 오프라인에서 이루어지는 전자회로 실험을 하는 과정과 동일하며 오프라인에서도 칩의 핀 부분과 브레드보드의 핀이 접합되는 홀과 서로 일치하지 아니 할 때는 칩이 브레드보드 판에 맞춰지지 않는 것과 같은 원리이다. 오프라인 상에서는 상기와 같은 상황에서 사용자가 임의의 힘을 가하여 칩을 브레드보드에 맞추는 경우에는 칩의 핀이 구부러지거나 부러지는 경우가 발생하나, 본 발명의 시스템을 이용하면 상기의 문제점을 해결할 수 있으며, 브레드보드의 내부 오류에 따른 칩의 과전류나 상기 칩을 사용자가 다루면서 발생하는 기타 충격에 대하여 전혀 장애를 받지 않는 특성이 있다.Since the present invention implements a breadboard on a computer, when the user moves the displayed chip to a position where the chip cannot be positioned on the breadboard, the chip is returned to the position before the movement. Is adopted. In other words, when the chip is moved to the position where it can not be located, it is possible to specify the location of the chip by moving the chip to the original position. Referring to the flowchart shown in FIG. 5A, when the user clicks on a chip to be moved (S5a_1), the system activates the chip (S5a_2). The user drags the mouse to the position to be located by dragging the mouse (S5a_3) and releases the mouse button (S5a_4). The system searches for the position (S5a_5) and displays the chip moved from the position if the position is a position where the chip can be placed (S5a_7). The chip is reduced (S5a_6) to the position before the movement. This is the same as the process of experimenting with electronic circuits performed off-line, and it is the same principle that the chip does not fit on the breadboard board unless it coincides with the hole where the pin part of the chip and the pin of the breadboard are joined. . In the offline situation, when the user applies a random force to fit the chip on the breadboard, the chip pins may be bent or broken, but the above problem may be solved by using the system of the present invention. The chip is not disturbed by the overcurrent of the chip due to the internal error of the breadboard or other shocks caused by the user's handling of the chip.

칩을 생성 후에는 각 칩들의 연결을 통해서 각각의 칩들에 대해서 연계관계가 되도록 설정하여 주어야 하는데 본 발명에서 각 칩들의 연결은 마우스에 의해서 칩을 연결 할 수 있도록 구성하였다. 상기에서 본 발명의 칩은 소자들의 결합으로 이루어진 소자들의 집합체로서 칩으로 설명을 하여도 무관하나 더 작은 단위인 소자를 설명하는 것이 더 쉽게 설명되어 질 수 있으므로 마우스에 의한 소자의 연결과 시뮬레이션에 대한 설명은 소자에 대하여 설명을 한다.After the chip is generated, it should be set to be linked to each chip through the connection of each chip in the present invention, the connection of each chip is configured to connect the chip by a mouse. In the above, the chip of the present invention is a collection of devices consisting of a combination of devices. However, it may be easier to describe a device that is a smaller unit, although it may be described as a chip. The description describes the device.

마우스에 의한 선 연결은 도 5b에 나타내었다. 선 연결을 위해 서는 먼저 시스템에서 선 그리기(LINE) 버튼이 클릭 되어야한다. 선 그리기 버튼이 클릭되면 시스템은 선 그리기 모드가 되면서 마우스 오른쪽 혹은 왼쪽 버튼을 클릭하는 것에 의해 선을 연결하게 된다. 먼저 시스템에서 이벤트가 발생되면 선 그리기 모드가 실행되면 먼저 오른쪽 마우스 클릭인지 왼쪽마우스 클릭인지를 검사(S61, S62)한다.Line connections by mice are shown in Figure 5b. To connect a line, the LINE button must first be clicked on the system. When the line drawing button is clicked, the system enters the line drawing mode and connects the lines by clicking the right or left mouse button. First, when an event occurs in the system, when the line drawing mode is executed, it is first checked whether it is a right mouse click or a left mouse click (S61, S62).

왼쪽버튼이면 카운터가 0 인지 아닌지를 검사(S61_1)하는데, 카운터의 값이 0 이면 첫 번째 시작점을 그리고(S71_2) 카운터를 1 증가(S61_3)시킨다. 카운터가 0이 아니면 선 그리기 모드에서 선을 그리기를 하는 상태이므로 클릭직전의 점과 현재의 점을 연결(S61_4)한다. 버튼이 눌러졌을 경우에 오른쪽버튼(S62)이면 두 번 연속으로 오른쪽 버튼이 눌러졌는지를 검사(S62_1)하고 한번만 눌러 졌으면 카운트의 값을 0으로 세팅(S62_2)하며, 현재의 선 연결을 종료(S62_3)한다. 이 상태에서 선 그리기 모드는 계속 유지가 되는 것이다. 오른쪽 버튼이 연속으로 눌러지게 되면 그리는 중의 선 연결을 종료(S62_4)하고, 카운터의 값을 0으로 세팅하고 선 그리기 모드를 해제하고 종료(S62_5)한다.The left button checks whether the counter is 0 (S61_1). If the counter value is 0, the first start point is drawn (S71_2) and the counter is incremented by 1 (S61_3). If the counter is not 0, the line is drawn in the line drawing mode, so the point immediately before the click is connected to the current point (S61_4). If the button is pressed, the right button (S62) checks whether the right button has been pressed twice in succession (S62_1). If the button is pressed once, the count value is set to 0 (S62_2), and the current line connection is terminated (S62_3). )do. In this state, the line drawing mode is maintained. When the right button is pressed continuously, the line connection while drawing is terminated (S62_4), the value of the counter is set to 0, the line drawing mode is released, and the operation is terminated (S62_5).

상기의 선 그리기 모드가 해제되면 마우스의 왼쪽버튼이 눌리어져도 선을 연결하지 않는다.When the line drawing mode is released, the line is not connected even if the left button of the mouse is pressed.

상기와 같은 소자의 생성이나 상기 소자들을 연결하는 선 그리기 작업을 통해서 하나의 전자회로를 구성하면 그에 따른 시뮬레이션을 실시하게 되는데, 시뮬레이션 하는 과정은 다음과 같다.If one electronic circuit is configured through the generation of the device or the line drawing to connect the devices, the simulation is performed accordingly. The simulation process is as follows.

시뮬레이션은 스케쥴러(하기에서 설명함)에 의해 이루어지는데 먼저 소자의 입력핀 값이 변하면 입력핀은 소자의 본체가 되는 심볼에 입력 값이 변한 것을 알려주게 되고 이를 확인한 심볼을 입력 값에 의한 논리적인 결과 값에 의해 출력핀에게 계산된 값과 비교하게 된다. 상기에서 서로 비교한 값이 다르면 심볼은 출력핀의 값을 바꾸도록 신호를 보내고 출력핀은 심볼에서 변화된 값으로 자신의 디지털 값을 바꾼다. 만약 심볼에서 출력핀과 비교하여 값이 동일하면 출력핀의 값은 변하지 않고 상기의 출력핀에 연결되어 있는 소자들의 시뮬레이션은 멈추게 된다. 이러한 시뮬레이션이 가능한 것은 소자를 모델링에서 입력핀과 출력핀 그리고 소자의 몸체가 되는 심볼 객체로 독립적으로 동작할 수 있도록 객체 지향적으로 모델링 되었기 때문이다. 시뮬레이션 역시 칩으로 설명을 하여도 무관하나 칩 또한 소자들의 집합체이므로 더 작은 단위인 소자로 설명을 한다.The simulation is performed by the scheduler (described below). First, when the input pin value of the device changes, the input pin informs the user that the input value has changed in the symbol that is the main body of the device. The value is compared to the calculated value for the output pin. If the values compared with each other are different, the symbol signals to change the value of the output pin, and the output pin changes its digital value from the symbol to the changed value. If the symbol has the same value compared to the output pin, the value of the output pin does not change and the simulation of the devices connected to the output pin is stopped. This simulation is possible because the device is modeled in an object-oriented manner so that the device can operate independently as an input pin, an output pin, and a symbol object that becomes the body of the device. Simulation can also be described as a chip, but since a chip is also a collection of devices, it is described as a smaller unit.

회로를 설계한 후 시뮬레이션 되는 구체적인 절차는 다음 도 6에서 설명한다.A detailed procedure simulated after the circuit design is described in FIG. 6.

도 6은 상기와 같이 조합된 소자를 연결하여 회로를 설계하였을 경우에 시뮬레이션이 되는 과정을 살펴보면, 먼저 본 발명의 브레드보드 시스템은 오프라인에서 사용하는 브레드보드와 흡사하게 설계를 하였다. 종래의 브레드보드 기기 판에 칩을 설치하고 선을 연결한 상태에서 전원을 인가하면 상기의 상태에서 칩을 브레드보드 기기 판에서 제거하거나 선을 제거하는 작업을 수행하면 칩이 손상을 입을 염려가 있으므로 본 발명에서도 전원을 인가한 상태에서 칩을 제거하거나 선을 제거하지 못하도록 하는 작업을 수행한다. 시뮬레이션을 시작하기 위해서는 전원이 인가되었나를 검색(S71)하고 전원이 인가되어 있으면 칩 및 선이 이동 즉, 회로가 변경되는 작업(S71_1)을 수행하지 못하도록 한다FIG. 6 illustrates a simulation process when a circuit is designed by connecting a combination of the above elements. First, the breadboard system of the present invention is designed to be similar to a breadboard used offline. If the chip is installed on the breadboard device board and the power is applied while the wire is connected, the chip may be damaged if the chip is removed from the breadboard device board or the wire is removed in the above state. In the present invention, the operation is performed to prevent the chip from being removed or the wire from being removed while the power is applied. In order to start the simulation, it is detected whether power is applied (S71), and when the power is applied, the chip and line are moved, that is, the circuit is not changed (S71_1).

다음으로 시뮬레이션 절차는 다음과 같다Next, the simulation procedure is as follows.

첫 번째 단계에서는 기존의 선(LINE)간 연결 정보를 모두 지우고 새로 모든 선들간의 연결 상태를 검사(S72)하게 된다. 즉, 모든 선에 대해서 선의 끝점이 다른 선의 선상에 있거나 다른 선의 끝점과 만나는 선들끼리 모아 선 그룹(S73)을 만든다. 여기서 선은 2개의 점 (x0,y0), (x1,y1)으로 정의되며, 색깔과 같은 부가적인 정보를 가질 수 있다.In the first step, all existing connection information between lines is deleted, and a new connection state between all lines is checked (S72). That is, for all the lines, a line group S73 is formed by gathering lines where the end points of the lines are on the lines of the other lines or meet the end points of the other lines. Here, the line is defined as two points (x0, y0) and (x1, y1) and may have additional information such as color.

두 번째 단계에서는 각 라인 그룹별로 연결된 소자들의 입력핀들과 출력핀들을 검사(S74)하여 라인 그룹에 출력을 제공하는 순수 출력핀을 찾는다.(S75, S76) 일반적으로 디지털 논리회로 소자의 핀들은 입력핀 또는 출력핀의 어느 하나로 고정되어 사용되나, 경우에 따라서는 입력 및 출력핀 기능을 겸하는 경우가 있다. 입력 및 출력을 겸하는 핀의 경우(S75_1) 회로도로부터 입력으로 쓰이는 것인지 출력으로 쓰이는 것인지를 구별하여야 한다. 따라서 먼저 라인 그룹에 연결된 순수 입력핀과 순수 출력핀 그리고 입출력 겸용 핀을 조사(S75_2, S75_4)하여, 만일 하나의 라인 그룹에 대해 순수 출력핀이 2개이상 연결되어 있는 경우(S76_2)에는 에러로 처리(S76_2)한다. 만일 순수 출력핀이 1개만 연결되어 있는 경우(S76)에는 이 순수 출력핀을 해당 라인 그룹의 진짜 출력핀으로 판단(S76_0)하며, 이 라인 그룹에 연결된 입출력 겸용 핀들은 모두 입력핀들로 판단(76_1)한다. 순수 출력핀이 하나도 연결되어 있지 않은 경우에는 입출력 겸용 핀의 개수를 조사(S75_2, S75_4)하여,만일 입출력 겸용 핀이 2개이상 연결되어 있는 경우에는 에러로 처리(S76_3)하고, 입출력 겸용 핀이 1개만 연결되어 있는 경우에는 이 입출력 겸용 핀을 순수 출력핀으로 판단(S75_5)하며, 입출력 겸용 핀이 하나도 연결되어 있지 않는 경우에는 이 라인그룹에 연결된 진짜 출력핀이 없는 것으로 판단(S75_3)한다.In the second step, the input pins and output pins of the devices connected to each line group are examined (S74) to find a pure output pin that provides an output to the line group (S75, S76). It is fixedly used as either a pin or an output pin, but in some cases it can also function as an input and output pin. In the case of a pin that serves as an input and an output (S75_1), it is necessary to distinguish whether it is used as an input or an output from the circuit diagram. Therefore, first check the pure input pin, pure output pin, and I / O pin connected to the line group (S75_2, S75_4). If two or more pure output pins are connected to one line group (S76_2), Process (S76_2). If only one pure output pin is connected (S76), the pure output pin is regarded as the real output pin of the corresponding line group (S76_0), and all the input / output pins connected to this line group are judged as input pins (76_1). )do. If none of the pure output pins are connected, check the number of I / O pins (S75_2, S75_4). If two or more I / O pins are connected, treat them as an error (S76_3). If only one is connected, the input / output pin is determined as a pure output pin (S75_5). If none of the input / output pins are connected, it is determined that there is no real output pin connected to this line group (S75_3).

세 번째 단계에서는 진짜 출력핀을 찾은 라인 그룹별로 진짜 출력핀과 입력핀들 사이의 관계를 설정해 준다. 즉, 진짜 출력핀(피관찰자)에 모든 입력핀들을 관찰자로 등록(S77)시킨다. 이렇게 함으로써 진짜 출력핀은 자신의 상태 값이 변할 경우 자신에게 등록된 모든 관찰자들에게 자신의 상태 값이 변했다는 사실을 알릴 수 있게 된다.The third step is to set the relationship between the real output pins and the input pins for each line group where the real output pins are found. That is, all input pins are registered as observers on the real output pin (observer) (S77). This allows the true output pin to notify all registered observers that it has changed its state value when its state value changes.

결론적으로 ERC 루틴은 소자 핀들의 연결관계를 파악하여 전기적인 에러를 검출하는 기능을 수행하며, 에러가 없을 경우 어떤 소자의 어떤 출력핀이 어떤 소자의 어떤 입력핀들로 연결되어 있는지에 대한 정보를 구축하는 기능을 수행한다. 이때 출력핀은 피관찰자 역할을 수행하여 개념적으로 볼 때 자신의 값이 변할 경우 자신에게 등록된 모든 관찰자 즉, 자신과 연결된 모든 입력핀들에게 이 사실을 알려 입력핀들의 값이 자신의 값과 같게 되도록 한다.In conclusion, the ERC routine performs the function of detecting the electrical error by detecting the connection of the device pins, and constructs information on which output pin of which device is connected to which input pin of which device if there is no error. It performs the function. At this time, the output pin plays the role of observer, and if its value changes in concept, it informs all observers registered to itself, that is, all input pins connected to it, so that the value of input pin is equal to its value. .

디지털 논리회로 소자는 일반적으로 자신의 입력핀 값이 변하면 특정한 논리기능을 수행하고 그에 따라 자신의 출력핀 값을 바꾸게 된다. 출력핀 값이 변하면 이 출력핀과 연결된 다른 소자의 입력핀 값이 변하게 되며, 따라서 디지털 논리회로에서 어느 한 소자의 출력핀 값이 변하게 되면 이와 연결된 모든 소자로 그 영향이 차례로 전파된다. 이와 같은 과정은 다음과 같은 스케쥴러의 개념을 도입하여 처리한다.Digital logic circuits generally perform specific logic functions when their input pin values change and change their output pin values accordingly. When the output pin value changes, the input pin value of the other device connected to this output pin changes. Therefore, when the output pin value of one device in the digital logic circuit changes, the influence propagates to all the connected devices in turn. This process is handled by introducing the following concept of scheduler.

먼저 스케쥴러(Scheduler)의 스케쥴러리스트(schedulerlist)는 출력핀(OutPin) 객체들이 처리시간 순서대로 연결된 리스트이다. 스케쥴러리스트에 출력핀 객체를 추가하기 위해서는 스케쥴러의 add 함수가 사용된다.First, the scheduler list (schedulerlist) of the scheduler is a list of output pin (OutPin) objects connected in order of processing time. To add an output pin object to the scheduler list, the add function of the scheduler is used.

아래 코드는 스케쥴러를 객체지향언어로 나타낸 것으로 여기서는 자바언어를 이용하여 표시하였다.The code below shows the scheduler in an object-oriented language, which is represented here using the Java language.

스케쥴러 코드Scheduler code

class Schedulerclass Scheduler

{{

LogicSimCanvas mother;Logic Sim Canvas mother;

int simtime = 0;int simtime = 0;

LinkedList schedulerlist;LinkedList schedulerlist;

Scheduler(LogicSimCanvas m)Scheduler (LogicSimCanvas m)

{{

mother = m;mother = m;

schedulerlist = new LinkedList();schedulerlist = new LinkedList ();

}}

public void startscheduler()public void startscheduler ()

{{

while (schedulerlist.size()>0)while (schedulerlist.size ()> 0)

{SchedulerNode temp_node = (SchedulerNode) (schedulerlist. removeFirst());{SchedulerNode temp_node = (SchedulerNode) (schedulerlist. RemoveFirst ());

simtime = temp_node.time;simtime = temp_node.time;

((OutPin)(temp_node.object)).fixedoutport();((OutPin) (temp_node.object)). Fixedoutport ();

}}

}}

simtime = 0;// 초기화simtime = 0; // initialize

}}

public void add(int delta, Object o)public void add (int delta, Object o)

{SchedulerNode newnode = new SchedulerNode(simtime+delta, o);{SchedulerNode newnode = new SchedulerNode (simtime + delta, o);

schedulerlist.add(newnode);// 시간순서에 따라 삽입schedulerlist.add (newnode); // Insert according to chronological order

}}

스케쥴러는 스케쥴러리스트가 빌 때까지 출력핀 객체들을 하나씩 차례로 꺼내어 출력핀 객체의 fixedoutport 함수를 호출한다. 출력핀 객체의 fixedoutport 함수에서는 자신의 현재상태값(state)과 다음상태값(state2)을 비교하여 다를 경우 다음상태값을 현재상태값에 저장하고 notifyObservers 함수를 이용하여 자신에게 등록되어 있는 모든 관찰자들에게 자신의 상태 값이 변화되었음을 알린다. 여기서 등록된 모든 관찰자들에게 알린다는 것은 이 출력핀과 연결된 모든 입력핀(InPin) 객체들의 update 함수를 차례로 호출하는 것을 의미한다.The scheduler takes the output pin objects one by one until the scheduler list is empty and calls the output pin object's fixedoutport function. The fixedoutport function of the output pin object compares its current state with the next state (state2), and if it is different, stores the next state in the current state and all observers registered to it by using the notifyObservers function. Notifies the user that his status has changed. Notifying all registered observers here means calling the update function of all the input pin (InPin) objects connected to this output pin.

입력핀 객체의 update 함수에서는 자신의 입력핀 값을 자신이 연결된 출력핀의 현재상태값으로 설정하고 자신을 포함하고 있는 심볼(Symbol) 객체 mother의 calcfunc 함수를 호출하게 된다.The update function of the input pin object sets its input pin value to the current state of the output pin to which it is connected, and calls the calcfunc function of the symbol object mother containing it.

심볼 객체의 calcfunc 함수는 입력핀 객체의 값이 변경되었을 때 수행되는 소자의 동작을 기술하는 루틴으로서, 입력핀 값이 변함에 따라 값이 변경되는 모든 출력핀들에 대해서 해당 출력핀 객체의 setstate2 함수와 스케쥴러의 add 함수를 호출하게 된다.The calcfunc function of the symbol object is a routine that describes the behavior of the device when the value of the input pin object changes. For all output pins whose value changes as the input pin value changes, the setstate2 function of the output pin object This will call the scheduler's add function.

이와 같은 과정이 반복됨으로써 한 소자의 출력핀 값 변화에 따른 영향이 이와 연결된 다른 소자들로 전달되게 된다.As this process is repeated, the influence of the change of the output pin value of one device is transferred to other connected devices.

도7은 클라이언트에 사용자가 작성한 파일을 저장하는 과정을 나타내는 흐름도이다. 우선 시스템이 실행되면 사용자는 아이디란과 이름란에 사용자 프로필을 기입(S41)하여야 한다. 그 다음으로 파일저장버튼이 눌러 졌을 경우(S42)에 새로운 시스템은 사용자가 ID와 이름을 기입하였나 검사를 하는데 기입된 자료가 없으면 기입하라는 메시지를 생성(도면에 미표시)한다.7 is a flowchart illustrating a process of storing a file created by a user in a client. First, when the system is running, the user must fill in the user profile in the ID field and the name field (S41). Next, when the file save button is pressed (S42), the new system generates a message (not shown in the drawing) to be entered if the user inputs an ID and name but no data is entered to check.

ID와 이름이 기입되어 있으면 파일저장 윈도우를 생성(S42_2)한다. 이때 사용자는 클라이언트에 저장될 디렉토리와 파일명을 기입하고 확인버튼을 누르게 된다. 상기 저장 버튼이 눌리면 하드디스크에 파일을 저장(S42_3)하고 시스템에서는 상기 파일에 ID 및 이름 쓰기를 금지(S44)시킨다.If the ID and name are entered, a file storage window is generated (S42_2). At this time, the user enters a directory and file name to be stored in the client and clicks the OK button. When the save button is pressed, the file is stored in the hard disk (S42_3), and the system prohibits writing of the ID and name to the file (S44).

클라이언트에서 파일을 로드하는 과정은, 로드버튼이 눌리면 시스템은 ID와 이름이 기입되어 있는지 검사(S43_2)하고 기입되어 있으면 클라이언트의 파일들을 볼 수 있는 윈도우를 생성(S43_3)한다. 상기 생성된 윈도우에서 사용자는 파일을 선택(S43_3)하고 확인버튼을 누르게 된다. 상기 확인버튼의 신호에 따라 선택한 파일내의 ID 및 이름과 사용자가 기입한 ID 및 이름을 비교(S43_4)하여 서로 일치하는 경우에만 선택한 파일을 클라이언트의 화면에 디스플레이(S43_5)한다. 그리고 상기 파일에 대하여 ID와 이름 쓰기를 금지(S44)시킨다.In the process of loading a file from the client, when the load button is pressed, the system checks whether an ID and a name are written (S43_2), and creates a window (S43_3) for viewing files of the client if written. In the created window, the user selects a file (S43_3) and presses a confirmation button. According to the signal of the confirmation button, the ID and name in the selected file and the ID and name entered by the user are compared (S43_4), and the selected file is displayed on the screen of the client only when they match each other (S43_5). The ID and name writing is prohibited for the file (S44).

도 8은 서버에 파일을 저장하고 로드하는 과정을 나타낸 것으로, 서버에 파일을 저장하기 위해서 서버에 저장 버튼이 눌리게 되면(S46), ID와 이름이 입력되어 있는지 검사(S46_1)한다. ID와 이름이 입력되어 있으면 패스워드와 이름을 입력하는 윈도우를 오픈(S46_2)한다. 이에 따라 사용자는 패스워드와 이름을 입력하면 시스템은 패스워드와 ID, 이름이 등록되어 있는지를 검사(S46_3)한다. 패스워드와 ID, 이름이 등록되어 있으면 사용자의 디렉토리에 파일을 저장(S46_4)한다. 패스워드, ID, 이름이 등록되어 있지 아니하거나 등록되어 있는 패스워드, ID, 이름이 서로 상이 할 때에는 해당하는 메시지를 클라이언트에 표시(도면에 미표시)한다.8 illustrates a process of storing and loading a file in the server. When the save button is pressed on the server in order to store the file in the server (S46), it is checked whether an ID and a name are input (S46_1). If the ID and name are entered, a window for inputting the password and name is opened (S46_2). Accordingly, when the user inputs a password and a name, the system checks whether the password, ID, and name are registered (S46_3). If a password, ID, and name are registered, the file is stored in the user's directory (S46_4). If the password, ID, or name is not registered, or if the registered password, ID, or name is different from each other, the corresponding message is displayed (not shown) on the client.

서버에서 파일을 로드하는 과정은 서버에서 로드하는 버튼이 눌리면(S47_1), ID와 이름이 입력되어 있는지 검사(S47_2)하고 입력되어 있으면 패스워드와 이름을 입력하는 윈도우를 오픈(S47_3)한다. 이에 따라 사용자는 패스워드와 이름을 입력하고, 확인버튼을 누르면(도면에 미표시), 시스템에서는 패스워드, ID, 이름이 등록되어 있는지 검사(S47_4)하고, 등록되어 있으면 사용자 디렉토리에서 파일들을 클라이언트에 디스플레이(S47_5)한다. 사용자는 로드하고자 하는 파일을 선택하고 파일을 로드하는 버튼이 눌리면 상기 파일을 서버에서 클라이언트로 전송(S47_6)하고 클라이언트에서는 로드된 파일을 화면에 디스플레이(S47_7)한다. 상기의 디스플레이된 파일에 대해서는 ID 및 이름 쓰기를 금지(S48)한다.In the process of loading a file from the server, when the button to be loaded from the server is pressed (S47_1), the ID and name are checked (S47_2), and if so, a window for inputting the password and name is opened (S47_3). Accordingly, when the user enters a password and name, presses the OK button (not shown), the system checks whether a password, ID, and name are registered (S47_4), and if so, displays files from the user directory to the client ( S47_5). When the user selects a file to be loaded and the button for loading the file is pressed, the user transmits the file from the server to the client (S47_6), and the client displays the loaded file on the screen (S47_7). Writing of the ID and name is prohibited for the displayed file (S48).

상기에서 ID 및 이름을 기입하라는 메시지와 파일을 선택하고 확인버튼을 누르는 과정, ID 및 이름이 서로 상이 할 때 생성하는 메시지 등을 미표시 한 부분에 대해서는 이미 공지된 기술이며, 이는 당업자라면 쉽게 구현 할 수 있는 부분이므로 생략될 수 있다고 사료되어 미표시 하였다.In the above, the message for inputting ID and name and the process of selecting a file and pressing the OK button, and the part for not displaying the message generated when ID and name are different from each other are already known techniques, which can be easily implemented by those skilled in the art. It is considered to be omitted because it can be omitted.

클라이언트 또는 서버에 파일을 저장 또는 로드된 파일에 대하여는 ID 및 이름 쓰기가 금지되는 과정을 거친다. 따라서 로드된 파일을 수정한 경우라도 ID와 이름 쓰기가 금지되어 파일의 복사를 근본적으로 방지함으로서 종래의 같은 파일을 다른 사용자가 수정하여 제출할 수 없도록 하여 학습을 증진하는 효과를 가져온다.The ID and name writing is prohibited for files stored or loaded on the client or server. Therefore, even if the loaded file is modified, writing of ID and name is prohibited, thereby fundamentally preventing the copy of the file, thereby improving the learning by preventing other users from modifying and submitting the same file.

도9는 본 발명의 시스템을 하나의 실시예로 구현한 도면으로 오프라인 상에서 이루어지는 브레드보드의 모양과 거의 흡사한 인터페이스로 구성하였다. 도 9의 실시예에 설명한 버튼은 사용자의 입장에서 기술하였으며, 본 발명에 있어서도 사용자는 본 발명의 주체가 될 수 없는 것은 당연하나, 사용자의 입장에서 기술하는 것이 본 발명을 이해하는데 쉽다고 판단되며, 또한 당업자라면 이해 할 수 있는 사항이라 판단되어 사용자의 입장에서 설명한다.FIG. 9 is a view showing an embodiment of the system of the present invention, and has an interface almost similar to the shape of a breadboard made offline. The buttons described in the embodiment of FIG. 9 are described from the user's point of view, and in the present invention, it is natural that the user cannot be the subject of the present invention, but it is judged that it is easy to understand the present invention from the user's point of view. In addition, it is determined that those skilled in the art can understand the description from the user's point of view.

ID, NAME(91) : 회로 설계자 ID와 NAME를 입력하는 칸이다. 회로 복사방지 기능을 위해 이 칸에 입력된 ID와 NAME은 파일을 한번 저장하거나 프린트하면 변경이 불가능하며, 저장된 회로를 불러오기 위해서는 파일의 사용자 ID와 NAME을 미리 기입한 후 회로를 로드해야 한다.ID, NAME (91): This is a field where you enter the circuit designer ID and NAME. The ID and NAME entered in this column for the circuit copy protection function cannot be changed once the file is saved or printed. To load a saved circuit, the user ID and NAME of the file must be filled in before the circuit is loaded.

LibSave(92) : 설계된 회로를 서버 시스템에 저장하는 기능을 제공한다. 버튼을 클릭하면 새로운 창이 뜨는데 여기에 Password와 파일이름을 기입한 후 "OK"버튼을 누르면 서버에서 사용자를 확인하여 접근자의 폴더에 파일을 저장한다. 이 기능은 사용자가 인터넷에 연결되어 있는 경우에만 사용 가능하다.LibSave (92): Provides the ability to save the designed circuit in the server system. If you click the button, a new window pops up. Enter the password and file name here and click the "OK" button. This feature is only available if you are connected to the Internet.

LibLoad(93) : 서버 시스템의 라이브러리에 있는 회로를 로드하기 위한 기능으로, ID와 NAME를 입력한 후 버튼을 누르면 새로운 창이 나타나고, 여기에 Password를 입력하고 OK버튼을 누르면 파일 목록 창이 나타난다. 이 목록 중 원하는 것을 선택하면 화면에 회로가 로드된다. 학생이 접근할 경우에는 학생의 개인폴더만을 볼 수 있으며, 교수가 접근하는 경우에는 모든 학생의 라이브러리를 볼 수 있다. 이 기능은 사용자가 인터넷에 연결되어 있는 경우에만 사용 가능하다.LibLoad (93): Loads the circuit in the library of the server system. After entering ID and NAME, press the button. A new window appears. Enter the password here and press the OK button to display the file list window. Select the desired one from this list and the circuit will be loaded on the screen. If a student has access, they can only see the student's private folder. If a professor has access, they can see all student libraries. This feature is only available if you are connected to the Internet.

NewLoad, Append(94) : 이 선택상자는 회로를 로드할 때 현재 화면에 있는 회로를 삭제하고 로드(NewLoad)하거나, 현재 회로에 덧붙여 로드(Append)하는 방식 중 하나를 지정한다.NewLoad, Append (94): This selection box designates one of the ways to delete and load a circuit on the current screen when loading a circuit, or to append to the current circuit.

Load(95) : 자신의 로컬 시스템에 저장된 회로를 로드하기 위한 것으로, 버튼을 누르면 파일을 선택할 수 있는 창이 나타난다. 이 때 자신이 원하는 파일을 선택한 후 열기버튼을 누르면 회로가 로드된다.Load (95): Loads a circuit saved in your local system. Pressing the button brings up a file selection window. In this case, select the file you want and press the Open button to load the circuit.

복사 방지 기능에 의해 반드시 ID와 NAME이 로드하고자 하는 파일의 ID, NAME과 일치해야 한다.By copy protection, the ID and NAME must match the ID and NAME of the file to be loaded.

Save(96) : 자신이 현재 설계한 회로를 로컬 시스템에 저장하기 위한 버튼이다. 버튼을 눌렀을 때 파일이름이 이미 설정되어 있었으면 그 파일이름으로 무조건 저장되며, 파일이름이 설정되지 않은 상태에서는 SaveAs 버튼을 눌렀을 때와 같이 동작하게 된다.Save (96): This button saves the current design circuit to the local system. If the file name is already set when the button is pressed, it is saved as the file name. If the file name is not set, it operates as if the SaveAs button is pressed.

SaveAs(97) : 자신이 현재 설계한 회로를 파일이름을 바꾸어 로컬 시스템에 저장하기 위한 버튼이다. 버튼을 누르면 저장할 폴더를 지정할 수 있는 창이 뜨며 회로의 파일명을 쓰고 저장 버튼을 누르면 된다. 확장자는 자동으로 *.bbc가 붙게 된다. 저장하기 전에 ID와 NAME을 올바르게 기입했는지 반드시 확인하는 것이 좋다. 확장자가 bbc(*는 모든 문구를 의미)인 것은 당업자라면 쉽게 변경되어 질 수 있으며 확장자로 인하여 본 발명이 한정되거나 축소되지 아니한다.SaveAs (97): This button is to save the current design circuit to the local system by renaming the file. Press button to open the window where you can specify the folder to save. Write the file name of the circuit and press the Save button. Extensions are automatically appended with * .bbc. It is always a good idea to make sure you have entered the ID and NAME correctly before saving. The extension of bbc (* means all phrases) can be easily changed by those skilled in the art and the present invention is not limited or reduced by the extension.

Print(98) : 현재 화면에 설계된 회로를 프린트하는 기능으로 이는 공지되어 있는 기술이므로 설명을 아니한다.Print (98): Prints a circuit designed on the current screen. This is a known technology and will not be described.

HELP(99) : 프로그램 전체의 도움말을 웹 브라우저를 통해 볼 수 있다.HELP (99): Help for the entire program can be viewed through a web browser.

?(100) : 각 소자에 대한 도움말을 볼 수 있는 기능이다. 먼저 이 버튼을 누르고원하는 소자를 클릭하면 해당 소자에 대한 도움말을 볼 수 있다. ? 버튼을 누르면 LogicSim 동작모드가 help 모드가 된다.? (100): It is a function to get help about each device. First press this button and click on the desired device to get help for that device. ? If you press button, LogicSim operation mode becomes help mode.

EXIT(101) : EXIT버튼을 누르면 현재 사용하고 있던 프로그램이 종료된다.EXIT 101: Pressing the EXIT button ends the current program.

PIC16C84(102) : 원칩 마이크로 컨트롤러인 PIC16C84 칩 기능을 구현한 소자이며, 실행 프로그램을 다운로드하고 디버깅할 수 있는 부속 창을 가진다.PIC16C84 (102): A device that implements the function of the PIC16C84 chip, a one-chip microcontroller, and has a sub-window for downloading and debugging an executable program.

TTL(103) : 반도체 집적회로 칩 중 74시리즈 소자들을 생성하는 버튼이다. 74 시리즈 소자들을 생성하는 버튼이다. 버튼 오른쪽에 있는 선택상자에서 원하는 TTL의 번호를 선택할 수 있다.(현재 지원되는 칩 번호 : 0, 2, 4, 8, 10, 11, 20, 21, 30, 32, 42, 47, 51, 74, 75, 76, 80, 82, 83, 85, 86, 89, 90, 93, 138, 147, 148, 153, 157, 164, 181, 182, 194, 393, 518, 684, 686, 688) 생성된 TTL은 항상 화면 좌측상단에 나타나며, 이 소자를 마우스로 드래그하여 원하는 위치로 이동시키면 된다. TTL을 이동시킬 때는 모든 핀들이 브레드보드의 핀 구멍들과 일치하여야 하며, 이는 실제 브레드보드상에 칩을 꽂을 때 빈 구멍을 맞추어야 끼워지는 것과 같은 교육적 효과를 위한 것이다.TTL 103 is a button for generating 74 series elements of a semiconductor integrated circuit chip. This button creates 74 series devices. You can select the desired TTL number from the selection box to the right of the button (Chip numbers currently supported: 0, 2, 4, 8, 10, 11, 20, 21, 30, 32, 42, 47, 51, 74). , 75, 76, 80, 82, 83, 85, 86, 89, 90, 93, 138, 147, 148, 153, 157, 164, 181, 182, 194, 393, 518, 684, 686, 688) The TTL will always appear in the upper left corner of the screen. You can drag this device to the desired location by dragging it with your mouse. When moving the TTL, all the pins must match the pinholes on the breadboard, for an educational effect such as fitting the empty holes when inserting the chip on the breadboard.

7SEG(104) : 7세그먼트 표시기 소자를 생성하는 버튼이다. 버튼 옆의 선택상자에서 타입(A=애노드 공통형, K=캐소드 공통형)을 선택할 수 있다.7SEG 104: A button for generating a seven segment indicator element. You can choose the type (A = anode common type, K = cathode common type) from the selection box next to the button.

wire(105) : 선을 그리기 위한 버튼으로 이 버튼이 눌리면 BreadBoard의 동작모드는 wire 모드가 된다. 이 버튼을 누른 후 선을 시작하고자 하는 곳(브레드보드상의 빈구멍)에서 마우스의 왼쪽 버튼을 누르면 처음 점이 찍히고 마우스를 이동하면 선이 마우스를 따라 움직이는 것을 확인할 수 있다. 다시 임의의 지점에서 왼쪽 버튼을 클릭하면 클릭한 점까지 선이 그려지고 이런 식으로 계속 선을 이어 나갈 수 있다. 선의 마지막 점을 그리려면 브레드보드 상의 빈구멍 위에서 마우스의 오른쪽 버튼을 클릭하면 현재의 선 그리기가 완료된다. 계속해서 또 다른 선을 그리려면 빈구멍 위에서 마우스 왼쪽 버튼을 클릭하면 새로운 선 그리기가 시작된다. 선 그리기 모드를 완전히 종료하기 위해서는 화면 좌측하단의 cancel 버튼을 누르거나 마우스 오른쪽 버튼을 더블 클릭한다(BreadBoard 동작모드가 기본모드로 됨).wire (105): A button for drawing a line. When this button is pressed, BreadBoard's operation mode becomes wire mode. After pressing this button, press the left button of the mouse at the place where you want to start the line (empty hole on the breadboard), the first point will be taken, and if you move the mouse, you will see the line move along the mouse. Clicking the left button again at any point draws a line up to the clicked point, and so on. To draw the last point of the line, right-click on the empty hole on the breadboard and finish drawing the current line. To continue drawing another line, left-click on the empty hole to start drawing a new line. To completely exit the line drawing mode, press the cancel button at the bottom left of the screen or double-click the right mouse button (BreadBoard operation mode becomes the default mode).

선을 그릴 때 주의할 점은 반드시 처음 시작점과 마지막 끝점은 기판의 빈구멍에 일치해야 하고, 하나의 기판 구멍에는 선의 시작점 또는 끝점이 2개이상 연결될 수 없다는 것이다. 이러한 선 그리기는 실제 선(wire)을 이용하여 회로를 연결할 때 브레드보드의 한 구멍에는 한 선만 꼽을 수 있고 또한 선을 중간에 임의로 구부려 사용할 수 있는 것을 생각하면 완전히 동일한 효과로 볼 수 있다.Note that when drawing a line, the first start point and the last end point must coincide with the empty hole of the substrate, and no two or more start or end points of the line can be connected to one substrate hole. This line drawing is exactly the same effect considering that only one line can be inserted into one hole of the breadboard when connecting the circuit using the actual wire, and the line can be arbitrarily bent in the middle.

선의 색을 바꾸기 위해서는 wire 버튼 옆의 색 버튼을 클릭하여 원하는 선 색을 지정해 주면 된다. 이미 그려져 있는 선의 색을 바꾸려면 색 버튼을 이용해 선 색을 지정한 후 basic 모드에서 선을 마우스 왼쪽버튼으로 더블 클릭하면 지정된 색으로 변한다.To change the color of the line, click on the color button next to the wire button and specify the desired line color. To change the color of the line already drawn, specify the line color using the color button and double-click on the line in basic mode to change it to the specified color.

TEXT(106) : 회로에 주석(comment) 등을 달기 위한 버튼이다. 버튼을 누르면 나타나는 TEXT 입력 창에서 글씨 크기 및 색을 지정할 수도 있다. TEXT는 한 줄만 허용되며, Text를 쓸 경우에 "`" 문자는 사용할 수 없다. 이미 회로도에 삽입한 TEXT를 수정하려면 기본(basic)모드에서 TEXT를 마우스 왼쪽 버튼으로 더블 클릭하면 수정할 수 있는 창이 뜬다.TEXT 106: A button for attaching comments or the like to the circuit. You can also specify the font size and color in the TEXT input window that appears when you press the button. Only one line is allowed in TEXT. You cannot use the `` 'character when writing Text. If you want to edit the text already inserted in the schematic, double click the text with the left mouse button in the basic mode.

TRACER(107) : 일종의 로직 어널라이저(Logic Analyzer)로, 시뮬레이션할 때 회로 내 원하는 지점의 시간에 따른 값 변화를 별도의 창에 그래프로 형태로 나타내 주는 소자이다. 버튼 옆의 칸에 Tracer 입력채널 수를 기입한다.TRACER (107): A kind of logic analyzer that shows the value change over time of a desired point in a circuit in the form of a graph in a separate window when simulating. Enter the number of tracer input channels in the field next to the button.

showOutput/hideOutput(108) : showOutput 버튼을 클릭하면 버튼의 레이블은 hideOutput으로 변경되며, 회로 구성에 사용된 선(wire)들의 값을 색으로 구분하여 볼 수 있다. 선의 값이 0일 경우 회색, 값이 1일 경우 빨간색, 2일 경우 노란색으로 표시되며 값을 결정할 수 없을 경우에는 파란색으로 표시된다. hideOutput 버튼을 클릭하면 다시 레이블이 showOutput으로 변경되며, 원래 그렸던 선 색으로 회로가 보인다.showOutput / hideOutput (108): When the showOutput button is clicked, the label of the button is changed to hideOutput, and the values of the wires used in the circuit configuration can be displayed by color. The line is gray when the value is 0, red when the value is 1, and yellow when the value is 2, and blue when the value cannot be determined. Clicking the hideOutput button changes the label back to showOutput, which shows the circuit in the line color you originally drew.

Grid(109) : 마우스가 움직이는 간격을 설정할 수 있으며, 기본값은 4 픽셀 단위이다.Grid 109: You can set the interval at which the mouse moves. The default value is 4 pixels.

clock[Hz](110) : 화면 우측에 있는 클럭발생기의 주파수를 결정하기 위한 버튼으로 단위는 Hz이다. 클럭발생기의 주파수를 변경하고자 할 경우 이 버튼의 우측 칸에 주파수를 쓰고 이 버튼을 클릭하면 된다.clock [Hz] (110): A button to determine the frequency of the clock generator on the right side of the screen. The unit is Hz. If you want to change the frequency of the clock generator, write the frequency in the right column of this button and click this button.

copy(111) : 한 소자나 선 혹은 설계 도면의 원하는 영역을 복사하는 버튼으로, 이 버튼이 눌리면 현재 선택된 상태의 회로 부분이 복사된다.copy (111) A button that copies a desired area of a device, line, or design drawing. When this button is pressed, the circuit portion of the currently selected state is copied.

소자를 복사하는 방법에는 두 가지가 있다.There are two ways to copy a device.

첫 번째 먼저 복사하기를 원하는 부분을 마우스로 선택한다(특정 소자나 선 하나만을 복사하기 원하면 마우스로 소자나 선을 클릭함. 만일 특정 영역 내의 모든 소자와 선들을 복사하기 원하면 그 영역을 포함하도록 마우스를 드래그함). 선택된 소자들은 붉은 색으로 변한다. 다음에 키보드의 Ctrl 키를 누른 후 마우스로 드래그하여 원하는 위치에 복사할 수 있다.First select the part you want to copy first with the mouse (if you want to copy only one element or line, click the element or line with the mouse. If you want to copy all elements and lines within a specific area, move the mouse to include that area. Dragging). Selected devices turn red. You can then press Ctrl on your keyboard and drag it with your mouse to copy it to the desired location.

두 번째 복사하고자 하는 회로를 선택한 후 copy 버튼을 클릭하면 선택된 부분에 들어있는 소자와 선이 그대로 복사되어 원래의 소자와 선 위에 겹쳐 나타나게 되며, 복사된 회로 부분이 빨간색으로 표시된다. 빨간색 부분을 마우스를 이용하여 자신이 원하는 곳에 드래그하면 된다.If you select the second circuit to copy and click the copy button, the device and the line in the selected part are copied as it is and overlapped with the original device and the line, and the copied circuit part is displayed in red. Drag the red part to where you want with the mouse.

복사된 회로를 다른 곳으로 이동할 때 소자의 핀들과 선의 시작점 및 끝점이 반드시 실험기판의 구멍과 일치해야 이동이 된다.When moving the copied circuit to another place, the start and end points of the pins and lines of the device must coincide with the holes of the test board to move.

delete(112) : 선택된 영역에 있는 소자나 선들을 삭제한다. 이 버튼 대신 키보드의 Delete 키를 사용할 수도 있다.delete (112) Deletes the device or the lines in the selected area. You can also use the Delete key on your keyboard instead of this button.

deleteAll(113) : 현재 화면의 모든 것을 삭제하는 기능이다.deleteAll (113): Deletes everything on the current screen.

SimInit(114) : 회로를 초기화하는 버튼이다. 이 버튼을 눌러도 회로가 정상적으로 동작하지 않는 경우에는 회로를 새로 로드하면 된다.SimInit (114): This button initializes the circuit. If you press this button and the circuit does not operate normally, you can load a new circuit.

T(115) : 이 버튼을 클릭하면 BreadBoard의 동작모드가 toggle 모드가 되며, 이 모드에서 전원스위치나 on/off 스위치를 클릭하면 스위치의 상태가 변화된다.T (115): Click this button to change the breadboard's operation mode to toggle mode. In this mode, click the power switch or the on / off switch to change the state of the switch.

cancel(116) : BreadBoard의 동작모드를 basic 모드로 전환시킨다. basic 모드에서 소자나 선들을 이동시킬 수 있다(단, 전원스위치가 OFF 상태여야 함).cancel (116): Change BreadBoard's operation mode to basic mode. In basic mode, the device or wires can be moved (but the power switch must be OFF).

전원공급단자(117) : 전원으로는 +5V와 0V를 공급하는 단자가 제공된다(현재 버전에서 -5V 단자는 동작하지 않음). 브레드보드 상에 사용되는 TTL과 같은 소자들은 VCC와 GND 핀에 +5V(논리값1)와 0V(논리값0)가 인가되어야 동작하므로, 이 전원공급단자와 연결되도록 회로를 구성하여야 한다. 이는 실제 TTL 칩을 사용하는 실험시 초보자가 가장 실수하기 쉬운 전원연결 빼먹는 문제를 교육하기 위함이다.Power supply terminal 117: As a power source, a terminal for supplying + 5V and 0V is provided (the -5V terminal does not operate in the current version). Devices such as TTL used on the breadboard operate only when + 5V (logical 1) and 0V (logical 0) are applied to the VCC and GND pins, so the circuit must be configured to be connected to this power supply terminal. This is to educate the beginners about the problem of skipping the power connection, which is most prone to mistakes when experimenting with real TTL chips.

on/off 스위치(118) : on/off 스위치를 toggle 모드에서 마우스로 클릭하면 on과 off 상태를 반복하며, on 상태가 되면 논리적인 1값(+5V)이 출력되고 off 상태가 되면 논리적인 0값(0V)이 출력된다. on/off 스위치는 총 11개가 제공된다.on / off switch 118: When the on / off switch is clicked in the toggle mode with the mouse, the on and off states are repeated.When the on state is turned on, a logical value of 1 (+ 5V) is output. The value (0V) is output. A total of 11 on / off switches are provided.

전원스위치(119) : 구성된 회로를 동작시키기 위해 전원을 공급하는 스위치이며, toggle 모드에서 스위치를 마우스로 클릭하면 ON과 OFF 상태가 반복된다. ON 상태에서만 회로가 동작하며, 회로 수정은 OFF 상태에서만 가능하다.(회로수정을 OFF 상태에서만 가능토록 한 것은 실제 하드웨어 실험시 전원 OFF 상태에서 회로를 수정하는 것이 원칙이기 때문임)실험기판내의 모든 장치와 소자들은 전원 스위치가 ON 상태일 때에만 정상 동작하게 된다.Power switch 119: A switch for supplying power to operate the configured circuit, the ON and OFF state is repeated by clicking the switch in the toggle mode with the mouse. The circuit operates only in the ON state, and the circuit can be modified only in the OFF state (since the principle is to modify the circuit in the power OFF state during the actual hardware experiment). Devices and devices will only operate normally when the power switch is turned ON.

클럭발생기(120) : 전원스위치가 ON 상태가 되면 자동으로 클럭을 출력한다. 클럭의 주기는 화면 좌측중앙에 있는 clock[Hz] 버튼을 이용하면 변경 가능하다. 즉, clock[Hz] 버튼 옆 칸에 원하는 주파수를 쓰고 버튼을 누르면 된다.Clock generator 120: When the power switch is turned on automatically outputs the clock. The clock period can be changed using the clock [Hz] button in the center left of the screen. In other words, write the desired frequency in the box next to the clock [Hz] button and press the button.

LED와 16진수 표시기(121) : 5V(논리값 1)가 입력되면 불이 켜진다. LED와 16진수 표시기 사이의 관계는 아래 그림에서와 같이 4개의 LED가 하나의 쌍이 되어 대응되는 16진수 표시기에 값이 나타난다.LED and hexadecimal indicator 121: Lights up when 5V (logical value 1) is input. The relationship between the LED and the hexadecimal indicator is that four LEDs are paired and the value is displayed on the corresponding hexadecimal indicator as shown in the figure below.

전압계(122) : 전압계이며, 빨간색 입력단자와 회색 입력단자사이의 전압 값이 표시된다.Voltmeter 122: It is a voltmeter, and the voltage value between the red input terminal and the gray input terminal is displayed.

스피커(123) : 5V(논리값 1)가 입력되면 소리가 난다.Speaker 123: Sound is heard when 5V (logical value 1) is input.

설계보드(150) : 사용자가 전자회로를 구성하는 보드판이다.Design board 150: a board board the user configures the electronic circuit.

도 10은 본 발명의 실시예로 보여준 브레드보드 시스템을 이용하여 전자회로를 설계한 실시예이다. 도 10의 실시예에서는 2BIT ADDER를 설계한 도면으로 사용자의 의도에 따라 다르게 설계될 수 있다.10 is an embodiment in which an electronic circuit is designed using a breadboard system shown as an embodiment of the present invention. In the embodiment of FIG. 10, a 2BIT ADDER is designed and may be designed differently according to a user's intention.

도 11은 서버에 사용자가 제작한 회로를 하나의 파일로 저장하기 위하여 서버에 파일저장을 클릭되었을 경우에 나타나는 패스워드(password)와 파일이름(Filename)을 기입하기 위한 윈도우로 상기의 입력창(1701, 1702)에 각각을 입력하고 OK 버튼(1703)을 누르게 되면 서버에서는 상기의 신호에 따라 이름 및 패스워드를 검색하고 일치하면 사용자의 윈도우를 디스플레이(도면에 미표시)한다. 상기의 과정이 끝나면 서버에서는 사용자에게 상기의 사용자의 디렉토리를 디스플레이하여 주고 사용자는 파일이름을 기입하고 저장하게 되는 것으로, 사용자의 디렉토리를 디스플레이하고 파일이름을 기입하는 과정은 당업자라면 쉽게 구현 할 수 있을 뿐만 아니라 이미 공지된 기술이므로 상술하지 않는다.FIG. 11 is a window for inputting a password and a file name that appear when a user clicks on a file saver to save a circuit created by a user in a server as a file. And 1702, respectively, and when the OK button 1703 is pressed, the server searches for a name and password according to the above signal, and if it matches, displays the user's window (not shown). After the above process, the server displays the user's directory to the user and the user enters and saves the file name. The process of displaying the user's directory and entering the file name can be easily implemented by those skilled in the art. In addition, since it is a known technique, it is not described in detail.

도 12는 물음표 버튼(100, ?, 도 9 참조)에 관한 것으로 상기 버튼을 클릭하고 회로상의 소자를 클릭하였을 경우에 인터넷을 통하여 상기 소자에 대한 설명을 디스플레이 실시예이다. 사용자가 회로를 디스플레이된 소자에 대하여 일일이 알 수 없는 경우에 본 발명에서 지원하는 소자의 입력핀 및 출력핀을 설명하는 것으로, 도12에 디스플레이된 소자는 입력이 2개 출력이 하나인 AND GATE의 집합체인 74LS08칩에 관한 설명이다. 상기와 같은 사용자 측에 대한 편의를 도모하므로 사용자가 소자를 이해하는데도 도움이 된다.FIG. 12 relates to a question mark button 100 (?, See FIG. 9). In the case where the button is clicked and an element on the circuit is clicked, the description of the element is displayed through the Internet. In the case where the user cannot know the circuit with respect to the displayed device, the input pin and the output pin of the device supported by the present invention will be described. The device shown in FIG. 12 shows an AND GATE having two inputs. Description of the 74LS08 chip as an assembly. Since the convenience for the user side as described above is also helpful for the user to understand the device.

본 발명에 따르면, 종래의 오프라인에서 브레드보드를 이용하여 전자회로를 실험하던 것을 클라이언트 혹은 인터넷을 이용하여 컴퓨터상에 구현한 것으로, 반도체 칩과 브레드보드의 기기를 구매하지 않아도 전자회로를 쉽게 설계 할 수 있으며, 반도체 칩의 손실 및 브레드보드 기기의 훼손으로부터 오는 재구매에 따른 비용을 절감할 수 있다. 뿐만 아니라 종래의 브레드보드 기기의 고가로 인해 전자회로 실험을 하는 경우에 학생 몇몇이 그룹을 만들어 그룹별로 실험을 하는 것이 예사 이였으나 컴퓨터상에 전자회로 실험을 할 수 있으므로 컴퓨터만 있으며 개개인이 전자회로 실험을 할 수 있는 장점이 있다.According to the present invention, it is possible to design an electronic circuit easily without having to purchase a semiconductor chip and a breadboard device. It is possible to reduce the cost of repurchase resulting from the loss of the semiconductor chip and the damage of the breadboard device. In addition, due to the high cost of the conventional breadboard device, when experimenting with electronic circuits, it was normal for some students to make a group and conduct experiments for each group. There is an advantage to experiment.

또한, 본 발명의 브레드보드 시스템을 이용하면 전자회로를 실험이 끝나고 같은 전자실험을 하는 경우 혹은 설계된 회로를 확장할 경우에 컴퓨터에 파일로 저장을 하거나, 혹은 서버에 저장을 하여 전자회로의 수정 또는 확장을 쉽도록 할 수 있으며, 동시에 파일이 하드드라이브에 저장 될 때 이름 및 아이디를 동시에 저장하고 또 상기 파일을 로드할 때 상기 파일에 대한 이름 및 아이디를 수정 할 수 없도록 하여 자신의 작성한 파일 이외에는 타인이 상기의 파일을 수정하지 못하도록 하고, 개개인이 전자 회로 실험을 할 수 있도록 유도 할 수 있다.In addition, when using the breadboard system of the present invention, when the electronic circuit is performed after the experiment or when the designed circuit is expanded, the electronic circuit may be stored in a file on a computer or stored in a server to modify or modify the electronic circuit. It can be extended easily, and at the same time, when the file is saved to the hard drive, the name and ID can be saved at the same time, and the name and ID of the file can not be modified when the file is loaded. This file can be prevented from being modified, and individuals can be encouraged to experiment with electronic circuits.

Claims (8)

사용자의 입력 신호에 데이터를 검색하여 사용자의 모니터에 디스플레이하는 클라이언트와 클라이언트의 신호를 전송 받아 상기 대응하는 데이터를 검색하여 로컬컴퓨터에 전송하는 서버컴퓨터와 상기 로컬컴퓨터와 서버컴퓨터는 인터넷으로 연결되어 있는 시스템에 있어서,A server computer that retrieves data from a user's input signal and displays a signal from a client and a client, receives a signal from the client, retrieves the corresponding data, and transmits the data to a local computer, and the local computer and the server computer are connected to the Internet. In the system, 사용자의 클라이언트에서는 전자회로를 실행하는 신호를 인터넷을 통하여 서버 컴퓨터로 전송하고 상기 전송된 실행신호를 인식한 서버컴퓨터에서는 데이터를 검색하여 상기 데이터를 로컬컴퓨터로 전송하고 로컬컴퓨터에서는 상기 수신된 데이터를 메모리에 저장하여 전자회로를 구성하는 윈도우를 보여주고 사용자의 입력 신호에 따른 반도체 칩을 생성하고, 상기 생성된 칩들을 사용자의 신호에 따라 선 연결하고, 상기 작성된 전자회로를 사용자의 입력에 따라 서버로 전송하는 신호를 서버에서 인식하고 상기 클라이언트에서 전송되는 데이터를 서버의 데이터베이스에 저장하는 인터넷을 기반으로 전자회로를 구성하는 서비스 제공 시스템.A user's client transmits a signal for executing an electronic circuit to a server computer via the Internet, and a server computer recognizing the transmitted execution signal retrieves data and transmits the data to a local computer. The local computer transmits the received data. It shows the window constituting the electronic circuit by storing in the memory, generates a semiconductor chip according to the user's input signal, pre-connects the generated chips according to the user's signal, and the server to the server according to the user's input A system for providing an electronic circuit based on the Internet for recognizing a signal transmitted from a server and storing data transmitted from the client in a database of the server. 전자회로 실험을 수행하는 사용자의 로컬컴퓨터와, 상기 사용자 로컬컴퓨터에에 전자회로 설계를 제공하는 서버컴퓨터와 전자회로 실험에 필요한 데이터를 저장하는 저장장치 및 상기 사용자의 로컬컴퓨터와 전자회로 설계를 제공하는 서버컴퓨터를인터넷으로 연결하여 전자회로를 설계하는 방법에 있어서,Provides a local computer of a user performing an electronic circuit experiment, a server computer providing an electronic circuit design to the user local computer, a storage device for storing data necessary for the electronic circuit experiment, and a design of the local computer and the electronic circuit of the user. In the method of designing an electronic circuit by connecting a server computer to the Internet, 사용자의 로컬컴퓨터는Your local computer 시스템 실행 신호를 서버로 전송하는 단계;Transmitting a system execution signal to a server; 서버로부터 전송된 데이터를 수신하는 단계;Receiving data transmitted from a server; 수신된 데이터를 메모리에 저장하는 단계;Storing the received data in a memory; 사용자의 모니터에 전자회로 설계를 수록한 윈도우를 보여주는 단계;Displaying a window containing an electronic circuit design on a user's monitor; 로 구성되며,Consists of, 전자회로를 설계하는 서버 컴퓨터는Server computers that design electronic circuits 클라이언트에서 전송된 전자회로 실행 신호를 수신하는 단계;Receiving an electronic circuit execution signal transmitted from a client; 실행 신호에 적합한 데이터를 검색하여 로컬 컴퓨터로 전송하는 단계;Retrieving data suitable for the execution signal and transmitting it to a local computer; 클라이언트에서 전송된 전자회로를 수신하는 단계;Receiving an electronic circuit transmitted from a client; 전자회로를 저장하는 단계;Storing the electronic circuit; 클라이언트에서 전송된 전자회로 로드신호를 수신하는 단계;Receiving an electronic circuit load signal transmitted from a client; 전자회로 로드신호에 따라 상기 전자회로를 클라이언트로 전송하는 단계;Transmitting the electronic circuit to the client according to the electronic circuit load signal; 로 구성되어 인터넷을 기반으로 전자회로를 구성하는 서비스 제공 시스템Service provision system that consists of a network consisting of electronic circuits based on the Internet 전자회로 실험을 수행하는 사용자의 로컬컴퓨터와, 상기 사용자 로컬컴퓨터에에 전자회로 설계를 제공하는 서버컴퓨터와 전자회로 실험에 필요한 데이터를 저장하는 저장장치 및 상기 사용자의 로컬컴퓨터와 전자회로 설계를 제공하는 서버컴퓨터를 인터넷으로 연결하여 전자회로를 설계하는 방법에 있어서,Provides a local computer of a user performing an electronic circuit experiment, a server computer providing an electronic circuit design to the user local computer, a storage device for storing data necessary for the electronic circuit experiment, and a design of the local computer and the electronic circuit of the user. In the method of designing an electronic circuit by connecting a server computer to the Internet, 사용자의 로컬컴퓨터는Your local computer 시스템 실행 신호를 서버로 전송하는 단계;Transmitting a system execution signal to a server; 서버로부터 전송된 데이터를 수신하는 단계;Receiving data transmitted from a server; 수신된 데이터를 메모리에 저장하는 단계;Storing the received data in a memory; 사용자의 모니터에 전자회로 설계를 수록한 윈도우를 보여주는 단계;Displaying a window containing an electronic circuit design on a user's monitor; 사용자의 반도체 칩 발생신호에 따라 상기 반도체 칩을 로컬컴퓨터의 데이터에서 검색하여 사용자의 모니터에 디스플레이하는 단계;Retrieving the semiconductor chip from data of a local computer according to a semiconductor chip generation signal of a user and displaying the semiconductor chip on a user's monitor; 사용자의 선 연결 신호에 따라 상기 반도체 칩을 연결하여 전자회로를 설계하는 단계;Designing an electronic circuit by connecting the semiconductor chip according to a line connection signal of a user; 상기 전자회로를 시뮬레이션하는 단계;Simulating the electronic circuit; 사용자가 설계한 전자회로를 하드디스크에 저장하는 단계;Storing an electronic circuit designed by a user in a hard disk; 사용자가 저장한 전자회로를 로드하는 단계;Loading an electronic circuit stored by a user; 로 구성되며,Consists of, 전자회로를 설계하는 서버 컴퓨터는Server computers that design electronic circuits 클라이언트에서 전송된 전자회로 실행 신호를 수신하는 단계;Receiving an electronic circuit execution signal transmitted from a client; 실행 신호에 적합한 데이터를 검색하여 로컬 컴퓨터로 전송하는 단계;Retrieving data suitable for the execution signal and transmitting it to a local computer; 클라이언트에서 전송된 전자회로를 수신하는 단계;Receiving an electronic circuit transmitted from a client; 전자회로를 저장하는 단계;Storing the electronic circuit; 클라이언트에서 전송된 전자회로 로드신호를 수신하는 단계;Receiving an electronic circuit load signal transmitted from a client; 전자회로 로드신호에 따라 상기 전자회로를 클라이언트로 전송하는 단계;Transmitting the electronic circuit to the client according to the electronic circuit load signal; 로 구성되어 인터넷을 기반으로 전자회로를 구성하는 서비스 제공 시스템Service provision system that consists of a network consisting of electronic circuits based on the Internet 청구범위 제 3항에 있어서,The method of claim 3, 사용자의 모니터에 전자회로 설계를 수록한 윈도우를 보여주는 단계는The steps to show a window containing an electronic circuit design on your monitor 사용자가 전자회로를 구성하는 보드판(150)과 상기 보드판의 외주에 아이디 및 이름을 기입하는 칸(91), 반도체 칩을 생성하는 버튼(103), 전자회로를 로드하는 버튼(95), 전자회로를 저장하는 버튼(96), 선을 연결하는 버튼(105)을 구비한 인터넷을 기반으로 전자회로를 구성하는 서비스를 제공하는 시스템.A board board 150 constituting an electronic circuit by a user, a cell 91 for writing an ID and a name on the outer circumference of the board board, a button 103 for generating a semiconductor chip, a button 95 for loading an electronic circuit, and an electronic circuit A system for providing a service for configuring an electronic circuit based on the Internet having a button (96) for storing the, button 105 for connecting the line. 청구범위 제 3항에 있어서,The method of claim 3, 사용자의 반도체 칩 발생신호에 따라 상기 반도체 칩을 로컬컴퓨터의 데이터에서 검색하여 사용자의 모니터에 디스플레이하는 단계에서 ,In the step of searching for the semiconductor chip from the data of the local computer according to the signal generated by the semiconductor chip of the user and displaying on the user's monitor 반도체 칩은 입력핀(41)은 압단의 출력핀을 관찰하고 있다가 그 논리값을 심볼(43)에 전달하며, 심볼(43)은 입력핀에서 전달 핀 논리 값을 계산하여 출력핀(42)의 값과 비교하고, 상기에서 비교한 논리값이 서로 상이 할 때에는 계산된 논리의 값으로 출력핀의 논리값을 변경하는 인터넷을 기반으로 전자회로를 구성하는 서비스를 제공하는 시스템.In the semiconductor chip, the input pin 41 observes the output pin of the pressing and transmits the logic value to the symbol 43, and the symbol 43 calculates the transfer pin logic value at the input pin to output the pin 42. A system for providing an electronic circuit based on the Internet, which compares a value of and a logic value of an output pin with a value of a calculated logic when the logic values are different from each other. 청구범위 제 3항에 있어서,The method of claim 3, 사용자가 설계한 전자회로를 하드디스크에 저장하는 단계는The step of storing the electronic circuit designed by the user on the hard disk is 저장 버튼이 눌리게 되면 서버에서는 아이디와 이름이 입력되어 있는지를 검색하는 단계;If the save button is pressed, the server searches for whether an ID and a name are entered; 아이디 및 이름이 입력되어 있으면 패스워드와 파일이름을 입력하는 화면을 보여주는 단계;Displaying a screen for inputting a password and a file name if ID and name are entered; 상기 입력된 이름 및 패스워드를 서버에서 검색하는 단계;Retrieving the entered name and password from a server; 검색한 데이터와 입력한 데이터가 등록되어 있고 아이디에 대한 패스워드가 일치하면 상기의 전자회로 파일에 아이디 및 이름을 함께 저장하는 단계;Storing the ID and name together in the electronic circuit file if the searched data and the input data are registered and the password for the ID is identical; 이름 및 아이디와 패스워드가 서로 상이 할 때 해당되는 메시지를 표시하는 단계;Displaying a corresponding message when the name, ID, and password are different from each other; 로 구성되어 있는 인터넷을 기반으로 전자회로를 구성하는 서비스를 제공하는 시스템.A system that provides a service for configuring electronic circuits based on the Internet. 청구범위 제 3항에 있어서,The method of claim 3, 사용자가 설계한 전자회로를 하드디스크에서 로드하는 단계는Loading the user designed electronic circuit from the hard disk 로드하는 버튼이 눌리면 아이디 및 이름이 입력되어 있는지 검색하는 단계;Searching if an ID and a name are input when a button to be loaded is pressed; 상기에서 아이디 및 이름이 입력되어 있으면 패스워드를 입력하는 윈도우를 보여주는 단계;Displaying a window for inputting a password when ID and name are input; 사용자가 패스워드를 입력하고 서버에서는 이름 및 아이디가 등록이 되어 있고 아이디에 대한 패스워드가 일치하는지 검색하는 단계;A user inputs a password and searches for whether a name and ID are registered in the server, and a password for the ID matches; 아이디 및 이름 패스워드가 일치하면 사용자의 디렉토리에 상기 전자회로 파일을 저장하는 단계;If the ID and name password match, storing the electronic circuit file in a directory of the user; 아이디, 이름 및 패스워드가 일치하지 않으면 해당되는 메시지를 보여주는 단계;Displaying a corresponding message if the ID, name, and password do not match; 로 구성되어 있는 인터넷을 기반으로 전자회로를 구성하는 서비스를 제공하는 시스템.A system that provides a service for configuring electronic circuits based on the Internet. 전자회로 실험을 수행하는 사용자의 로컬컴퓨터와, 상기 사용자 로컬컴퓨터에에 전자회로 설계를 제공하는 서버컴퓨터와 전자회로 실험에 필요한 데이터를 저장하는 저장장치 및 상기 사용자의 로컬컴퓨터와 전자회로 설계를 제공하는 서버컴퓨터를 인터넷으로 연결하여 전자회로를 설계하는 방법에 있어서,Provides a local computer of a user performing an electronic circuit experiment, a server computer providing an electronic circuit design to the user local computer, a storage device for storing data necessary for the electronic circuit experiment, and a design of the local computer and the electronic circuit of the user. In the method of designing an electronic circuit by connecting a server computer to the Internet, 디스플레이하는 반도체 칩은 소자들의 결합으로 이루어져 있고, 상기의 소자는 입력핀과 출력핀 그리고 심볼로 구성이 되고, 입력되는 신호에서 입력핀의 값이 바뀌게 되면, 입력핀은 상기의 변경된 값을 심볼에 전달하고, 심볼에서는 입력된 값에 의해서 논리적인 계산을 수행하고, 상기 심볼에서 계산된 값과 출력핀의 값을 서로 비교하는데 비교한 값이 서로 상이하면 심볼에서 계산된 값을 출력핀으로 전송하고, 심볼에서 계산된 값이 출력핀의 논리 값과 동일하면 출력핀의 논리값을 유지하는 반도체 칩으로 구성됨을 특징으로 하는 전자회로 설계를 구성하는 시스템.The semiconductor chip to be displayed is composed of a combination of devices. The device is composed of an input pin, an output pin, and a symbol. When the value of the input pin is changed in an input signal, the input pin converts the changed value to a symbol. In the symbol, a logical calculation is performed based on the input value, and the value calculated in the symbol and the value of the output pin are compared with each other. And a semiconductor chip holding the logic value of the output pin if the value calculated from the symbol is the same as the logic value of the output pin.
KR1020020030184A 2002-05-30 2002-05-30 Breadboard System for Semiconductor Experiment KR20030092505A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020020030184A KR20030092505A (en) 2002-05-30 2002-05-30 Breadboard System for Semiconductor Experiment

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020020030184A KR20030092505A (en) 2002-05-30 2002-05-30 Breadboard System for Semiconductor Experiment

Publications (1)

Publication Number Publication Date
KR20030092505A true KR20030092505A (en) 2003-12-06

Family

ID=32385088

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020020030184A KR20030092505A (en) 2002-05-30 2002-05-30 Breadboard System for Semiconductor Experiment

Country Status (1)

Country Link
KR (1) KR20030092505A (en)

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0696151A (en) * 1992-09-11 1994-04-08 Toshiba Corp Logic simulator
JPH11203340A (en) * 1998-01-16 1999-07-30 Mitsubishi Electric Corp Cad system
JPH11338907A (en) * 1998-05-25 1999-12-10 Tekunooto:Kk Cad system utilizing network
KR20000024611A (en) * 2000-02-23 2000-05-06 유철호 System for supplying an electronic catalog using internet and method for controlling threrof
KR20010000809A (en) * 2000-10-20 2001-01-05 송용대 library support system of machine part through internet
KR20010029681A (en) * 1999-06-20 2001-04-06 아끼구사 나오유끼 System and method for integrated circuit design
KR20010104400A (en) * 2000-09-28 2001-11-26 박인학 Circuit design method and system using ip library on network
KR20010105204A (en) * 2000-05-16 2001-11-28 니시가키 코지 Manufacturing System for Semiconductor Integrated Circuit
KR20020020861A (en) * 2000-09-11 2002-03-16 가부시키가이샤 한도다이 리코가쿠 겐큐 센터 Production process standardization system of semiconductor device and method of same and storage medium storing that method
KR20030042649A (en) * 2001-11-23 2003-06-02 정익호 System for practicing Circuit Design with Embedded Program using Network
KR20030046021A (en) * 2001-12-03 2003-06-12 삼성전자주식회사 Simulation system for manufacturing semiconductor device and method for simulating therby
KR20030049921A (en) * 2001-12-17 2003-06-25 엘지전자 주식회사 Form Designing System Using a Network and Method for the Same

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0696151A (en) * 1992-09-11 1994-04-08 Toshiba Corp Logic simulator
JPH11203340A (en) * 1998-01-16 1999-07-30 Mitsubishi Electric Corp Cad system
JPH11338907A (en) * 1998-05-25 1999-12-10 Tekunooto:Kk Cad system utilizing network
KR20010029681A (en) * 1999-06-20 2001-04-06 아끼구사 나오유끼 System and method for integrated circuit design
KR20000024611A (en) * 2000-02-23 2000-05-06 유철호 System for supplying an electronic catalog using internet and method for controlling threrof
KR20010105204A (en) * 2000-05-16 2001-11-28 니시가키 코지 Manufacturing System for Semiconductor Integrated Circuit
KR20020020861A (en) * 2000-09-11 2002-03-16 가부시키가이샤 한도다이 리코가쿠 겐큐 센터 Production process standardization system of semiconductor device and method of same and storage medium storing that method
KR20010104400A (en) * 2000-09-28 2001-11-26 박인학 Circuit design method and system using ip library on network
KR20010000809A (en) * 2000-10-20 2001-01-05 송용대 library support system of machine part through internet
KR20030042649A (en) * 2001-11-23 2003-06-02 정익호 System for practicing Circuit Design with Embedded Program using Network
KR20030046021A (en) * 2001-12-03 2003-06-12 삼성전자주식회사 Simulation system for manufacturing semiconductor device and method for simulating therby
KR20030049921A (en) * 2001-12-17 2003-06-25 엘지전자 주식회사 Form Designing System Using a Network and Method for the Same

Similar Documents

Publication Publication Date Title
US6871331B1 (en) Combined waveform and data entry apparatus and method for facilitating fast behavioral verification of digital hardware designs
US6941546B2 (en) Method and apparatus for testing a software component using an abstraction matrix
US6366874B1 (en) System and method for browsing graphically an electronic design based on a hardware description language specification
Feijs et al. 3D visualization of software architectures
US20140214396A1 (en) Specification properties creation for a visual model of a system
Maloney Using constraints for user interface construction
US9047424B1 (en) System and method for analog verification IP authoring and storage
RU2751439C1 (en) Method and system for simulation in virtual electrodynamics laboratories
US6810508B1 (en) Method for automatically-remapping an HDL netlist to provide compatibility with pre-synthesis behavioral test benches
Dawson et al. Computer-aided design of electronic circuits a user's viewpoint
CN112380800B (en) Online FPGA (field programmable gate array) experimental platform for automatic evaluation and related method
KR20030092505A (en) Breadboard System for Semiconductor Experiment
Elouali et al. A model-based approach for engineering multimodal mobile interactions
Hsiung et al. MOBnet: An extended Petri net model for the concurrent object-oriented system-level synthesis of multiprocessor systems
Schürmann et al. Modeling design tasks and tools: the link between product and flow model
Yalamanchili et al. Workstations in a local area network environment
Martin et al. Integrating multiple parallel simulation engines for mixed-technology parallel simulation
Ruiz et al. Technology enhanced support for learning interactive software systems
WO2001008007A9 (en) Method and system of automated generation of program code from an object oriented model
Ordy et al. The N. 2 System
Singh A parametrized CAD tool for VHDL model development with X Windows
US20110029945A1 (en) NetList Maintenance in a Circuit Diagram
CN111596906B (en) MVPVM-based Android application development method, device, equipment and medium
KR100456631B1 (en) Apparatus and method for adaptation of design models in the object-oriented programming system and recording medium providing program therein
KR20030092503A (en) Electronic Circuit Design System Using Internet

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application