본문 바로가기

칩설계

(18)
edge detect pulse - 트리거된 이벤트를 알아내 한 클럭 pulse 만들기 머 제목부터 어렵다.정하기가..국어가... 왜 - 시나리오어떤 신호가 '1' 인 상태로 여러 클럭에 걸쳐져 있다.그런데 나는 '0' 에서 '1'로 올라간 이벤트를 알려주는 것처럼 한 번의 사건에 한 클럭만큼의 이벤트 펄스를 만들기를 원한다.해결은 그림으로이렇게 하면 된다. 즉 그림의 OUT 신호를 보고 사용하면 해결~~그림은 남이 그린 것이므로 원본글의 위치를 알려드립니다.보시고 HDL 코드도 필요하다고 생각하시면 해당글에 가셔서 꼭 읽어보세요. http://www.boldport.com/blog/2015/4/3/edge-detect-ad-nauseam 즐~~
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 사이에 넣어주는 것이 일반적인 기법..
Recommended reset synchronization scheme 설계시 참고할 내용이 정말 많은 필수 페이지 일단 그중에서 필요한 내용은 바로 이것.원본글은 여기다. https://electronicsnews.com.au/best-design-practices-for-high-capacity-fpga-devices/ 이 그림이 뜻하는 바는 알고 가자. 리셋상태로 가는 것은 언제든지 async 한 조건으로 가고리셋에서 풀리는 경우에는 내부 시스템 클럭에 맞추어서 풀리도록 한다.여러 F/F 동작에 안정성을 부여할 수 있다. 즐
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..
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 명..
Gate Level Simulations - "X"가 막나와~~ 기술관련 자료는 따로 옮겨서 구성하기로..아래 글은 여기 => http://techcafe.tistory.com/45 를 참고해 주세요. 일단 글은 남겨둠. 문제는 머냐..잘 정리해둔 곳에서 가져와보자..아래글 참고 출처 : Synchronizer 시뮬레이션 문제 사실, metastable을 피하는 방법은 예전에 한번 posting한 적이 있는데요. Metastable을 피하는 가장 머리가 편한 방법은 2개의 F/F을 직렬로 사용하는 2-flop 방법입니다. ...그런데, 1-flop이던 2-flop이던 F/F을 이용하여 동기화기(synchronizer)를 만들고 이 회로에 대한 타이밍 시뮬레이션 할 때, 동기화기로 사용한 F/F이 setup/hold timing을 만족하지 못하는 경우 F/F의 출력이 ..
Verilog 배열관련 정리 참고 : http://blog.naver.com/beahey/90192889480 배열 선언은reg [7:0] a[3];이렇게 한다. 앞쪽의 "[7:0]"는 배열을 표현보다는 버스의 비트를 나타내고,배열을 뒤쪽의 "[3]" 으로 보고 이해하는 것이 쉽다. 즉 위의 예는 8비트짜리 배열 3개을 가지고 있다는 의미 또한 중요한 것은 포트로 뽑아낼 수가 없다는 엄청 불편한 진실..즉 module의 input/output으로 쓰기 곤란하다는..구체적인 예는 위 참고 사이트 참조 짤은 "Array" ㅋ array by OiMax
ARM SoC - AHB Default Slave..빈공간에 놓여진 모듈 ARM SoC 개발 중 버스나 Decoder에 보면 default slave 가 있다. 머냐..메모리 맵상에 할당되지 않은 주소(빈공간)를 접근하는 경우 활성화 되는 모듈이다.이름 그대로 디폴트..역할은 단순하다. HREADYOUT은 물론 잘 띄워줘야 하고, 읽기든 쓰기든 끝이 나게 하려면 꼭 띄워줘야하고또 하나, HRESP에 에러를 띄워주는 것. 왜냐면 여기는 빈공간이니까~~ http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka3445.htmlGeneral: What is a default slave?Applies to: AHBAnswerIf the memory map of a system does not define the full ..