
IT/ASIC | FPGA 2024. 2. 15.
Verilog 기초 - case 문
Verilog 기초 문법과 관련된 것도 하나씩 정리해 보자. 오늘은 case 문이다. if 문과는 다르게 병력적으로 우선순위 없이 생긴다는 장점이 있다. 반드시 우선순위가 필요하다면 if else 문을 사용해야 하며, 같은 조건에서 mux 하는 로직 같은 경우에는 case 문을 활용하면 된다. 아래 문법과 예제는 다음 사이트에서 참고하였다. https://vlsiverify.com/verilog/case-statement/ Case 문법 기본 문법은 다음과 같다. case() : : : : begin ... ... end default: endcase 사실 예제로 보는 게 가장 낫다. Case 예제 module case_example; reg [2:0] data; always @(data) begin c..

IT/ASIC | FPGA 2019. 4. 25.
[HDL] Test Bench 작성가이드 in Verilog
이것저것, 책도 인터넷도 뒤져봐도 기본이 중요 첨부된 자료정도면 기본 이해 뿐 아니라 왠만한 건 그냥 해결 가능 카운터 테스트를 예제로 해서 자세히 설명되어 있음. 반드시 숙지한 후 작업에 적용하기 원본 소스 : http://people.ece.cornell.edu/land/courses/ece5760/Verilog/LatticeTestbenchPrimer.pdf 꼴랑 10페이지니깐, 다 외울 수도 있겠다. 모듈 인스턴스 정의하고, 맵핑하고, 클럭 정의해서 기본으로 주는 부분. 추가로 디버깅을 위해 출력하는 예제 부분만 살짝 캡처 초초 기본이니깐 너무 큰 기대는 말고, 다들 짜요~~
IT/ASIC | FPGA 2018. 11. 28.
(2018)[IDEC 연구원 교육] Cell-Based 설계 Flow 교육
(2018)[IDEC 연구원 교육] Cell-Based 설계 Flow 교육 그리고, IDEC 의 강의 리스트에도 이 자료의 소개가 있다. (2018)[IDEC 연구원교육] Cell-based flow 교육 - http://www.idec.or.kr/vod/apply/view/?&no=144 [강좌 개요] - 디지털 칩 설계 전체 과정 중, 본 과정은 Front – End 과정을 다루는데 초심자의 눈높이에 맞추어 이론과 실습을 진행함. 기존의 Front-End 강좌에 Verdi Verification과정을 추가하여 새롭게 업데이트 했습니다 - IC Compiler 를 이용한 Layout 방법을 소개하고 Back-end 과정 진행 시 주의 사항에 대해서 학습할 수 있도록 합니다. [사전지식] 디지털 논리회로..
IT/ASIC | FPGA 2017. 8. 7.
Timing sign-off corner
Timing sign-off cornerLet us say, each minima/maxima in cell characteristics as ‘PVT corner’ and net characteristics as ‘extraction corner’. Each combination of PVT extraction corners is referred to as a ‘timing corner’ as it represents a point where timing will be extreme. http://vlsiuniverse.blogspot.kr/2014/01/timing-corners-dimensions-in-timing.html
IT/ASIC | FPGA 2016. 9. 22.
edge detect pulse - 트리거된 이벤트를 알아내 한 클럭 pulse 만들기
머 제목부터 어렵다.정하기가..국어가... 왜 - 시나리오어떤 신호가 '1' 인 상태로 여러 클럭에 걸쳐져 있다.그런데 나는 '0' 에서 '1'로 올라간 이벤트를 알려주는 것처럼 한 번의 사건에 한 클럭만큼의 이벤트 펄스를 만들기를 원한다.해결은 그림으로이렇게 하면 된다. 즉 그림의 OUT 신호를 보고 사용하면 해결~~그림은 남이 그린 것이므로 원본글의 위치를 알려드립니다.보시고 HDL 코드도 필요하다고 생각하시면 해당글에 가셔서 꼭 읽어보세요. http://www.boldport.com/blog/2015/4/3/edge-detect-ad-nauseam 즐~~
IT/ASIC | FPGA 2016. 9. 22.
CDC(Clock Domain Crossing) 설계시 반드시 들어가는 synchronizer
이전글에 이어 하나더, ASIC 설계시에 가장 중요한,실제 합성 후의 이상한 현상이 발생하는 경우 가장 많이 의심하는 이부분 CDC 설계에서 기본적인 것이라 볼 수 있다.그림으로 설명이 가능하다.물론 원본글은 아래 글에 방문하여 전체를 읽어 보는 것이 좋다. https://electronicsnews.com.au/best-design-practices-for-high-capacity-fpga-devices/ 무작정 다른 클럭의 시그널을 보고 사용하는 경우 Meta 상태의 값을 레퍼런스 할 수 있으므로이후 동작을 보장할 수 없다. 경우에 따라 다른 상황이 발생할 수도 있고, 잘 동작할 수도 있다. 운좋게.. 무튼, 그래서 무조건 F/F 2개 정도를 clock domain 사이에 넣어주는 것이 일반적인 기법..
IT/ASIC | FPGA 2016. 9. 22.
Recommended reset synchronization scheme
설계시 참고할 내용이 정말 많은 필수 페이지 일단 그중에서 필요한 내용은 바로 이것.원본글은 여기다. https://electronicsnews.com.au/best-design-practices-for-high-capacity-fpga-devices/ 이 그림이 뜻하는 바는 알고 가자. 리셋상태로 가는 것은 언제든지 async 한 조건으로 가고리셋에서 풀리는 경우에는 내부 시스템 클럭에 맞추어서 풀리도록 한다.여러 F/F 동작에 안정성을 부여할 수 있다. 즐
IT/ASIC | FPGA 2016. 7. 19.
Design compiler 관련 글 - Synopsys 합성 툴
Design compiler 관련 글 - Synopsys 합성 툴여기 저기 참 많이 있겠지만, 몇몇개 찾아서 본 자료들만 링크라도 모아 RTL 합성에 관련된 기본적인 내용이 잘 정리되어 있다. 아래 2개의 글만 숙지해도 문제가 없을 듯.Synthesis ABCs Part 1 - http://docslide.us/documents/syn-abc-part1.htmlSynthesis ABCs Part 2 - http://docslide.us/documents/syn-abc-part2.html그리고, 어렵게 찾아두는 한글 자료들. 열심히 하신 분들이 많이 계시네요. Design Compiler 정리 (http://blog.naver.com/PostList.nhn?blogId=beahey&from=postList..
IT/ASIC | FPGA 2015. 12. 29.
Simulating verilog VHDL using Synopsys VCS - 칩 설계 검증 툴
Synopsys VCS 사용 - HDL compile & simulation, 칩 설계 검증 아래 2가지 원본 글을 가지고 아래와 같이 간단한 tutorial을 만들어 보았다. 한글이 곳곳에 보이도록 했다. 그래도 원본을 감상하시는 예의를 갖추도록.정리는 하고 있는 중인데, 자료는 쓸만해서 그냥 올리니 대충 이해해 주시길. (via http://www.vlsiip.com/vcs/)(via http://salinasv.blogspot.kr/2011/05/simulating-mixed-language-hdl-using-vcs.html) VCS에 관한 간단한 사용법 소개. VCS is 3 step process 3단계로 구성된다.Compile/Analysis1차 간단한 문법 분석, vhdlan/vlogan 명..
IT 2014. 7. 17.
Xilinx NGC netlist file 변환 - Verilog top 파일 만들기
.ngc 파일에서 vhdl, verilog top 파일 만들기 ISE를 쓰는 경우, ngc파일을 가지고 있어 사용하는 경우 top파일이 필요하기도 하다.간단하게 ngc에서 top 파일 만드는 방법http://www.fpgadeveloper.com/2011/08/how-to-read-an-ngc-netlist-file.html To convert the netlist into VHDL type “netgen -ofmt vhdl filename.ngc“. Netgen will create a filename.vhd file.To convert the netlist into Verilog type “netgen -ofmt verilog filename.ngc“. Netgen will create a filen..
IT 2012. 4. 17.
set_false_path / set_case_analysis
머 간단하게 정리하면,set_false_path means that particular path will not be considered for timing analysis. 즉 "타이밍 체크를 하지말아라" 라고 알려주는 구문,대부분, reset path 와 clock path 에 쓰여진다.그리고 multi clock을 사용하는 곳에서는 각 clock들 사이의 신호 교환 부분은 대부분 false path로 지정해야 한다.(아마, 설계에 sync logic은 들어가 있을 것으로 확신 ^^) source from http://lib.dicder.com/synthesis/2010/0615/228.html A false path can also be a path cross asynchronous clock do..