2018.05.30
이전과 거의 같은데 검색이 잘 안나오면
Filter에서 Design Entry(all names) 해주면 제대로 나오고
모니터링할 노드와 클럭을 정상적으로 추가해주면
아래와 같은 모습이 된다
SOF Manager 우측에는 해당 프로젝트의 SOF를 선택해주면 굳이 Programmer 가지 않아도 되니 편리함.
좌측 상단의 Instance를 누르면 Instance Manager에 버튼이 활성화 되고
Run Analysis - F5 버튼을 누르면
약간의 시간이 지난뒤 아래와 같이 파형이 나온다
(일단 div/2 로 LED를 점멸하게 소스를 수정함)
//======================================================= // This code is generated by Terasic System Builder //======================================================= module PwmCtrl(RST_N, CLK, LED0); input RST_N, CLK; output LED0; reg[27:0] counter0; always @(negedge RST_N or posedge CLK) begin if(RST_N == 1'b0) begin counter0 <= 0; end else begin counter0 <= counter0 + 1; end end assign LED0 = counter0[1];
endmodule
module DE0_NANO( //////////// CLOCK ////////// CLOCK_50, //////////// LED ////////// LED, //////////// KEY ////////// KEY );
//======================================================= // PARAMETER declarations //=======================================================
//======================================================= // PORT declarations //=======================================================
//////////// CLOCK ////////// input CLOCK_50; //////////// LED ////////// output [7:0] LED; //////////// KEY ////////// input [1:0] KEY;
//======================================================= // REG/WIRE declarations //=======================================================
//======================================================= // Structural coding //======================================================= PwmCtrl pwm0(KEY[0],CLOCK_50,LED[0]); endmodule |
---
LE와 M4K 이런거 소모해서
내부적으로 로직을 저장하고 디버깅에 도움을 주는 녀석
Tools - Signal Tap Logic Analyzer
우측 상단의 JTAG Chain Configuration 에서 DE0-nano의 USB-Blaster를 선택하면
자동으로 Device는 검색되는데, 정상적으로 안되면 Scan Chain을 눌러주면 된다.
오른쪽 중앙의 Signal Configuration 에서 Clock을 설정해주고
왼쪽의 auto_signaltap_0 에 "Double-click to add nodes"를 더블클릭해 모니터링할 노드를 추가한다.
그럼 상단에 컴파일 하라고 빨간색으로 뜨고
저장하면 stp 확장자(SignalTaP 약자인듯?)로 설정을 저장하게 하고
프로젝트 연동하도록 도와준다.
[링크 : http://pages.hmc.edu/harris/class/e155/SignalTap.pdf]
[링크 : https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/ug/signal.pdf]
+
2018.06.05
간단한 녀석으로 해보니 (hsync + vsync + 20bit 카운터 + 4비트 rgb)
8K 까지는 빌드가 되지만, 16K 부터는 아래와 같은 에러가 발생하며 중단된다.
Error (170048): Selected device has 66 RAM location(s) of type M9K. However, the current design needs more than 66 to successfully fit Error (171000): Can't fit design in device |
대신 저장할 항목을 줄이고(hsync + vsync) 32K로는 성공
즉, singaltap의 sample depth는 저장할 신호당 용량이기에
저장할 노드 갯수 * sample depth 만큼의 용량을 필요로 하게 된다.
+
2018.06.05
Signal Tap의 Enable을 꺼주면 빌드시 시간이 줄어든다(말그대로 Signal Tap 비활성화)