embeded/Cortex-M3 Ti2017. 12. 11. 16:26

음.. 두개 섹션으로 된 녀석은 아직 발견 못함..

아무튼 이걸 이용해서 부트로더와 프로그램을 합칠 수 있을 거 같은데..

sct는 scatter의 약자라는데.. 왜 이런 용어를...


[링크 : http://www.keil.com/support/man/docs/armlink/armlink_pge1362075656353.htm]

'embeded > Cortex-M3 Ti' 카테고리의 다른 글

cortex m3 어셈블리 bl, cbz  (0) 2018.01.04
cortex-m3 keil 부트로더  (0) 2017.12.21
lm3s 부트로더  (0) 2017.11.21
JTAG / SWD 핀 연결방법 조사..  (0) 2017.04.04
어? 의외로 RX busy는 없네?  (0) 2017.03.27
Posted by 구차니
embeded/FPGA - XILINX2017. 12. 10. 15:39

de0 nano에서 고민중 ㅜㅜ

일단 가장 큰 차이는

DE0-nano는 FPGA만 딸랑있고 LAN이나 USB나 이런거 하나도 없다보니

회로 구성을 해야하니 이래저래 부담인데..


Features:

  • Xilinx Artix-35T FPGA:
    • 33,280 logic cells in 5200 slices (each slice contains four 6-input LUTs and 8 flip-flops);
    • 1,800 Kbits of fast block RAM;
    • Five clock management tiles, each with a phase-locked loop (PLL);
    • 90 DSP slices;
    • Internal clock speeds exceeding 450MHz;
    • On-chip analog-to-digital converter (XADC).
    • Programmable over JTAG and Quad-SPI Flash
  • System Features:
    • 256MB DDR3L with a 16-bit bus @ 667MHz
    • 16MB Quad-SPI Flash
    • USB-JTAG Programming circuitry (USB Micro cable required, NOT INCLUDED). 
    • Powered from USB or any 7V-15V source
  • System Connectivity:
    • 10/100 Mbps Ethernet
    • USB-UART Bridge
  • Interaction and Sensory Devices
    • 4 Switches
    • 4 Buttons
    • 1 Reset Button
    • 4 LEDs
    • 4 RGB LEDs
  • Expansion Connectors:

[링크 : http://store.digilentinc.com/arty-a7-artix-7-fpga-development-board-for-makers-and-hobbyists/]

[링크 : http://www.devicemart.co.kr/1358485] 26만 ㄷㄷㄷ




일단은.. 아래 링크는 먼저 찾은

FPGA에 부트로더와 리눅스 이미지를 합쳐서 굽는 법

그러니까.. Configuration Memory에 가티 올려진다는 의미구만?


Digilent Arty board and Linux - Part 5 - Storing FPGA, Linux and Bootloader into the QSPI Flash

[링크 : http://rdepablos.merlitec.com/Storing-system-into-the-QSPI-Flash]


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

xilinx bitstram ecryption  (0) 2018.01.23
xilinx artix-7 프로젝트 빌드해봄  (0) 2018.01.07
xilinx vivado / ISE 라이센스 관련  (0) 2017.12.19
xilinx Bitstram Length와 Logic cell  (0) 2017.12.08
reVISION / zynq 웨비나  (0) 2017.11.09
Posted by 구차니
embeded/FPGA - ALTERA2017. 12. 8. 22:45

configuration flash memory에 저장되는 데이터는 어떤 포맷인가 검색을 해봤는데

LSB 로 저장된다 정도만 알았을 뿐이지 어떤 식으로 구현이 적용되는지

포맷 자체가 어떤지는 알 수가 없네...


MCU의 파일이야 ELF 포맷이라던가 그런식으로 존재하는데..

얘는 로직셀에 직접 쓰여지고 적용되는 거니..

당연(?)할지 모르겠지만 altera나 xilinx의 제품간의 바이너리가 호환될리는...

당연히 없을려나?


그나저나 이녀석.. 쓰는건 드럽게 느리고

켜지는건 드럽게 빠른데 도대체 이유를 모르겠네..


BIT Swapping in PROM Files
The PROM Formatter produces a PROM file in which the bits within a byte are swapped compared to the bits in the input BIT file. Bit swapping (also called bit mirroring) reverses the bits within each byte.
Image
In a bitstream contained in a BIT file, the Least Significant Bit (LSB) is always on the left side of a byte. But when a PROM programmer or a microprocessor reads a data byte, it identifies the LSB on the right side of the byte. In order for the PROM programmer or microprocessor to read the bitstream correctly, the bits in each byte must first be swapped so they are read in the correct order.

The bits are automatically swapped for all of the PROM formats: MCS, EXO, BIN and TEK. For a HEX file output, bit swapping is on by default, but it can be turned off by deselecting a Swap Bits option. 

[링크 : https://www.xilinx.com/itp/xilinx10/isehelp/pim_r_promformatter_files.htm]


Bob Stein
February 22nd, 2014, 12:02 PM

Found the answer (http://quartushelp.altera.com/current/mergedProjects/reference/glossary/def_rbf.htm). It is LSB first. 

[링크 : https://alteraforum.com/forum/archive/index.php/t-36022.html]

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

ASSP - Application-specific standard product  (0) 2017.12.14
FPGA IP?  (0) 2017.12.11
FPGA 개론?  (0) 2017.12.07
제조사별 FPGA 로직 게이트 갯수 차이  (0) 2017.12.06
altera fpga 라인업  (0) 2017.12.06
Posted by 구차니
embeded/FPGA - XILINX2017. 12. 8. 22:30


KU025/KU035/KU040은 Configuration Flash Memory가 128Mb로 동일하다(16MB)

[링크 : https://www.xilinx.com/.../ug570-ultrascale-configuration.pdf]


하지만 로직 셀의 갯수는 318/444/530 으로 점점 커지는데..

편의상 세개를 하나의 패밀리로 동일 용량을 쓰도록 정책적으로 하는 걸려나?

아무튼.. 128,055,264 bit 는 16006908 Byte 이고 15631KB이고 15.26MB 이다.

16MB는 134,217,728bit

가장 많은 KU040을 기준으로 보면 530K 로직셀이고

128,055,264 / 530,000를 하면 241.6 bit 가 평균으로 나온다.

로직셀 하나당 약 30Byte의 설정이 필요한건가?

[링크 : https://www.xilinx.com/.../ultrascale-fpga-product-selection-guide.pdf]


vertex-5 시리즈를 먼저 찾았는데 계산하기가 용이하지 않아서 일단 패스~

[링크 : http://web.cecs.pdx.edu/~greenwd/fprog.pdf]

[링크 : https://www.xilinx.com/support/documentation/data_sheets/ds100.pdf]

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

xilinx bitstram ecryption  (0) 2018.01.23
xilinx artix-7 프로젝트 빌드해봄  (0) 2018.01.07
xilinx vivado / ISE 라이센스 관련  (0) 2017.12.19
digilent Arty A7  (0) 2017.12.10
reVISION / zynq 웨비나  (0) 2017.11.09
Posted by 구차니
embeded/FPGA - ALTERA2017. 12. 7. 18:15

읽어볼만한 내용인것 같아서 링크!

[링크 : http://fpga.tistory.com/28]

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

FPGA IP?  (0) 2017.12.11
fpga bitstream format?  (0) 2017.12.08
제조사별 FPGA 로직 게이트 갯수 차이  (0) 2017.12.06
altera fpga 라인업  (0) 2017.12.06
de0-nano / nios2  (0) 2017.12.06
Posted by 구차니
embeded/ARM2017. 12. 6. 23:33

느낌으로는.. target으로 여러개 만들어서 프로젝트에 -D 옵션 줘서 준비해놓고

batch build 해야 할 느낌..

그게 아니라면 직접 armcc 를 이용해서 커맨드 라인에서 빌드하고(proj 파일 도움없이)

결과를 내야 할 느낌..


[링크 : http://www.keil.com/support/man/docs/uv4/uv4_dg_adscc.htm]

[링크 : http://www.keil.com/support/docs/868.htm]

[링크 : http://www.keil.com/support/man/docs/uv4/uv4_commandline.htm]

[링크 : http://www.keil.com/support/man/docs/uv4/uv4_dg_batchbuild.htm]

    [링크 : http://www.keil.com/support/man/docs/uv4/uv4_ca_batchbuildmultiprojectfile.htm]


[링크 : http://www.keil.com/support/man/docs/armcc/armcc_chr1359124194749.htm] armcc 옵션

[링크 : http://www.keil.com/support/man/docs/armcc/armcc_chr1359124909314.htm] -D 옵션

'embeded > ARM' 카테고리의 다른 글

ARM MPMC(multiport memory controller)  (0) 2018.03.19
AMBA AXI  (0) 2018.01.30
카드크기 컴퓨터 벤치마크  (0) 2016.09.04
JTAG ETM  (0) 2016.09.02
j-link segger j-flash  (0) 2016.09.02
Posted by 구차니
embeded/FPGA - ALTERA2017. 12. 6. 15:33

아키텍쳐가 다른 것에 대한 비교는 무의미 하지만

그래도 굳이 하자면..

xilinx는 6 input 이고 altera는 4 input 이라

1.3배 정도 쳐주면 된다 라는 결론?


adaptive logic module (ALM)

logic elements (LEs)

[링크 : https://www.altera.com/en_US/pdfs/literature/wp/wp-01003.pdf]

LUT, Logic Cell and Logic Element are all the same to me: the most basic FPGA general logic primitive. Xilinx use LUT, Altera LE, microsemi/lattice possibly something else.

The problem is, they are not the same. In their most recent architecture, Xilinx use 6-input LUT and altera 4-input LUT. They are aggregated in logic blocks which has other features like fast-carry chain, registers and distributed memory.

Converting to system gates is useful, but don't forget it's also a marketing war. A Xilinx FPGA should fit 1.5 times the logic of an Altera FPGA, since it's LUT have 6 instead of 4, right? Well, it largely depends on the design, if the design can't use 6-inputs much, the unused ones are wasted. Same with fast-carry logic, I don't know if they count that in equivalent gate number, but be advised that number is inflated.

System gates is a common measure of ASIC design complexity. The same design on two different foundries should have similar system gates number, as waste is not really an issue for ASIC.

If you're looking for an FPGA. I suggest you choose your vendor, port enough of your design to get an idea of how big a FPGA you need and choose a FPGA with an upgrade path (if you want to market). If it's for a single prototype, just use the biggest FPGA you can afford. 

[링크 : https://stackoverflow.com/.../relation-between-luts-logic-cell-logic-elements-system-gates]


[링크 : http://ee.sharif.edu/~asic/Docs/fpga-logic-cells_V4_V5.pdf]



Cyclone IV 에는 LEs(Logic Elements)가

Logic array blocks (LABs) contain groups of LEs. 

Each LAB consists of the following features: 

■ 16 LEs

[링크 : https://www.altera.com/en_US/pdfs/literature/hb/cyclone-iv/cyiv-51002.pdf]


Cyclone V 에는 ALM이 언급되는데 LEs는 PCIe 관련으로 몇개의 LE가 사용된다 정도의 언급만 있다.

High-performance FPGA fabric Enhanced 8-input ALM with four registers 


The PCIe endpoint support includes multifunction support for up to eight functions, as shown in the following figure. The integrated multifunction support reduces the FPGA logic requirements by up to 20,000 LEs for PCIe designs that require multiple peripherals. 

[링크 : https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyclone-v/cv_51001.pdf]


근데.. LEs와 ALM을 동시에 표기한게 보이네.. 도대체 ALM과 LE의 연관이 어떻게 되는거야..

[링크 : https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/hb/cyclone-v/cv_51001.pdf]


위에꺼랑 연관지어서 보면.. 25000 LEs = 9434 ALM 이고

평균적으로(?) 2.6LEs = 1 ALM 이 되는 건가?


음.. 아무튼 ALE와 LEs의 연관은 모르겠으나.. 

결론은 성능과 비용 사이에서 적절한 LUT4를 택했다 인가?

Designing the ALM The ALM is radically different from any other FPGA logic block, offering a number of major innovations. Getting from a classic 4-LUT with a single register block (with associated carry logic) to the ALM required a detailed understanding of customer requirements and a large investment in researching the tradeoffs of various architectures. Our pursuit for a larger LUT was inspired by research results indicating that a basic 6-LUT could yield a 14% performance improvement by reducing the number of levels of logic elements on the critical paths of circuits. Unfortunately, this performance increase also had a large area penalty, a 17% area increase resulting from a larger LUT-mask and more inputs for the LUT. Figure 4 illustrates the tradeoff between cost and delay for different sizes of LUTs. The basic approach in designing the ALM was to investigate building a larger LUT to reduce levels of logic and increase performance, but to also avoid the area increase by efficiently dividing the larger LUT into smaller LUTs when appropriate, as illustrated by the dashed line. The ability to divide a LUT is what makes it “adaptive.”  

[링크 : https://www.altera.com/en_US/pdfs/literature/wp/wp-01003.pdf]

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

fpga bitstream format?  (0) 2017.12.08
FPGA 개론?  (0) 2017.12.07
altera fpga 라인업  (0) 2017.12.06
de0-nano / nios2  (0) 2017.12.06
microblaze (xilinx) Nios II (altera)  (0) 2017.12.05
Posted by 구차니
embeded/FPGA - ALTERA2017. 12. 6. 13:17

엌.. cyclone이 그래도 메인급인줄 알았는데 아니었네..

cyclone 쏘리~ zynq 같은 거랑 비교했다니 억울했겠다.. ㅋㅋ


[링크 : https://www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/sg/product-catalog.pdf]


아무튼 Stratix는 LEs 갯수가 어마어마 하다

모델명 숫자가 k 단위니.. 큰건 5M LEs를 포함한다.(드럽게 비쌀 듯..)

[링크 : https://www.altera.com/products/fpga/stratix-series/stratix-10/overview.html]


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

FPGA 개론?  (0) 2017.12.07
제조사별 FPGA 로직 게이트 갯수 차이  (0) 2017.12.06
de0-nano / nios2  (0) 2017.12.06
microblaze (xilinx) Nios II (altera)  (0) 2017.12.05
Cyclone IV,V (terasic de0-nano)  (0) 2017.12.05
Posted by 구차니
embeded/FPGA - ALTERA2017. 12. 6. 11:56

언제 살진 모르겠지만.. 웬지 살거 같으니 조사? ㅋㅋ


일단.. nios2 돌릴려면 외부 SDRAM을 달아줘야 하는데..

(DE0-Nano 뒷편에 32MB SDRAM이 FPGA용이 아니라 nios 2를 위한 SDRAM 이었나?)

도대체... nios2에서 돌릴 OS/프로그램은 어디에 구워지는거지?

[링크 : https://sikpigs.wordpress.com/2013/09/28/nios-ii-on-de0-nano/]

[링크 : https://sikpigs.wordpress.com/2013/09/30/adding-sdram-for-nios-ii-on-de0-nano/]

[링크 : https://www.altera.com/.../tt_nios2_hardware_tutorial.pdf]

[링크 : https://www.youtube.com/watch?v=oQWr-T6MX10]

[링크 : http://www.terasic.com.tw/cgi-bin/page/archive.pl?Language=English&CategoryNo=49&No=656]

[링크 : http://www.emb4fun.de/fpga/nutos1/]


+

2017.12.07

EPCS64를 탭재하는데 계산해보니. 64Mbit = 8MB 플래시가 EPCS로 쓰고 있고

FPGA 설정에 얼마의 용량을 쓰는지 모르겠지만

EPCS를 Nios 2의 용량으로 일부 사용하는 듯.

FPGA 내부적으로는 플래시 컨트롤러를 추가해서 어떻게 쓰는것 같은데

플래시 컨트롤러에서 EPCS의 일정 어드레스를 겹치지 않도록 해주려나?


Now the system contains a CPU, the Sys ID and an external SDRAM. The next step will be to add the EPCS Controller. Therefore select "Library > Memories and Memory Controllers > External Memory Interfaces > Flash Interfaces > EPCS Serial Flash Controller" and click the "Add..." button. We will use the default values of the wizard, press "Finish". Important, rename "epcs_flash_controller_0" to "epcs_flash_controller".

[링크 : http://www.emb4fun.de/fpga/nutos1/]


+

2017.12.10

5.1 Downloading the JIC file into the DE0-Nano Board

[링크 : ftp://ftp.altera.com/up/pub/Altera_Material/13.1/Tutorials/DE0-Nano/Using_DE0-Nano_Flash.pdf]

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

제조사별 FPGA 로직 게이트 갯수 차이  (0) 2017.12.06
altera fpga 라인업  (0) 2017.12.06
microblaze (xilinx) Nios II (altera)  (0) 2017.12.05
Cyclone IV,V (terasic de0-nano)  (0) 2017.12.05
xilinx USB cable 드럽게 비싸네  (0) 2017.12.05
Posted by 구차니
embeded/FPGA - ALTERA2017. 12. 5. 16:05

xilinx에는 microblaze 라는 software CORE가 존재하고

altera에는 nios 2가 존재한다.


아키텍쳐 등은 비슷하나 altera가 더 커스터마이징이 용이하다고..

[링크 : https://www.embeddedrelated.com/showthread/fpga-cpu/2182-1.php]


성능만으로 봐서는.. 전체적으로 Xilinx의 microblaze가 Altera의 Nios 2보다 높게 나온다.

economy는.. 너무 심하게 성능이 떨어지는데 소비전력 면에서 차이가 있어야 할거 같고

절대성능도 그렇고 MHz당 DMIPS 로 봐도 시리즈가 올라간다고 해서 상대적으로 빨라지는게 없어 보이는 편

이래서.. altera 대신 xilinx를 많이 쓰는건가..


[링크 : https://www.altera.com/products/processors/overview.html]


[링크 : https://www.xilinx.com/products/design-tools/microblaze.html]

+

2017.12.07

Device Family Support:

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


+

2017.12.06

성능 저하는 심하지만.. LE를 적게 먹어서 용량 적은 FPGA에서도 돌릴수 있는게 장점 일려나?

Nios II/e[edit]

The Nios II/e core is designed for smallest possible logic utilization of FPGAs. This is especially efficient for low-cost Cyclone II FPGA applications. Features of Nios II/e include:

  • Up to 2 GB of external address space
  • JTAG debug module
  • Complete systems in fewer than 700 LEs
  • Optional debug enhancements
  • Up to 256 custom instructions
  • Free, no license required 

[링크 : https://en.wikipedia.org/wiki/Nios_II]


일단.. cyclone 4 에는 115K~150K의 로직이 있는데 그중에 1K 정도야 머..

  • The Cyclone IV GX FPGA architecture consists of up to 150K vertically arranged logic elements (LEs), 6.5 Mbits of embedded memory arranged as 9-Kbit (M9K) blocks, and 360 18 x 18 embedded multipliers. New to the Cyclone series, Cyclone IV GX FPGAs feature integrated transceivers at up to 3.125 Gbps.
  • The Cyclone IV E FPGA architecture consists of up to 115K vertically arranged LEs, 4 Mbits of embedded memory arranged as 9-Kbit (M9K) blocks, and 266 18 x 18 embedded multipliers. 

[링크 : https://www.altera.com/products/fpga/cyclone-series/cyclone-iv/features.html]


Nios 2/e야 700 이하이긴 한데, 가장 성능좋은 Nios 2/f 도 풀 옵션(?)으로 3K 정도

(115k에서 3k 정도 되어봤자 부담이 크진 않은 듯? 2.6%?)

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


cyclone V E는 25~300 정도

cyclone V GX는 35~300 정도

cyclone V GT는 77~300 정도

cyclone V SE는 25~110 정도

cyclone V SX는 25~110 정도

cyclone V ST는 85~110 정도의 LEs를 포함한다. 근데 머.. 얘는 HPS 존재하니까 굳이 할 필요가 있나?

이론상으로는.. 3k 니까 8 코어~100 코어 시스템은 만들수 있겠네?

(램 분배라던가 결선으로 인해서 사용될 로직이라던가 이런걸 고려하면 절대적으로 무리겠지만)

[링크 : https://www.altera.com/products/fpga/cyclone-series/cyclone-v/features.html]


MMU가 MPU 보다 복잡한 기능 그러니.. MMU가 들어가면 MPU는 필요없다.

[링크 : http://blog.materer.co.kr/15]



+

microblaze의 로직셀 사용량. 

성능 차이가 심하고 아키텍쳐 차이때문에 nios2랑 직접적으로 비교하기는 힘드니.. 그냥 참고용


[링크 : https://www.xilinx.com/support/documentation/quick_start/microblaze-quick-start-guide.pdf]

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

altera fpga 라인업  (0) 2017.12.06
de0-nano / nios2  (0) 2017.12.06
Cyclone IV,V (terasic de0-nano)  (0) 2017.12.05
xilinx USB cable 드럽게 비싸네  (0) 2017.12.05
EPCS, EPCQ  (0) 2017.12.03
Posted by 구차니