digital design 4

[System on Chip] IP(Intellectual Property)

SoC분야에서 IP(Intellectual Property)는 재사용이 가능하도록 잘 정리, 정의된 모듈을 의미합니다. 이때 IP를 재사용하는 이유는 처음부터 재설계를 하면 개발시간이 너무 오래걸리기 때문입니다. 이는 time to market을 떨어트리고 결국 chip을 생산하는 회사의 수익감소로 이어져서, 대부분의 SoC 제조사들은 ARM 사에서 IP를 구입해서 개발을 진행한다고 합니다. 위 사진은 삼성에서 만든 AP(Application processor)인 Exynos 7420입니다. 이러한 Architecture만을 통해서는 동작을 자세히 이해할 수는 없지만, core, cache, ISP 등이 bus(ABMA라는 protocol을 따릅니다.)를 통해 interconnected된 것을 확인할 수..

EE/System on Chip 2022.03.02

[verilog HDL] 16-bit ALU(Arithmetic Logic Unit)

논리회로설계 In Class assignment로 나온 16bit ALU 설계입니다. 최상위 module은 ALU이고 하위 module이 5개(+, -, *, /, 4 to 1 MUX)가 있습니다. input은 16bit a, b, 2bit select signal이고 output은 16bit z입니다. module의 hierarchy와 structure을 도식화해보면 다음과 같습니다. 위 그림을 보면 다음을 알 수 있습니다. ⅰ) Add, Sub, Mul, Div module 각각에 input a, b가 들어간다. ⅱ) MUX의 input으로 들어가는 arithmetic module의 output을 wire로 선언해야한다. ⅲ) MUX의 output이 ALU의 output이 된다. ⅳ) sel sign..

EE/Verilog HDL 2022.02.23

[verilog HDL] Syntax 1. module & instantiation

verilog는 HW 설계를 목적으로 만들어진 언어이며, C, C++과 문법이 상당히 유사합니다. verilog에서는 module이라는 개념이 매우 중요합니다. C에서 비유하자면 함수와 그 기능이 매우 흡사합니다. 구현하고자 하는 module을 verilog 파일로 작성하고, testbench(이하 tb)라는 파일을 작성해 그 module을 simulation 할 수 있습니다. 이때 tb 또한 verilog 문법을 따라서 작성합니다. verilog 코딩을 해보면 알 수 있지만, 사실 module 자체의 코딩은 그렇게 길지 않습니다. 오히려 tb를 작성하는데 많은 개발 시간을 할애하게 됩니다. module의 instantiation이라는 개념이 있는데, 이는 4-bit Ripple carry counter..

EE/Verilog HDL 2022.02.15

[Xilinx vivado] 프로젝트 생성 후 Synthesis & Simulation

taigon 교수님 논리회로설계에서 사용하는 tool인 xilinx사의 vivado 사용법입니다! 우선 vivado 2020.2를 실행합니다. xilinx 홈페이지 https://www.xilinx.com/support/download.html 에서 tool을 다운로드 받을 수 있습니다. 용량이 상당히 크니(약 60G) PC 용량 확인 후 설치하시기 바랍니다. 여기서 2020.2 버전을 사용하는 이유는 무료버전인 Webpack이 2020.2 까지 제공되기 때문입니다. 최신버전은 유료 라이센스를 구입하여 사용해야 합니다. 저는 아무것도 모르고 최신버전을 다운받아서 라이센스 해결하느라 4시간 날려먹고 2020.2 Webpack을 재설치했습니다. 저처럼 시간버리시는 분들이 없기를.. vivado를 설치한 후 ..

EE/Digital Design 2022.02.09