728x90

Semiconductor, Embedded/0. RTL, Simulation 11

컴퓨터 구조 및 CPU 동작 원리 (4) - 32 Bit RISC CPU(Pipeline) Simulation 분석

https://insoobaik.tistory.com/719 컴퓨터 구조 및 CPU 동작 원리 (3) - 32 Bit RISC CPU(Pipeline) RTL 설계https://insoobaik.tistory.com/717 컴퓨터 구조 및 CPU 동작 원리 (1) - 기본 개념목차컴퓨터의 구성요소 5가지Absractions and ISADefining PerformanceInstruction SetMIPS Arithmetic OperationRegister OperandsMemory OperandsImmediate Opeinsoobaik.tistory.comRTL 설계에 이어서 Simulation 분석을 해 볼 것이다.Schematic빨간색은 D/FF Reference를 포함한 InstMem, Contr..

컴퓨터 구조 및 CPU 동작 원리 (3) - 32 Bit RISC CPU(Pipeline) RTL 설계

https://insoobaik.tistory.com/717 컴퓨터 구조 및 CPU 동작 원리 (1) - 기본 개념목차컴퓨터의 구성요소 5가지Absractions and ISADefining PerformanceInstruction SetMIPS Arithmetic OperationRegister OperandsMemory OperandsImmediate Operands컴퓨터의 구성요소 5가지1. Datapath : 데이터에 대한 연산 수행2. Contrinsoobaik.tistory.com https://insoobaik.tistory.com/718 컴퓨터 구조 및 CPU 동작 원리 (2) - CPU 동작 구조 (Pipelining)9개의 Instruction을 통해 CPU 동작 원리를 설명할 것이다...

RTL - I2C (Master / Slave - Simulation, Code)

https://insoobaik.tistory.com/672위 I2C 이론을 기반으로 RTL 코드를 설계할 것이다.- Simulation- Master Write / Slave Read 동작(현재 Master와 Slave 신호를 둘 다 보기 때문에 둘 사이에 동일하게 동작하는 신호의 경우 위와 같이 동일한 2개의 신호가 나오는 것 처럼 보일 것이다.)Master에서 Address 포함 Write 동작에 대한 전체 Simulation은 위와 같다. 1. Start ConditionSCL이 1인 상태에서 SDA가 0으로 떨어지는 구간은 Start Condition을 나타내고 I2C 프로토콜이 동작하기 시작하는 구간에 해당한다.bitcount, state, pulse의 값이 동작하기 시작한다. 2. Addre..

RTL - Two Port SRAM / Dual Port SRAM 구조 및 설계

https://insoobaik.tistory.com/666 이전 tpsram을 사용한 Cache 동작과정에 대해 알아보았다. 이번 포스팅에서는 Cache 사용되는 SRAM의 두 종류 tpsram, dpsram에 대해 알아볼 것이다.■ Two Port SRAM  Two Port SRAM의 경우 2개의 Port를 통해 Read, Write를 할 수 있다. 각 Port는 Read, Write만 할 수 있다. Port에 대한 주소만 같지 않다면 A포트에서 값을 쓰고 B포트에서 같은 클럭에 값을 읽어갈 수 있다.■ Dual Port SRAM Dual Port SRAM은 마찬가지로 Read, Write 포트가 구분되어 있으며, 추가로 입출력 Port 쌍이 두개가 존재한다. Two Port의 경우 주소가 다르다 하..

RTL - CACHE(Two Port SRAM) 동작 과정 및 설명

■ CACHE 구조 https://insoobaik.tistory.com/661 Cache 구조 및 동작 원리보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comCACHE에 대한 내용은 위 글을 참조하길 바랍니다.■ Block Diagram■ 설계 조건  및 입/출력 Port - 설계 조건 Block size = 4BMemory size = 256B (64 Blocks)Cache size = 16B (4 Sets)Write-backreq & ack handshakingOne req at a time - 입/출력 Port - clk : 동기화를 위한 Clock 신호를 전달하기 위한 Port- rstn : 비동기 reset을 위한 Port - i_cpu_req..

RTL - SRAM (`ifdef를 이용한 FPGA, ASIC 코드 분리)

https://insoobaik.tistory.com/660 SRAM 구조 및 동작 원리보호되어 있는 글입니다. 내용을 보시려면 비밀번호를 입력하세요.insoobaik.tistory.comSRAM에 대한 내용은 위 글을 참고한다.■ SRAM SRAM은 기본적으로 clock, cs, we, ad, din, dout Pin을 가지게 된다. - clock : 동기화를 위해 사용된다.- cs : Chip Select로 해당 칩을 동작 시킬것인지 정하게 된다. High 신호에 동작하는 경우, cs가 1(High)일 때 만 Read, Write 행위가 가능하다.- we : Write Enable로 해당 메모리에 Read할 것인지 Write할 것인지 정하게 된다 (ex we 신호가 0일 경우 Read, we 신호가 ..

RTL - SPI (Master, Slave, FSM) (2) FSM, MASTER, SLAVE & SLVAE 활용

https://insoobaik.tistory.com/594이전에 간단한 FSM 구조와 SLAVE 구조에 대해 알아보았다.이번에는 FSM을 통한 MASTER, SLAVE 구조를 구성하고MASTER에서 8bit 데이터를 보내게 되면 각 bit가 의미하는 정보를 기반으로 Register에 값을 Read, Write 하는 코드를 작성할 것이다.MASTER 코드 및 코드 분석SLAVE 코드 및 코드 분석SLAVE 활용 코드 및 코드 분석MASTER master는 사용자로부터 데이터를 받아서 해당 데이터를 spi의 sclk 주기에 맞게 slave에게 데이터를 전송하고 받는다.아래 코드는 사용자로부터 데이터를 받아 8비트동안 slave에게 데이터를 전송하고 그 다음 8번의 sclk 주기 동안 slave로부터 데이터..

RTL - SPI (Master, Slave, FSM) (1) FSM, SLAVE

* SPI에 대한 기본적인 통신 과정은 알고 있다는 가정에 글을 작성합니다.https://insoobaik.tistory.com/571 - SPI  이론FSMFSM_SPI & SPI_SLAVEFSM_SPI (Master)SPI_SLAVEFSMFSM (Finite State Machine)유한 상태 기계는 특정한 상태(state)들 사이를 전이(Transition)하며 동작하는 추상적인 모델이다.이는 상태(state), 상태 전이(transition),  초기 상태(initial state), 종료 상태(final state)로 구성된다. - 상태(state) : 시스템이나 장치가 가질 수 있는 다양한 조건이나 모드를 나타낸다. 각 상태는 시스템의 특정 동작을 나타낸다.- 상태 전이(Transition) ..

RTL - Xcelium, Verilog를 이용한 CPU RISC 구조 설계

CPU RSIC Multiplexor Driver ALU Controller Register Memory Counter RISCCPU CPU (Central Processing Unut) : 중앙 처리 장치 - CPU는 4단계의 사이클로 명령어를 처리한다.1. Fetch : 명령어 인출 - CPU에서 명령어를 읽어온다.2. Decode : 명령어 해독 - 읽어온 명령어를 해독한다.3. Execute : 명령어 실행 - 해독한 명령어를 실행한다.4. Store : 결과 저장 - 계산 결과를 저장한다.  - CPU에는 특수한 목적을 가지고 있는 레지스터들이 있다.1. AR(Address Register) : PC에 저장된 명령어가 주소 버스로 이동하기 전에 일시 저장한다.2. PC(Program Counte..

Xcelium - (Verilog 파일 전송 및 Xcelium 실행)

(기본적인 Linux 사용법은 알고 있다고 가정한다.) Xcelium 기본 명령어 csh : C Shell의 약어xrun : 시뮬레이션을 실행하는 데 사용되며, 다양한 옵션을 설정하여 시뮬레이션 동작을 제어할 수 있다.-access +rwc : 디자인 파일에 대한 액세스 권한을 설정한다. +rwc는 읽기, 쓰기 및 변경이 가능한 엑세스를 의미한다.-gui : GUI를 열도록 한다. 시뮬레이션 결과 및 디버깅 정보를 시각적으로 확인할 수 있다. Verilog를 이용하여 코드를 작성한다. Verilog Code nor3_bitop.vmodule nor3_bitop ( input [2:0] a, output out_nor3 ); assign out_nor3 =..

728x90