embeded/FPGA - ALTERA2018. 6. 15. 10:15

책에 사용한 소스 받는 곳 찾는 중


[링크 : http://digitalfilter.com]


Shift-JIS라 한글 윈도우에서 wordpad나 notepad로 열면 깨져서 안나온다 -_ㅜ

아무튼 저자가 암호 공개를 책 산 사람에게만 공개하고 있으니 저자의 뜻을 따르겠지만..

압축 - 압축 - 자동압축 파일 이런식으로 꽁꽁 싸매놓는건 무지 귀찮네...

FpgaOriginal.zipを展開するには,パスワードが必要です.


パスワードは,


 第1部 1日目 図1-23のタイトルにある8ケタの数字

 第2部 15日目 図15-15のタイトルにある5文字のアルファベット

 Appendix A 図A-4のタイトルにある7文字のアルファベット


以上をハイフンでつないだ文字列です.


例:12345678-YYYYY-ZZZZZZZ


すべて半角文字,アルファベットは大文字小文字に注意してください. 

[링크 : http://www.cqpub.co.jp/toragi/nios2/index.htm] << 100메가

[링크 : http://www.cqpub.co.jp/hanbai/books/48/48191.htm]

[링크 : http://www.cqpub.co.jp/toragi/nios2/movies/movie.htm]

'embeded > FPGA - ALTERA' 카테고리의 다른 글

modelsim nativelink  (0) 2018.06.18
modelsim 클럭연결하기  (0) 2018.06.15
quartus 2 qar file  (0) 2018.06.11
HDMI de0-nano  (0) 2018.06.05
de0-nano 그리고 modelsim 사용법  (0) 2018.06.04
Posted by 구차니
embeded/FPGA - ALTERA2018. 6. 11. 10:10

zip이나 tar는 아닌 독자 규격이거나 헤더를 변형한 녀석인 듯?

아무튼 프로젝트 열듯 더블 클릭해서 열면 해당 파일이 있던 곳에 압축이 풀리고

프로젝트 파일과 폴더가 풀려서 나온다.


Archiving Projects

You can save the elements of a project in a single, compressed Quartus II Archive File (. qar) by clicking

Project > Archive Project.

The .qar captures logic design, project, and settings files required to restore the project.

Use this technique to share projects between designers, or to transfer your project to a new version of the

Quartus II software, or to Altera support. You can optionally add compilation results, Qsys system files, and

third-party EDA tool files to the archive. If you restore the archive in a different version of the Quartus II

software, you must include the original .qdf in the archive to preserve original compilation results.

[링크 : https://www.altera.com.cn/zh_CN/pdfs/literature/hb/qts/qts_qii52012.pdf]

Posted by 구차니
embeded/FPGA - ALTERA2018. 6. 5. 10:55
Posted by 구차니
embeded/FPGA - ALTERA2018. 6. 4. 16:32

일단 하나 검색했으니 집에가서 따라해봐야지


RTL Level Simulation with ModelSim

- Synthesis 이후에 시뮬레이션 가능

Gate Level Simulation

- 전체 컴파일 이후에 시뮬레이션 가능

[링크 : http://idlelogiclabs.com/2011/12/04/using-modelsim-with-quartus-ii-and-the-de0-nano/]


게이트-레벨시뮬레이션은타이밍시뮬레이션에서 기능적결과의차이만을확인한다. 만약게이트-레벨시뮬레 이션은문제없고타이밍시뮬레이션이실패했다면, 넷리스트 가아닌타이밍으로발생된부분임을나타낸다. 백-어노테이트 타이밍 시뮬레이션은 타이밍 정보가 있는 게이트-레벨 시뮬레이션이다. 이를 위해 FPGA 벤더는 VITAL (VHDL Gate Level) 넷리스트 또는 Verilog 넷리스 트를 생성한다 

[링크 : http://www.itfind.or.kr/COMIN/file24639-FPGA%20디버깅%20방법.pdf]

Posted by 구차니
embeded/FPGA - ALTERA2018. 6. 3. 23:07

output 대신에

output reg를 쓰니 해결..

c언어 때 처럼 무슨 문제인지 감이 영안오네...


[링크 : https://electronics.stackexchange.com/...left-hand-side-of-assignment-must-have-a-variable-data-type]

Posted by 구차니
embeded/FPGA - ALTERA2018. 6. 2. 22:36

카운터 증가 하는데

클럭에 연계해서 작동시키는 부분에서

클럭 엣지 트리거 부분에 여러개 작성하니 에러 발생..


 always @ (posedge clk or negedge rst)

begin

if (~rst)

cnt <= 0;

else

begin

if(cnt < 834000)

cnt <= cnt + 1;

else

cnt <= 0;

end

if(cnt < HSYNC)

hsync <= 1;

else hsync <= 0;

if(cnt < VSYNC)

vsync <= 1;

else vsync <= 0;

end


아래는 해결 한 것

음.. 자세한 내용은 나중에 찾아봐야지.. 이해를 못하고 있음 ㅠㅠ

 always @ (posedge clk or negedge rst)

begin

if (~rst)

cnt <= 0;

else

begin

if(cnt < 834000)

begin

cnt <= cnt + 1;

if(cnt < HSYNC)

hsync <= 1;

else hsync <= 0;

if(cnt < VSYNC)

vsync <= 1;

else vsync <= 0;

end

else

cnt <= 0;

end

end


[링크 : https://www.edaboard.com/showthread.php?326768...-enclosing]

Posted by 구차니
embeded/FPGA - ALTERA2018. 5. 30. 15:14

DE0-nano에 실습중

일단.. module 선언이 아래 있던 위에있던 상관이 없나 보네..

머가 잘못되서 안되었던건지 모르겠지만 아무튼 책 보고 따라 치니 작동은 한다.


//=======================================================

//  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[26];

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 pwm(KEY[0],

CLOCK_50,

LED[0]);

endmodule 


원래는 counter0[27] 인데 너무 느려서 counter0[26]으로 변경


그리고 signalTap 이용해서 데이터 받아봄

(PLL 사용해서 클럭 분주하고 그걸 이용해 샘플링 주기를 변경해 봐야 할 듯)

2018/05/30 - [embeded/FPGA - ALTERA] - signal Tap 2와 talkback?

2018/05/24 - [embeded/FPGA - ALTERA] - altera signalTap <<

Posted by 구차니
embeded/FPGA - ALTERA2018. 5. 30. 10:43

18.0 버전인데 설정 없어도 잘만 된다 -ㅁ-

저번에는 대충한다고 먼가 빼먹은게 있어서 안되었던 듯..


---

읭? 왜 signal tap이 안되나 해보는데

옵션에 안보인다?

혹시 Lite Edition이라 그런가?



To enable the TalkBack feature in Quartus Prime, select Tools > Options. In the Options window, select Internet Connectivity from the menu, and click on TalkBack Options... to open the window shown in Figure 2. If you accept the TalkBack License Agreement, then check the box labelled Enable sending TalkBack data to Intel and click OK. 

[링크 : ftp://ftp.altera.com/up/pub/Intel_Material/17.0/Tutorials/Verilog/SignalTap.pdf]


어디선가 동의하면 된다고는 하는데..

Signal Tap logic analyzer 1

Notes:

1. Available with Talkback feature enabled in the Intel Quartus Prime Lite Edition software.

[링크 : https://www.altera.com/.../pdfs/literature/br/br-quartus-prime-software.pdf]


이거는 설치 폴더에 뒤져봐도 안나오고

Run tb2_install to enable the TalkBack feature.

[링크 : https://www.altera.com/quartushelp/current/index.htm#msgs/msgs/ecpt_talkback_required.htm]


Standard Edition 피쳐로 아래 존재하는 걸 Pro에서는 지원안한다..

Lite에는 그럼 Talkback이 없을수도 있나?

Intel Quartus Prime Pro Edition software does not support the following Intel Quartus Prime Standard Edition features:

— I/O Timing Analysis

— NativeLink third party tool integration

— Video and Image Processing Suite IP Cores

Talkback features

— Various register merging and duplication settings

— Saving a node-level netlist as .vqm

— Compare project revisions 

[링크 : https://www.altera.com/.../pdfs/literature/ug/ug-qpp-getting-started.pdf]


엥?

2016.10.31 16.1.0

Removed all references to Talkback feature.

Changed instances of Altera to Intel FPGA. 

[링크 : https://www.altera.co.jp/documentation/esc1425946071433.html]


※ Quartus Prime Lite Edition の場合は、16.0 以前のバージョンを使用する際 TalkBack 機能を有効にする 必要があります。詳細はこちらの TIPS をご覧ください。 

구글번역

Quartus Prime Lite Edition의 경우 16.0 이전 버전을 사용하는 경우 TalkBack 기능을 활성화해야합니다. 자세한 것은 이쪽의 TIPS를 참조하십시오. 

[링크 : https://service.macnica.co.jp/article_files/126561/ELS1444_Q1710_10__1.pdf]


21분 부터 시연(pro 버전)

[링크 : https://www.youtube.com/watch?v=DCUhsezqydQ]

Posted by 구차니
embeded/FPGA - ALTERA2018. 5. 29. 09:47

OV7670 / HDMI / VGA

일단.. VGA 테스트 패턴 해본 다음

OV7670 따라해보고

그 다음에 천천히 HDMI 테스트 패턴 출력해봐야지..


회로도 받아야 하고..

카페 검색해보니 4bit씩 R/G/B에 되어있다고..



회로도는 구매하신분에게 한하서 공개라고 하신거 봐서는

블로그에 회로도 올리면서 무언가 작업하긴 힘들듯..

'embeded > FPGA - ALTERA' 카테고리의 다른 글

PWM 발생기 1개 연결하기  (0) 2018.05.30
signal Tap 2와 talkback?  (0) 2018.05.30
altera signalTap  (0) 2018.05.24
quartus device family 삭제하기  (0) 2018.05.23
책 도착!  (2) 2018.05.21
Posted by 구차니
embeded/FPGA - ALTERA2018. 5. 24. 16:34

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 비활성화)

'embeded > FPGA - ALTERA' 카테고리의 다른 글

signal Tap 2와 talkback?  (0) 2018.05.30
레몬 라이트 옵션보드 도착  (2) 2018.05.29
quartus device family 삭제하기  (0) 2018.05.23
책 도착!  (2) 2018.05.21
엥.. Quartus II Lite Edition... 라이센스?  (0) 2018.05.18
Posted by 구차니