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. 18.
Verilog 배열관련 정리
참고 : http://blog.naver.com/beahey/90192889480 배열 선언은reg [7:0] a[3];이렇게 한다. 앞쪽의 "[7:0]"는 배열을 표현보다는 버스의 비트를 나타내고,배열을 뒤쪽의 "[3]" 으로 보고 이해하는 것이 쉽다. 즉 위의 예는 8비트짜리 배열 3개을 가지고 있다는 의미 또한 중요한 것은 포트로 뽑아낼 수가 없다는 엄청 불편한 진실..즉 module의 input/output으로 쓰기 곤란하다는..구체적인 예는 위 참고 사이트 참조 짤은 "Array" ㅋ array by OiMax
IT 2014. 7. 18.
[verilog] `timescale 1ns/10ps 의미
이것도 검색으로 펌질, 여타 설명이 필요없는 간결한 자료`timescale 1ns/10ps앞에 숫자는 해당 파일내에서 쓰이는 숫자들의 단위를 나타냄..즉 #2 이렇게 쓰여있다면 2ns를 나타냄뒤의 숫자는 시뮬레이터에서 많이 쓰일 것 같은데 코딩에서는 별 효과가..무튼 소수점을 허용하려면 어디까지 해야할까를 나타내야 하는데 그 때 쓰이는 최소 단위설명은 아래 참고. [출처] [verilog] timescale에 대하여|작성자 j0hnch01[출처] [verilog] timescale에 대하여|작성자 j0hnch01 assign #5 foo = tiger ; 이 문장을 가만히 보면 단위가 없습니다. '5'의 의미는 무었일까요? ...여기서 '5'는 5ns가 될 수도 있지만, 5us, 5ms 심지어는 5sec..
IT 2014. 7. 17.
Xilinx ISE 에서 ngc 파일 사용하기
쉽다. 특정 IP나 module에 대한 합성된 ngc 파일을 가지고 있다면, ISE project에 간단하게 넣어서 사용할 수 있다. 더 간단할 수 있는데 툴이 약간 신경을 덜 써주는 것 같기도 하다. (그냥 ngc 파일만 add project 하면 되련만 ㅎ) 인터넷을 검색하면 아래의 글이 나온다. 여기가 정답인듯How-do-I-use-a-NGC-file-toanother-ISE-project그래도 간단히 정리해 보면, 그 다음 프로젝트 폴더에 해당 ngc파일을 복사해 둔다. (다른 폴더에 해도 된다. 그럼 아래 그림에서 해당 Path를 지정해 주면 된다.) 1. 일단 ngc 모듈의 이름을 동일하게 가진 빈파일을 하나 만들어야 한다. 여기서는 Black box로 표현하고 있다. 예제를 간단히 만들면 m..
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. 12. 12.
Verilog 설계 팁
Verilog 설계 팁 IDEC 2012.12 한글 자료
IT 2012. 4. 12.
Gate Count 계산 - SoC, ASIC, ASSP
기본적으로 면적에서 NAND2 gate 면적으로 나누어서 예측치를 구한다.정답이 아닐 수도 있지만 여러군데 서치하니 이렇게 쓰네~~검색 여러군데 또 하지말고, 일단 젤 맘에 드는 거 복사해두고.. 원본 : How the gate count of a design is determined? To get the equivalent gate area in Design compiler need to add two comamnds in TCl script. 1. First to get the total area of your design, use report_area. 2. Then divide this area by the area for a 2-input NAND gate in your technology li..