반응형 FPGA7 Control-Case Ⅰ. Case - verilog와 동일하기 때문에 짧게만 설명하겠습니다. - 앞에서 포스팅하였던 내용에서 unique / unique0 / priority 키워드가 나왔는데, case에도 동일하게 적용 가능합니다. 2022.10.11 - [Digital Hardware Design/System verilog] - Control - condition + unique-case : 하나도 매치가 안될 경우와 여러 case와 매치가 될 경우에 대해서 error report를 함 + unique0-case : 위와 유사하나, 아무것도 매치가 안될 때에는 report를 하지 않음 + prority-case : 조건 중에 어느 것도 매치가 안될 경우나 else에 대한 절이 없는 경우 error report를 함 ⅰ... 2022. 10. 24. Control - condition Ⅰ. if-else - c언어, verilog와 동일하기 때문에 짧게만 설명하겠습니다. - if / else if / else 구문을 통해서 조건에 따라서 내가 수행하고자 하는 행위를 결정할 수 있도록 합니다.- system verilog 에서는 특이하게 unique/unique0/priority라는 키워드를 추가적으로 지원합니다. (* 잘쓸까? 하는 의문이 드네요) + unique-if : 하나도 매치가 안될 경우와 여러 case와 매치가 될 경우에 대해서 error report를 함 + unique0-if : 위와 유사하나, 아무것도 매치가 안될 때에는 report를 하지 않음 + prority-if : 조건 중에 어느 것도 매치가 안될 경우나 else에 대한 절이 없는 경우 error report를.. 2022. 10. 11. Data type(3) Ⅰ. Structure - C언어에서 의 구조체와 동일하다고 생각하면 됨 + 같은 type 혹은 다른 type의 여러 변수들을 하나로 묶는 개념 (제 생각이지만, System verilog는 verilog 이외에 C의 장점도 잘 살린 언어인 것 같습니다.) // Structures 모양 struct { byte data1; int data2; string data3; logicdata4; bit data5; bit [5:0]bit_array; } struct_name; - 보통 C언어 공부를 할 때, Structure를 설명하면서 typedef를 이어서 설명하게 되는데, system verilog에서도 typedef가 있습니다! 그래서 이어서 설명할게요. + struct 키워드 이전에 "typedef"만.. 2022. 10. 9. PS-PL Interface Ⅰ. PS-PL Interface - PS-PL 간 메모리를 이용하여 data를 주고 받는 다고 하였음 - 그렇다면 메모리를 접근할때에는 어떠한 interface를 통해 통신하는가? PS는 PL과 Direct로 주고 받을 수 없는가?(*가능) 등 의문이 생길 수 있음 + ZYNQ는 AMBA(Advanced Microcontroller Bus Architecture) Bus를 기반으로 데이터를 송수신함 - 아래의 그림은 PL과 PS 간에 연결되어 있는 Line을 나타내고 있으며, Port 명에 따라서 Interface가 다름 (※여기서 GP HP 라고 하는 것이 AMBA버스의 Name은 아님 ) + GP(General purpose port) : 32 bit interface + HP(High perfor.. 2022. 9. 18. ZYNQ - PS(Processing system) Ⅰ. PS(Processing System) - PS 영역 내에는 다양한 item(APU(Application processing unit), IO Peripherals, Memory interface 등)이 존재 + APU는 쉽게 MCU라고 생각하면 됨 - 가장 중요한 것은 ZYNQ 내에는 HW-SW co-processing 하기 위해, CPU Core가 집적되어 있다는 것이고, 그것이 PS 영역에 있다는 것! Ⅱ. APU(Application Processing Unit) - 실제 Core 역할을 수행하며, 다양한 내부 블럭으로 구성되어 있음 - 중요한 것은 ARM 계열의 core가 집적되어 있음 (※ 그러나 이건 또한 series 마다 다름. ARM 인것은 동일하나 집적된 Core의 수나 종류는 다.. 2022. 9. 16. ZYNQ - PL(Programmable Logic) Ⅰ. PL의 내부 구조 - 해당 부분은 ZYNQ 이외에도 FPGA를 다루는 사람에게도 매우 중요한 내용이 됨 - PL 혹은 FPGA는 CLB(Configuration Logic Block), Block RAM, DSP Slice( *Multipiler&Accumalator), Input & Output Blocks 등으로 구성되어 있음 + 실제 우리가 설계한 counter 라든지 adder는 CLB 내 있는 Slice 라는 것으로 구현이 이루어짐 (※ 더 정확히 말하면 ,LUT로 구현됨) + 하나의 CLB로 모든 로직이 구현되는 것이 아니라, CLB 간이 WIRE로 연결되어 있기 때문에 큰 로직 구현이 가능 Ⅱ. CLB(Configuration Logic Block) - CLB 라는 것은 크게 Slice.. 2022. 9. 16. ZYNQ 개요 Ⅰ. ZYNQ란? - CPU Core unit과 FPGA 를 포함하는 SoC Chip (※ 여기서 CPU Core는 Arm 계열의 CPU를 의미) (※ 여기서 FPGA라고 적었지만, ZYNQ에서는 PL(Programmable Logic) 명명) - PCB level에서 CPU(or microprocessor) + FPGA 통신을 하는 것에 비해, 하나의 Chip으로 설계 됨으로써 개발 시간, 비용 측면에서 이득 - 또한, 기존 ASIC칩 들과 달리 PL(Programmable Logic) 영역을 가지고 있기 때문에 flexibility와 scalability를 가질 수 있음 Ⅱ. 현재의 ZYNQ - AMD(*Xilinx) 및 Intel(*Altera)에서는 FPGA 제품군 뿐만 아니라 FPAG와 ARM .. 2022. 9. 15. 이전 1 다음 반응형