분류 전체보기 100

2024.10.21 [SoC를 위한 Peripheral 설계]8 - cpu의 구조와 동작원리2 (Block_ALU_ACC, ALU_ACC_Test Bench)

2024.10.21 수업날저번시간에 만든 ALU와 ACC를 합쳐서 코드를 만들고, 이를 이용한 Test Bench를 만들어서 연산 결과가 잘 나타나는지 시뮬레이션으로 확인해본다.Block_ALU_ACC module Block_ALU_ACC( input clk, reset_p, acc_high_reset_p, input rd_en, acc_in_select, input [1:0] acc_high_select_in, acc_low_select, input [3:0] bus_data, input op_add, op_sub, op_mul, op_div, op_and, input [3:0] bus_reg_data, output zero_fl..

2024.10.14 [SoC를 위한 Peripheral 설계]7 - cpu의 구조와 동작원리1(ALU, ACC)

2024.10.14 수업날  ALU와 ACC의 구조 및 동작 원리  vivado 진행 순서새로운 project 만들어서 RTL project로 설정한 후, basys3 보드로 설정한다. Create File에서 ALU, ACC 생성 Add Files에서 아래와 같이 추가  ALU 소스코드////////////////////////////////////////////////////// 2024.10.14module ALU( input clk, reset_p, input op_add, op_sub, op_mul, op_div, op_and, input alu_lsb, /..

2024.10.10 [하만 커넥티드 자율 이동체 개발 프로젝트] - RTOS

2024.10.10 ~ 2024.11.25 목표.자율주행 구동이 되게 할 것(충돌, 스치는 행동 없이) 부가목표얼마나 빠르게 자율주행을 하는지- 실시간 시스템을 위해 개발된 운영체제- 멀티태스킹 환경에서 각 Task 처리 시간을 일관되게 유지하기 위한 용도로 사용됨- 시분할 시스템을 통해 우선순위가 높은 Task가 먼저 작업을 처리할 수 있게 함으로써 구현      설정을 마친 후, code generation을 실행하면 아래와 같이 freertos와 관련된 코드가 추가된다.  Main.c에는 아래와 같은 코드가 자동적으로 추가된다.  freertos.c에는 Task02, Task03을 .ioc에서 추가했기 때문에 아래와 같은 코드가 자동적으로 추가된다.  freertos.c에서의 간단한 LED test..

2024.9.24 [하드웨어 감시를 위한 신호 처리 시스템 설계 프로젝트]3 - A점, TP2 주파수 확인

2024.9.24오늘은 PCB에 나머지 부품들을 납땜하고, 납땜이 잘 되었는지 오실로스코프로 파형을 확인해본다. TP1에서 40KHz에 가까운 값인 38KHz의 값이 나타나는 것은 어제 확인하였고, 이번에는 A점에 15KHz, TP2에 17.2KHz의 값이 나타나는 것을 확인한다.       A점, TP2 주파수 확인 끝!

2024.9.23 [하드웨어 감시를 위한 신호 처리 시스템 설계 프로젝트]2 - PCB에 40KHz 발진기 납땜하기

2024.9.23세라믹 콘덴서+저항+소켓을 pbc에 납땜하는 것 진행오늘은 PCB 부분에 40KHz의 발진기 회로를 납땜해본다.저번에 40KHz의 구형파 주파수를 확인하기 위하여 브레드보드에 구현했던 회로를 그대로 PCB에 옮기면 된다.  원래는 가변저항 1개만 사용해야하는데, 오실로스코프에서 확인한 주파수의 값이 너무 작아서 가변저항을 한개 더 추가하였다.  38KHz의 주파수가 나타나는 것을 확인하였다.PCB에 40KHz 발진기 납땜하기 끝!

2024.9.12 [SoC를 위한 Peripheral 설계]6 - dht11_lcd(myip)

2024.9.12 수업날이번에는 온습도센서(dht11)에서 측정한 값을 LCD에 출력하는 IP를 만들어본다. vivado 진행 순서새로운 Block Diagram 생성 후,기본적인 Diagram까지 만들고 create and package new ip로 edit_myip를 진행한다.  Add Sources  slave 모듈 수정해야하는 부분  top 모듈 수정해야하는 부분  체크표시 확인 후 Re-Package IP 클릭  Block Diagram에 myip_dht11 추가  Generate Block Design에서 Global 선택 후 Generate 하기  Block Design에서 Sources의 .xdc에서 아래와 같이 수정  Mblaze_iic -> helloworld.c 소스코드(dht11_..

2024.9.12 [SoC를 위한 Peripheral 설계]5 - btn_intc(myip), iic(myip)

2024.9.12 수업날이번에는 버튼 인터럽트를 하는 IP를 만들어본다.Block Diagram에서 microblaze를 더블클릭하여 endable exception을 체크하여 인터럽트로 처리하도록 한다.  microblaze를 automation으로 할 때 아래와 같이 인터럽트 부분에 체크한다.  그러면 Diagram에서 인터럽트 컨트롤러가 추가된다.  axi_gpio에서 더블클릭하여 Enable Interrupt를 체크한다.  microblaze_0_xlconcat에서 number of ports를 2로 설정한다.  다음으로 Diagram에서 axi_gpio의 하나 남은 출력단과 microblaze_0_xlconcat를 수동으로 연결해준다.  다음으로 Diagram에서 axi_uartlite의 하나 ..