본문 바로가기

전체 글59

SoC ASIC Flow(디지털 반도체 설계) 목차 Front End Flow Design Specification, RTL Design 디자인의 스펙을 정하고, IP를 선정 및 구매하고 필요에 따라 logic를 설계하고 Integration 하는 과정입니다. 현재는 주로 Verilog HDL를 사용합니다. Design Verification Coverege 100%를 목표로 보통 UVM환경에서 Simulation를 통해 디자인의 오류가 없는지 점검하고, 모든 코드들을 검증합니다. 기능적인 측면을 중점으로 검증이 이뤄집니다. Soft IP가 주 대상이며, Hard IP의 경우 model를 물립니다. VCS, Xcelium 같은 Tool를 주로 사용합니다. Loigc Synthesis SDC(Synopsys Design Constraint)를 작성하고.. 2023. 7. 20.
[Verilog] Full-adder, Ripple-carry adder 목차 1bit Full-adder circuit diagram and truth table Code 2023. 7. 20.
[Verilog] Clock generator 목차 Clock generator Blocking assignment(BA)을 사용해야 합니다. NonBlocking assignment(NBA)는 사용하지 말아야 합니다. 시작신호(time-0)는 Low로 권장합니다. negedge로 초기화해야 합니다. start_delay 사용을 권장합니다. Clock을 BA로 설계해야 하는 이유 BA로 표현한 문장은 처리되는 중 다른 이벤트들이 처리되지 않습니다. Clock은 모델의 작동에 기준이 되기 때문에 BA로 작성하여 확실한 이벤트 처리 기준이 되어야 합니다. 2023. 7. 20.
[Perl] Boolean 목차 Boolean 논리학에서 참(true)과 거짓(false)을 나타내는 데 사용하는 개념 Perl에서는? Perl에는 특별한 Boolean 타입은 없습니다. Perl 문서에서 어떤 함수가 "Boolean" 값을 반환한다고 나온 것을 종종 볼 수 있습니다. ​ 모든 스칼라 값들은 if를 써서 검사할 때 Truth or False 이 됩니다. 실제로는 어떤 함수가 "참"을 반환하다라고 하는 값은 보통 1을 반환합니다. "거짓"을 반환한다고 하는 값은 문자열로서 처리될 때는 빈 문자열 "' '처리되고, 수로 처리될 때는 0으로 처리됩니다. 수 0, 문자열 '0'과 '', 빈 리스트 "()", 그리고 "undef"은 불리언 컨텍스트에서는 모두 거짓이다. 그 외의 모든 값들은 다 참이다. 참인 값에 "!" 또.. 2023. 7. 20.
[APB] AMBA APB에 대해 알아보자(Revisions, Signals, Basic transfers) *All photos and content in this article are copyrighted by Arm Ltd. This is a personal compilation for students and practitioners entering digital design. Content may be removed or modified at any time at the request of the copyright holder, Arm Ltd. Copyright © 2003-2023 Arm Ltd. All rights reserved. AMBA APB SPEC ARM 홈페이지에서 다운로드하실 수 있습니다. 아래 이미지를 누르면 다운로드 가능한 ARM 공식 홈페이지로 이동합니다. APB Revisions .. 2023. 7. 20.
[Verilog] Blocking(=) vs Nonblocking(<=) 목차 Blocking assignments (BA) always 블록 내에서 실행 순서를 제어하기 위해 사용합니다. 현재 명령문이 실행될 때까지 다음 명령문의 실행을 차단합니다. 앞선 명령문이 실행되고 나서 뒷선 명령문들이 차례대로 실행됩니다. 2023. 7. 19.
[Verilog] Parameter 목차 Parameter Verilog HDL의 Parameter는 variable이나 net에 속하지 않습니다. 상수입니다. ​ Parameter의 두 가지 타입 module parameter, witg localparam specify parameters(specparams) parameter : 기본적으로 모듈 내에서 상수값을 특정 문자열에 mapping defparam : 모듈밖에서 parameter값을 재정의(혹은 override) 할 때 사용 localparam : 모듈내에서 localparam으로 선언하면 모듈밖에서 바꿀 수 없음 Specpara : parameter와 비슷하지만 특정 블록 내에서만 사용됩니다. Parameter example 2023. 7. 19.
[System Verilog] 'break' and 'continue' 목차 break loop construct에서 break를 만나면 바로 end로 진입합니다. Code 2023. 7. 19.
[Verilog] D F/F 목차 D 플립플롭 D 래치와 달리, D 플립플롭은, 입력 D(데이터)를 Clk(클럭)에 따라 출력합니다. CP=1, D=1 : G3 출력은 0, G4 출력은 1, 따라서 Q=1 CP=1, D=0 : G3 출력은 1, G4 출력은 0, 따라서 Q=0 Verilog Code 2023. 7. 19.
반응형