embeded/FPGA - ALTERA2018. 4. 16. 20:19

어라.. vivado 처럼

핀.설정 하나도 안해도 합성이 되네?!

vivado 만의 특색인줄 알았는데

terasic에서 de0-nano용으로 생성되는 프로젝트만 열어서 하다보니

생각도 못했네 -ㅁ-


+

2018.04.17

pin planner도 xlinx의 것 처럼

먼저 빌드 하고 추가로 핀을 할당해주면 된다.



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

quartus 프로젝트 entry point 설정  (0) 2018.04.17
Device Installer (Quartus Prime 17.1)  (0) 2018.04.17
Clock domain  (0) 2018.04.05
Nios II HAL alt_load()  (0) 2018.04.03
EPCS 부팅 관련 BSP Editor 설정  (0) 2018.03.24
Posted by 구차니
embeded/FPGA - ALTERA2018. 4. 5. 22:27

클럭분석 빠른 로직(단계 짧은)

느린로직과 서로다른 클록 사용가능

[링크 : https://stackoverflow.com/.../why-use-multiple-clocks-of-the-same-speed-in-an-fpga-design]


읽어 볼 걸 찾아 보고 있는데

일단 클럭 도메인을 통해서 전원소비를 줄일수도 있는 듯?

Avalon Memory Manager와 nios 클럭 서로 다르게 줄 수 있다.


13. Power Optimization

 In this design, a Nios® II processor acts as the controller operating at 50 MHz. A DMA controller operating at 100 MHz manages the data path, and reads and writes data buffers that also operate at 100 MHz.

[링크 : https://www.altera.com/en_US/pdfs/literature/hb/qts/qts_qii52016.pdf]

Cyclone V SoC Power Optimization

[링크 : https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/an/an734.pdf]

11. Building Systems with Multiple Clock Domains

[링크 : https://www.altera.com.cn/content/dam/altera-www/global/zh_CN/pdfs/literature/hb/qts/qts_qii54008.pdf]


Metastability - 준안정성

Understanding Metastability in FPGAs 

[링크 : https://www.altera.com/en_US/pdfs/literature/wp/wp-01082-quartus-ii-metastability.pdf]


AN 545: Design Guidelines and Timing Closure Techniques for HardCopy ASICs

[링크 : https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/an/an545.pdf]

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

Device Installer (Quartus Prime 17.1)  (0) 2018.04.17
Quartus 프로젝트 생성  (0) 2018.04.16
Nios II HAL alt_load()  (0) 2018.04.03
EPCS 부팅 관련 BSP Editor 설정  (0) 2018.03.24
intel FPGA/altera 소비전력 예측  (0) 2018.03.23
Posted by 구차니
embeded/FPGA - ALTERA2018. 4. 3. 13:13


Nios II Eclipse에서 bsp 프로젝트 아래에 summary.html이 하나 보이길래 열어보니 

해당 설정에 대한 내용이 나온다.


Setting Name:hal.linker.allow_code_at_reset
Identifier:ALT_ALLOW_CODE_AT_RESET
Default Value:0
Value:1
Type:Boolean
Destination:none
Description:Indicates if initialization code is allowed at the reset address. If true, defines the macro ALT_ALLOW_CODE_AT_RESET in linker.h.
Restrictions:If true, defines the macro ALT_ALLOW_CODE_AT_RESET in linker.h. This setting is typically false if an external bootloader (e.g. flash bootloader) is present.

Setting Name:hal.linker.enable_alt_load
Identifier:none
Default Value:0
Value:1
Type:Boolean
Destination:none
Description:Enables the alt_load() facility. The alt_load() facility copies data sections (.rodata, .rwdata, or .exceptions) from boot memory to RAM. If true, this setting sets up the VMA/LMA of sections in linker.x to allow them to be loaded into the .text memory.
Restrictions:This setting is typically false if an external bootloader (e.g. flash bootloader) is present.

Setting Name:hal.linker.enable_alt_load_copy_exceptions
Identifier:none
Default Value:0
Value:0
Type:Boolean
Destination:none
Description:Causes the alt_load() facility to copy the .exceptions section. If true, this setting defines the macro ALT_LOAD_COPY_EXCEPTIONS in linker.h.
Restrictions:none

Setting Name:hal.linker.enable_alt_load_copy_rodata
Identifier:none
Default Value:0
Value:0
Type:Boolean
Destination:none
Description:Causes the alt_load() facility to copy the .rodata section. If true, this setting defines the macro ALT_LOAD_COPY_RODATA in linker.h.
Restrictions:none

Setting Name:hal.linker.enable_alt_load_copy_rwdata
Identifier:none
Default Value:0
Value:1
Type:Boolean
Destination:none
Description:Causes the alt_load() facility to copy the .rwdata section. If true, this setting defines the macro ALT_LOAD_COPY_RWDATA in linker.h.
Restrictions:none

 


일단 감이 안오니.. 프로젝트 전체로 검색해본결과

bsp/HAL/src/alt_load.c 에 해당 함수가 존재하고


alt_load.c의 alt_load()상단에 링커 정의 심볼이 존재한다.

extern alt_u32 __flash_rwdata_start __attribute__((section(".data")));

extern alt_u32 __ram_rwdata_start __attribute__((section(".data")));

extern alt_u32 __ram_rwdata_end __attribute__((section(".data")));

extern alt_u32 __flash_rodata_start __attribute__((section(".data")));

extern alt_u32 __ram_rodata_start __attribute__((section(".data")));

extern alt_u32 __ram_rodata_end __attribute__((section(".data")));

extern alt_u32 __flash_exceptions_start __attribute__((section(".data")));  

extern alt_u32 __ram_exceptions_start __attribute__((section(".data")));

extern alt_u32 __ram_exceptions_end __attribute__((section(".data"))); 


음.. bsp 설정 바꾸고 bsp 빌드 하면 이런것도 재생성 되려나?


+

해봤는데.. alt_load.c 내용이 바뀌진 않네.. 머지?

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

Quartus 프로젝트 생성  (0) 2018.04.16
Clock domain  (0) 2018.04.05
EPCS 부팅 관련 BSP Editor 설정  (0) 2018.03.24
intel FPGA/altera 소비전력 예측  (0) 2018.03.23
intel quartus 2 modelsim 사용하기  (0) 2018.03.19
Posted by 구차니
embeded/FPGA - ALTERA2018. 3. 24. 19:07

당연히(?) 자동으로 해줄 줄 알았는데 그게 아니라서 부팅이 안된 듯..

BSP Editor에서 Settings.Advanced.hal.linker에서

hal.linker를 설정해주어야 각종 부팅설정에 대응이 가능하다고 한다.


[링크 : https://www.altera.com/documentation/iga1446487888057.html#ivc1507571573803]

    [링크 : https://www.altera.com/documentation/iga1446487888057.html]


+

2017.03.26

BSP Editor에서 부팅방법에 맞춰서 설정을 해주어야 한다.




EPCQ/EPCS XIP 부팅과

ECCQ/EPCS OCRAM으로 복사하여 부팅하는 방법 두가지가 존재한다.


Main 탭에서 Advanced - hal - linker를 누르면 위에서 설명한 메뉴가 나온다.


Linker Script 탭에서는 멀 봐줘야 하려나.. 


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

Clock domain  (0) 2018.04.05
Nios II HAL alt_load()  (0) 2018.04.03
intel FPGA/altera 소비전력 예측  (0) 2018.03.23
intel quartus 2 modelsim 사용하기  (0) 2018.03.19
fpga clocked video  (0) 2018.03.19
Posted by 구차니
embeded/FPGA - ALTERA2018. 3. 23. 11:50


MAX 10

[링크 : https://www.altera.com/support/support-resources/operation-and-testing/power/max-10-estimator.html]

[링크 : https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/max-10/ug_m10_pwr.pdf]


Cyclone V

Browse the <Kit install directory>/example/board_test_system.

• In this directory locate the executable for the Power Monitor (PowerMonitor.exe)

[링크 : https://www.altera.com/en_US/pdfs/literature/an/an734.pdf]


Arria V 

You can also run the Power Monitor as a stand-alone application. PowerMonitor.exe

resides in the <install dir>\kits\arriaVST_5astfd5kf40es_soc\examples\board_test_system directory.

[링크 : https://www.terasic.com.tw/cgi-bin/page/archive_download.pl?...FID=1669b64ef79c0ddc8174518f9393acf8]

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

Nios II HAL alt_load()  (0) 2018.04.03
EPCS 부팅 관련 BSP Editor 설정  (0) 2018.03.24
intel quartus 2 modelsim 사용하기  (0) 2018.03.19
fpga clocked video  (0) 2018.03.19
multiport memory controller  (0) 2018.03.19
Posted by 구차니
embeded/FPGA - ALTERA2018. 3. 19. 14:48

몰라서 그런것도 있지만 어렵네..

[링크 : https://www.altera.com/en_US/pdfs/literature/ug/ug_gs_msa_qii.pdf]


Quartus 2 17.1 에 포함된 녀석 일단 실행!

근데 스플래시 이미지에서 문구가 잘리다니 ㅋㅋ


원래는 Mentor Graphics 꺼고 Intel FPGA 에디션으로 커스텀 버전..


몰라서 이것저것 찾아서 막 해보니 먼가 나오는데

무슨 내용인지 이해도 안되고 멘붕중 -ㅁ-

[링크 : https://blog.naver.com/bohkyou/100093456018]

[링크 : https://t1.daumcdn.net/cfile/blog/190355495073BECF2D]

[링크 : http://www.hansung.ac.kr/web/jblee/507967?p_p_id=EXT_BBS...]


Step 1. 시뮬레이션 할 파일을 불러오거나, 새 파일로 해서 저장

module halfadder(a,b,s,c);

input a,b;

output s,c;

xor(s,a,b);

and(c,a,b);

endmodule 

Step 2. Compile 버튼 클릭

Step 3. Work 디렉토리 생성할지 물어보고 생성하면 빌드 함

Step 4. 먼가 커맨드 열심히 쳐서 시뮬레이션

vsim halfadder

# vsim halfadder 

# Start time: 14:44:03 on Mar 19,2018

# Loading work.halfadder

view wave

# .main_pane.wave.interior.cs.body.pw.wf

add wave *

force a 0 0ns, 1 20ns -r 40ns

run 100ns 


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

EPCS 부팅 관련 BSP Editor 설정  (0) 2018.03.24
intel FPGA/altera 소비전력 예측  (0) 2018.03.23
fpga clocked video  (0) 2018.03.19
multiport memory controller  (0) 2018.03.19
quartus 2 insert template  (0) 2018.03.03
Posted by 구차니
embeded/FPGA - ALTERA2018. 3. 19. 14:09


xilinx는 VDMA로 검색해보라는 조언을 받음

[링크 : https://www.xilinx.com/support/documentation/ip_documentation/axi_vdma/v6_2/pg020_axi_vdma.pdf]


altera쪽 suite

The Video and Image Processing Suite contains the following MegaCore® functions:

■ “2D FIR Filter MegaCore Function” on page 4–1

■ “2D Median Filter MegaCore Function” on page 5–1

■ “Alpha Blending MegaCore Function” on page 6–1

■ “Avalon-ST Video Monitor MegaCore Function” on page 7–1

■ “Chroma Resampler MegaCore Function” on page 8–1

■ “Clipper MegaCore Function” on page 9–1

■ “Clipper II MegaCore Function” on page 10–1

■ “Clocked Video Input MegaCore Function” on page 11–1

■ “Clocked Video Output MegaCore Function” on page 12–1

■ “Color Plane Sequencer MegaCore Function” on page 13–1

■ “Color Space Converter MegaCore Function” on page 14–1

■ “Control Synchronizer MegaCore Function” on page 15–1

■ “Deinterlacer MegaCore Function” on page 16–1

■ “Deinterlacer II MegaCore Function” on page 17–1

■ “Broadcast Deinterlacer MegaCore Function” on page 18–1

■ “Frame Reader MegaCore Function” on page 19–1

■ “Frame Buffer MegaCore Function” on page 20–1

■ “Gamma Corrector MegaCore Function” on page 21–1

■ “Interlacer MegaCore Function” on page 22–1

■ “Scaler II MegaCore Function” on page 23–1

■ “Switch MegaCore Function” on page 24–1

■ “Test Pattern Generator MegaCore Function” on page 25–1

■ “Trace System MegaCore Function” on page 26–1

[링크 : https://www.altera.co.jp/content/dam/altera-www/global/ja_JP/pdfs/literature/ug/ug_vip.pdf]

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

intel FPGA/altera 소비전력 예측  (0) 2018.03.23
intel quartus 2 modelsim 사용하기  (0) 2018.03.19
multiport memory controller  (0) 2018.03.19
quartus 2 insert template  (0) 2018.03.03
de0-nano virtual serial  (0) 2018.02.28
Posted by 구차니
embeded/FPGA - ALTERA2018. 3. 19. 10:37

카페에서 이미지 돌리는데 대역폭 어쩌구 질문에

멀티포트 이야기가 나와서 검색해보니..

일단 과거에(?) VRAM으로 듀얼포트 SDRAM 계열로 생각되는데

해당되는 칩이 어떤게 있는지는 좀 찾아봐야 할 듯..


The MPMC is created by combining the Memory Interface Generator (MIG) core and the AXI Interconnect IP, both of which are provided in the Vivado tools.

[링크 : https://www.xilinx.com/support/documentation/application_notes/xapp1164.pdf]

[링크 : https://www.xilinx.com/products/intellectual-property/mpmc.html]


[링크 : https://www.altera.co.jp/ja_JP/pdfs/literature/an/an637.pdf]

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

intel quartus 2 modelsim 사용하기  (0) 2018.03.19
fpga clocked video  (0) 2018.03.19
quartus 2 insert template  (0) 2018.03.03
de0-nano virtual serial  (0) 2018.02.28
fpga uart echo  (0) 2018.02.28
Posted by 구차니
embeded/FPGA - ALTERA2018. 3. 3. 13:20

Quartus 2에 내장된 기능으로

미리 만들어 진 템플릿을 통해 더 효율적으로 HDL을 생성할 수 있다고 한다.

문서 편집기의 아무곳에서 우클릭을 하면 "Insert Template" 를 볼 수 있는데


모듈 단위로 미리 짜여진 코드들이 쭈루룩 뜨게 된다.


그나저나 못보던 문법들이 보이네.. ㅠㅠ


12 Recommended HDL Coding Styles

[링크 : https://www.altera.com/en_US/pdfs/literature/hb/qts/qts-qps-5v1.pdf] 810page 

    [링크 : http://cafe.naver.com/alteratown/8683]

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

fpga clocked video  (0) 2018.03.19
multiport memory controller  (0) 2018.03.19
de0-nano virtual serial  (0) 2018.02.28
fpga uart echo  (0) 2018.02.28
sopc builder -> qsys -> platform designer  (2) 2018.02.26
Posted by 구차니
embeded/FPGA - ALTERA2018. 2. 28. 20:53

quartus_stp를 이용해

USB Blaster의 JTAG 시리얼을 이더넷을 통해 볼 수 있도록 하는 내용


verilog 코드는 좀 분석을 해봐야 겠다.

[링크 : http://idlelogiclabs.com/2014/07/12/virtual-com-port-connection-de0-nano-vj-uart/]


+

2018.03.03

내부적으로 vtag모듈은 sld_virtual_jtag 이라는 모듈을 사용하는데

검색을 해보니 altera megafunction 이네..

sld_virtual_jtag sld_virtual_jtag_component (

.ir_out (ir_out),

.tdo (tdo),

.virtual_state_cir (sub_wire0),

.virtual_state_pdr (sub_wire1),

.ir_in (sub_wire2),

.tdi (sub_wire3),

.virtual_state_udr (sub_wire4),

.tck (sub_wire5),

.virtual_state_e1dr (sub_wire6),

.virtual_state_uir (sub_wire7),

.virtual_state_cdr (sub_wire8),

.virtual_state_e2dr (sub_wire9),

.virtual_state_sdr (sub_wire10)

// synopsys translate_off

,

.jtag_state_cdr (),

.jtag_state_cir (),

.jtag_state_e1dr (),

.jtag_state_e1ir (),

.jtag_state_e2dr (),

.jtag_state_e2ir (),

.jtag_state_pdr (),

.jtag_state_pir (),

.jtag_state_rti (),

.jtag_state_sdr (),

.jtag_state_sdrs (),

.jtag_state_sir (),

.jtag_state_sirs (),

.jtag_state_tlr (),

.jtag_state_udr (),

.jtag_state_uir (),

.tms ()

// synopsys translate_on

); 


[링크 : https://www.altera.com.cn/content/dam/altera-www/global/zh_CN/pdfs/literature/ug/ug_virtual_jtag.pdf]

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

multiport memory controller  (0) 2018.03.19
quartus 2 insert template  (0) 2018.03.03
fpga uart echo  (0) 2018.02.28
sopc builder -> qsys -> platform designer  (2) 2018.02.26
Nios II / Floating Point Hardware 2  (0) 2018.02.26
Posted by 구차니