일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- axi
- SQL
- hdl
- baekjoon
- verilog
- Vivado
- 리눅스
- Backjoon
- 백준
- AMBA BUS
- 정처기
- FPGA
- chip2chip
- linux
- boj
- Bus
- Xilinx
- Zynq
- C++
- UNIX
- 실기
- HDLBits
- 정보처리기사
- 코딩테스트
- Beakjoon
- amba
- 자격증
- java
- vitis
- verilog HDL
- Today
- Total
목록전체 글 (128)
Hueestory
#include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; queue q; for (int i = 1; i 1) { q.pop(); q.push(q.front()); q.pop(); } cout 1. 입력받은 값 만큼의 숫자를 queue에 차례대로 push2. queue size가 1이 될 때까지 pop -> push -> pop 진행3. queue size가 1이 되면 남아있는 값 출력
#include #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); int n; cin >> n; vector A(n, 0); vector ans(n, 0); stack st; st.push(0); for (int i = 0; i > A[i]; for (int i = 1; i 1. stack에 A의 index를 순서대로 push2. stack이 비어있지 않고 A[i]이 A[st.top()] 보다 큰 경우 해당 index의 A 값을 ans에 입력3. while loop가 종료된 후 stack이 비어있지 않다면 빌 때까지 ans에 '-1'을 입력
#include #include #include #include using namespace std;int main(){ ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); stack st; vector answer; int num = 1; int N; cin >> N; for (int i = 0; i > a; if (!st.empty() && st.top() == a) { st.pop(); answer.push_back('-'); } else if (a >= num) { while (a >= num) { st.push(num++); answer.push_back('+'); } st.pop(); answer.pu..
31 - Always if module top_module( input a, input b, input sel_b1, input sel_b2, output wire out_assign, output reg out_always ); assign out_assign = (sel_b1 & sel_b2) ? b : a; always @(*) begin if (sel_b1 & sel_b2 == 1) begin out_always = b; end else begin out_always = a; end end endmodule 32 - Always if2 module top_module ( input cpu_overheated, output reg shut_off_computer, input arrived, inpu..
Vivado를 사용해 Zynq IP 생성 → Vitis를 사용해 C 코딩 1. LED on / 'LED is ON' 출력 2. sleep 1s 3. LED off / 'LED is OFF' 출력 4. sleep 1s * while을 통해 무한루프 * sleep 함수는 vitis에서 이용할 수 없으므로 sleep.h의 usleep 사용 (usleep은 micro second 단위를 사용하므로 usleep(1000000) → 1초 대기) Vitis C Code #include #include "sleep.h" #include "xgpiops.h" #include "platform.h" int main() { static XGpioPs psGpioInstancePtr; XGpioPs_Config * GpioC..
Vitis C Code #include #include "xgpio.h" #include "xgpiops.h" #include "platform.h" int main() { static XGpio GPIOInstance_Ptr; static XGpioPs psGpioInstancePtr; XGpioPs_Config *GpioConfigPtr; u8 count = 0; int xStatus; int BtnPinDirection1 = 0, BtnPinNumber1 = 50; int Readstatus = 0, OldReadstatus = 0; init_platform(); // Step 01 : AXI GPIO Initialization // xStatus = XGpio_Initialize(&GPIOInst..
- 여러 Block들이 상호 Data를 전송하기 위해 이들을 전기적으로 연결한 공유 신호선 장점- 인터페이스의 간소화 : IP Block들을 wire로 point-to-point 방식으로 잇게 되면 선이 많고 복잡함 - 확장성 : IP Block을 추가할 때 Bus에만 연결하면 됨 - APB, AHP, AXI : Performance를 위해 Bus 분리 - 빠른 동작이 필요 없는 것들은 APB와 같은 저속 Bus에 연결 - 빠른 동작이 필요한 것들은 AHB와 같은 고속 Bus에 연결 - 전력 소비를 최소화하고 인터페이스의 복잡성을 줄이기 위해 최적화된 저가형 인터페이스 - 고성능을 요구하지 않는 주변 장치를 위한 Bus - 인터페이스의 간소화, 확장성- APB Process1. Master는 여러 S..
Vitis C Code #include #include "xgpiops.h" #include "platform.h" int main() { static XGpioPs psGpioInstancePtr; XGpioPs_Config * GpioConfigPtr; int xStatus; int BtnPinDirection = 0, BtnPinNumber = 50; int LedPinDirection = 1, LedPinNumber = 7; int Readstatus = 0, OldReadstatus = 0; init_platform(); print("Hello World\n\r"); // step 1 : PS GPIO Initialization // GpioConfigPtr = XGpioPs_LookupConf..