'Tech/Verilog'

해당하는 글 8
Verilog Simulation 이해하기 - Non-blocking과 Blocking assigment의 순서

Verilog Simulation은 Cycle-accurate Simulation이 가능하다는 장점이 있는 반면, 같은 time step T에 해당하는 모든 event가 동시에 수행된다는 점에서 복잡하기도 하다. 특히 순차적으로 동작하는 blocking statements와 동시에 동작하는 non-blocking statement가 섞여있으면 누가 더 먼저 실행되나? 헷갈리게 된다. 이렇게 Verilog Simulation 상의 Event 처리 순서..

Tech/Verilog 2013.10.08 20:10

[Verilog] 합성가능한 Verilog를 위한 Nonblocking assign 잘 사용하기

Verilog를 사용하다보면, C나 Java 등을 다루면서 써왔던 순차적 기술 방식과 다르게 동시에 동작하는 기술 방식 때문에 당황하게 된다. 특히나, Blocking과 Non-blocking 이라는 2가지 대입문이 존재하기 때문에 어디에 뭘 써야하나 고민될 때가 많다. 특히, Verilog는 코드 흐름상으로는 말이 되더라도 나중에 Digital circuit으로 합성하면 동작하지 않는 경우도 많아서 상당히 골치아프다. 제대로 이해하기 위해서는 Ve..

Tech/Verilog 2013.10.07 22:53

[Verilog] Latch를 피하는 방법 (combinational logic 기술 시 유의할 점)

 Verilog를 이용해서 디지털 회로를 디자인할 때, always@ 기술 시 의도하지 않은 Latch 생성에 유의해야 한다. 처음 Verilog를 이용해서 만들 때에 매번 synthesis report를 확인하면서 latch가 생기지 않았나 검색하던 기억이 난다.  의도치 않은 Latch는 always 구문을 이용해서 combinational logic을 기술할 때 가장 많이 발생한다. Verilog에서는 always 로 작성..

Tech/Verilog 2013.02.28 15:03

[SoC] Getting Gate Count - 게이트 개수 구하기

반도체 회로의 규모는 흔히 게이트 개수를 이용해서 표시하곤 한다. 디지털 회로 설계는 대부분 Verilog를 통해 이루어지기 때문에, 내가 만든 디지털 회로가 실제로 몇 개의 gate로 이루어져 있을지 개발 단계에서 가늠하기가 어렵다. 그래서, 이런 경우에는 칩의 면적을 통해서 gate 개수를 추정하는 방법을 많이 사용한다. 이는 칩의 gate 개수를 공개하지 않는 다른 이들의 칩을 분석하는 방법으로도 유효하다. 물론 제한된 면적 안에 최대한 많이..

Tech/Verilog 2012.12.27 03:34

Verilog : parameter가 선언된 module은 합성 할 때 template을 명시하자

Verilog를 배우기 시작하면, 처음 얼마간은 C/C++나 Java 등 프로그래밍 언어처럼 접근해서 사용하며 친숙해지겠지만, 본격적인 반도체 설계에 들어간다면 Synthesis 과정 등을 위해 고려해야할 점이 더 많아진다. 특히, Synopsys 사의 Design compiler에만 적용되는 몇가지 Verilog keyword 들이 있는데 (// 주석을 이용한 pragma 등) module의 선언에 흔히 사용되는 parameter도 특정 pragm..

Tech/Verilog 2012.05.22 01:38