본문 바로가기
728x90
반응형

VLSI5

Verilog Simulator 종류 - Commercial Verilog Simulator 종류 - Commercial ① Mentor Graphics – ModelSim, QuestaSim RTL Code 시뮬레이션용. ModelSim은 기본 시뮬레이터. QuestaSim은 UVM, power aware simulations, AMS 등 고급 기능 사용 가능. ModelSim은 학부 과정에서 수업 시에 많이 접해볼 수 있는 시뮬레이터이다. ② Intel/Altera – Quartus Intel/Altera 전용 FPGA 디자인 플랫폼 Intel/Altera FPGA를 구매했을 때, 시뮬레이션과 합성을 위해 사용. ③ AMD/Xilinx – Vivado AMD/Xilinx 전용 FPA 디자인 플랫폼 AMD/Xilinx FPGA를 구매했을 때, 시뮬레이션과 합성을.. 2024. 3. 22.
Verilog Simulator 종류 - Open Source Verilog Simulator 종류 - Open Source ① Icarus Verilog(iverilog) – Stephen Williams 사용하기 쉬움Verilog 지원, SystemVerilog 지원하지 않음Verilog만 컴파일 가능compile : iverilog simulation : vvp waveform : waveform을 보려면 GTKwave를 사용. 일반적으로 많이 사용하는 무료 Verilog Simulator이다. Stephen Williams이란 사람이 개발하였다고 한다. Verilog만 지원 가능하고 다른 추가적인 기능들이 많이 부족하지만 입문자들이 간단하게 Simulation하기에 적합한 Simulator인 것 같다. 위키피디아에는 SystemVerilog도 어느 정도 지원.. 2024. 3. 21.
[SystemVerilog] 1.2 SystemVerilog의 특징 1.2 SystemVerilog의 특징 SystemVerilog의 특징은 크게 OOP(Object-Oriented Programming), Random Stimulus, Coverage-Driven 3가지로 볼 수 있다. OOP(Object-Oriented Programming, 객체지향 프로그래밍) OOP는 소프트웨어 엔지니어들이 고수준의 시스템 레벨 어플리케이션을 개발하기 위해 사용하는 방법론이다. 이것은 대부분의 RTL 설계 엔지니어들이 SystemVerilog에 입문하고 처음으로 좌절을 맛보는 가장 큰 이유가 된다. 하지만, OOP는 SystemVerilog를 강력한 검증 언어로 만드는 일등 공신이며, Testbench를 효율적으로 구축하기 위해서 반드시 알아야 하는 개념이다. OOP는 컴퓨터 프.. 2023. 10. 22.
[SystemVerilog] 1.1 SystemVerilog란? 1 Introduction 1.1 SystemVerilog란? 반도체 Chip의 복잡도와 크기가 증가하면서 설계보다는 검증의 비중이 점점 커지고 있다. 오직 설계하는 것을 목표로 한다면, Verilog-2001까지의 문법으로도 대부분의 Logic을 구현할 수 있다. 하지만, Verilog만으로는 복잡한 Logic을 효율적으로 검증하기에 무리가 있다. 그래서, 검증을 효율적으로 정확하게 하기 위해 탄생한 언어가 바로 SystemVerilog이다. HDL(Hardware Description Language)의 역사 ~1980 1990 2000 2010~ VHDL - ’81: VHSIC - ’87: IEEE 1076-1987 (VHDL-1987) - IEEE 1164-1993 - IEEE 1076-2002 .. 2023. 10. 22.
인코더와 디코더(Encoder and Decoder) 인코더(Encoder) : 신호를 특정 코드로 변환시키는 회로 2^n비트의 입력을 n비트의 출력으로 암호화한다. 2^n개의 입력 신호 중 1개만 1이 되면, 1에 대응되는 n비트를 가진 암호가 출력된다. 4 x 2 인코더를 구현해보자(n=2). module encoder( y0, y1, y2, y3, a0, a1); input y0, y1, y2, y3; output a0, a1; assign a1 = ~y0 & ~y1; // y0과 y1를 반전시키고 AND 연산을하면 a1가 된다. assign a0 = ~y0 & ~y2; // y0과 y2를 반전시키고 AND 연산을하면 a0이 된다. endmodule 디코더(Decoder) : 특정 코드를 신호로 출력하는 회로 n비트의 입력을 2^n비트의 출력으로 해독.. 2022. 7. 26.
728x90
반응형