FC2カウンター FPGAの部屋 2013年08月07日

FPGAやCPLDの話題やFPGA用のツールの話題などです。 マニアックです。 日記も書きます。


FPGAの部屋の有用と思われるコンテンツのまとめサイトを作りました。Xilinx ISEの初心者の方には、FPGAリテラシーおよびチュートリアルのページをお勧めいたします。



Helioボードには、説明書が紙1枚だったので、RocketBoards.org Macnica Helio SoC Evaluation Kit のページの Getting Started (v0.31 Preliminary, May.15, 2013) を見ながら設定を行った。

・SDFormatter でSDカードをフォーマット

・Linux SD Card Image (Linux kernel 3.8, Preliminary, May.29, 2013)をダウンロードして、DiskImager でイメージをSDカードにWriteした。



・Tera Termを立ちあげ、ボー・レートを 57600 bit/sec に設定した。

・Helioボードの設定ピンやDIP SWはマニュアルの通りだった。



・Linux が立ち上がった。

・ルート・ディレクトリを ls してみた。

ZedBoardのZynq-7020 より、FPGAの温度が高い感じがする。FPGAの回路が沢山入っているのだろうか?

Linuxの起動メッセージを貼っておく。sshd や httpd も起動しているようだ。

U-Boot SPL 2012.10 (Apr 10 2013 - 10:09:43)
SDRAM : Initializing MMR registers
SDRAM : Calibrationg PHY
SEQ.C: Preparing to start memory calibration

U-Boot 2012.10 (Apr 05 2013 - 14:58:42)

CPU : Altera SOCFPGA Platform
BOARD : Altera SOCFPGA Cyclone 5 Board
*** Warning - bad CRC, using default environment

In: serial
Out: serial
Err: serial
Net: mii0
Warning: failed to set MAC address

Hit any key to stop autoboot: 0
reading uImage

2720256 bytes read
reading socfpga.dtb

15658 bytes read
## Booting kernel from Legacy Image at 00007fc0 ...
Image Name: Linux-3.8.0
Image Type: ARM Linux Kernel Image (uncompressed)
Data Size: 2720192 Bytes = 2.6 MiB
Load Address: 00008000
Entry Point: 00008000
## Flattened Device Tree blob at 00000100
Booting using the fdt blob at 0x00000100
XIP Kernel Image ... OK
Loading Device Tree to 0fff8000, end 0fffed29 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Initializing cgroup subsys cpuset
Linux version 3.8.0 (alterasoc@alterasoc-VirtualBox) (gcc version 4.7.3 20121106 (prerelease) (crosstool-NG linaro-1.13.1-4.7-2012.11-20121123 - Linaro GCC 2012.11) ) #1 SMP Tue May 28 17:43:52 JST 2013
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=10c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine: Altera SOCFPGA, model: Altera SOCFPGA Cyclone V
Memory policy: ECC disabled, Data cache writealloc
PERCPU: Embedded 8 pages/cpu @80d6b000 s10880 r8192 d13696 u32768
Built 1 zonelists in Zone order, mobility grouping on. Total pages: 260096
Kernel command line: console=ttyS0,57600 root=/dev/mmcblk0p2 rw rootwait
PID hash table entries: 4096 (order: 2, 16384 bytes)
Dentry cache hash table entries: 131072 (order: 7, 524288 bytes)
Inode-cache hash table entries: 65536 (order: 6, 262144 bytes)
__ex_table already sorted, skipping sort
Memory: 1024MB = 1024MB total
Memory: 1033952k/1033952k available, 14624k reserved, 0K highmem
Virtual kernel memory layout:
vector : 0xffff0000 - 0xffff1000 ( 4 kB)
fixmap : 0xfff00000 - 0xfffe0000 ( 896 kB)
vmalloc : 0xc0800000 - 0xff000000 (1000 MB)
lowmem : 0x80000000 - 0xc0000000 (1024 MB)
modules : 0x7f000000 - 0x80000000 ( 16 MB)
.text : 0x80008000 - 0x804c9350 (4869 kB)
.init : 0x804ca000 - 0x804f6a80 ( 179 kB)
.data : 0x804f8000 - 0x80527038 ( 189 kB)
.bss : 0x80527038 - 0x8055eb2c ( 223 kB)
SLUB: Genslabs=11, HWalign=64, Order=0-3, MinObjects=0, CPUs=2, Nodes=1
Hierarchical RCU implementation.
NR_IRQS:16 nr_irqs:16 16
sched_clock: 32 bits at 100MHz, resolution 10ns, wraps every 42949ms
Console: colour dummy device 80x30
Calibrating delay loop... 1594.16 BogoMIPS (lpj=7970816)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 512
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x395b80 - 0x395bd8
CPU1: Booted secondary processor
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (3188.32 BogoMIPS).
devtmpfs: initialized
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
L310 cache controller enabled
l2x0: 8 ways, CACHE_ID 0x000000c0, AUX_CTRL 0x32460000, Cache size: 524288 B
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
bio: create slab at 0
FPGA Mangager framework driver
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
lcd_load_custom_fonts: i2c_master_send returns -121
lcd_cmd_no_params: i2c_master_send returns -121
lcd_cmd_one_param: i2c_master_send returns -121
lcd_cmd_no_params: i2c_master_send returns -121
lcd-comm 0-0028: LCD driver initialized
Switching to clocksource timer0
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 4, 65536 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
TCP: reno registered
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
RPC: Registered named UNIX socket transport module.
RPC: Registered udp transport module.
RPC: Registered tcp transport module.
RPC: Registered tcp NFSv4.1 backchannel transport module.
hw perfevents: enabled with ARMv7 Cortex-A9 PMU driver, 7 counters available
arm-pmu arm-pmu: PMU:CTI successfully enabled
NFS: Registering the id_resolver key type
Key type id_resolver registered
Key type id_legacy registered
NTFS driver 2.1.30 [Flags: R/W].
jffs2: version 2.2. (NAND) c 2001-2006 Red Hat, Inc.
msgmni has been set to 2019
io scheduler noop registered (default)
Serial: 8250/16550 driver, 2 ports, IRQ sharing disabled
ffc02000.serial0: ttyS0 at MMIO 0xffc02000 (irq = 194) is a 8250
console [ttyS0] enabled
ffc03000.serial1: ttyS1 at MMIO 0xffc03000 (irq = 195) is a 8250
altera_fpga_manager ff706000.fpgamgr: fpga manager [Altera FPGA Manager] registered as minor 0
brd: module loaded
at24 0-0051: 4096 byte 24c32 EEPROM, writable, 32 bytes/write
cadence-qspi ff705000.spi: master is unqueued, this is deprecated
m25p80 spi2.0: unrecognized JEDEC id ffffff
cadence-qspi ff705000.spi: Cadence QSPI controller driver
dw_spi_mmio fff00000.spi: master is unqueued, this is deprecated
dw_spi_mmio fff01000.spi: master is unqueued, this is deprecated
stmmac - user ID: 0x10, Synopsys ID: 0x37
DMA HW capability register supported
Enhanced/Alternate descriptors
RX Checksum Offload Engine supported (type 2)
TX Checksum insertion supported
Enable RX Mitigation via HW Watchdog Timer
libphy: stmmac: probed
eth0: PHY ID 00221611 at 4 IRQ 0 (stmmac-0:04) active
socfpga_phy_reset_mii writing extended registers to phyaddr 4
Initializing USB Mass Storage driver...
usbcore: registered new interface driver usb-storage
USB Mass Storage support registered.
Using Slave mode
dwc_otg ffb40000.usb: DWC OTG Controller
dwc_otg ffb40000.usb: new USB bus registered, assigned bus number 1
dwc_otg ffb40000.usb: irq 160, io mem 0xffb40000
Init: Port Power? op_state=b_peripheral
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
mousedev: PS/2 mouse device common for all mice
rtc-ds1307 0-0068: rtc core: registered ds1339 as rtc0
i2c /dev entries driver
Synopsys Designware Multimedia Card Interface Driver
dwmmc_socfpga ff704000.dwmmc0: couldn't determine pwr-en, assuming pwr-en = 0
dwmmc_socfpga ff704000.dwmmc0: Using internal DMA controller.
dwmmc_socfpga ff704000.dwmmc0: DW MMC controller at irq 171, 32 bit host data width, 1024 deep fifo
mmc_host mmc0: Bus speed (slot 0) = 100000000Hz (slot req 400000Hz, actual 400000HZ div = 125)
dwmmc_socfpga ff704000.dwmmc0: 1 slots initialized
dwmmc_socfpga ff704000.dwmmc0: Version ID is 240a
ledtrig-cpu: registered to indicate activity on CPUs
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
oprofile: using arm/armv7-ca9
TCP: cubic registered
NET: Registered protocol family 17
NET: Registered protocol family 15
Key type dns_resolver registered
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
ThumbEE CPU extension supported.
Registering SWP/SWPB emulation handler
Waiting for root device /dev/mmcblk0p2...
dwmmc_socfpga ff704000.dwmmc0: data FIFO error (status=00000800)
mmc0: problem reading SD Status register.
mmc_host mmc0: Bus speed (slot 0) = 100000000Hz (slot req 50000000Hz, actual 50000000HZ div = 1)
mmc0: new high speed SDHC card at address b368
mmcblk0: mmc0:b368 43579 7.45 GiB
mmcblk0: p1 p2 p3
++OTG Interrupt: A-Device Timeout Change++
kjournald starting. Commit interval 5 seconds
EXT3-fs (mmcblk0p2): using internal journal
EXT3-fs (mmcblk0p2): recovery complete
EXT3-fs (mmcblk0p2): mounted filesystem with ordered data mode
VFS: Mounted root (ext3 filesystem) on device 179:2.
devtmpfs: mounted
Freeing init memory: 176K
INIT: version 2.88 booting
Starting Bootlog daemon: bootlogd.
Configuring network interfaces... eth0: device MAC address 82:fa:a7:3f:a0:7b
udhcpc (v1.20.2) started
Sending discover...
Sending discover...
Sending discover...
No lease, failing
Starting portmap daemon...
INIT: Entering runlevel: 5
Starting OpenBSD Secure Shell server: sshd
Starting syslogd/klogd: done
Starting Lighttpd Web Server: lighttpd.
Stopping Bootlog daemon: bootlogd.

Poky 8.0 (Yocto Project 1.3 Reference Distro) 1.3 socfpga_cyclone5 ttyS0

socfpga_cyclone5 login:

  1. 2013年08月07日 17:15 |
  2. Helio
  3. | トラックバック:0
  4. | コメント:0

Vivado チュートリアル Designing with IP Lab3 (IP Packager)3

Vivado チュートリアル Designing with IP Lab3 (IP Packager)2”の続き。

前回で、IP Catalog に自作IPを登録することが出来た。今回は、前回のカスタムIPを新しいプロジェクトで使用するためのチュートリアルとなる。

36.前回のVivado プロジェクトを終了する。

37.新しくVivado 2013.2を起動する。

38.Getting Started 画面で、Create New Project をクリックする。

39.Create a New Vivado Project ダイアログが表示された。

40.Project name に test_IP を入力して、Project location は lab3 を指定する。

41.RTL Projcet のラジオボタンをクリックする。Do not specify sources at this time にチェックを入れる。

42.xc7z020clg484-1 を選択した。

43.Summary が表示された。Finishボタンをクリックした。

44.Vivado2013.2 のプロジェクトが立ち上がった。

45.Flow Navigator -> Project Manager -> IP Catalog をクリックした。

46.右のウインドウにIP Catalog が開く。そこで、右クリックし、右クリックメニューから IP Setting... を選択した。

47.IP の Repository Managaer タブで、Add Repository... ボタンをクリックした。

・前回作製したcustom_vtc IP を作製した新しい test_IP プロジェクトの IP Catalog に追加する。

48.lab3 の custom_vtc フォルダを選択した。Selectボタンをクリックした。

49.IP Repositories ペインに custom_vtc (Project) が入り、IP in Slected Repository ペインに custom_vtc by marsee が入った。OKボタンをクリックした。

50.Video & Image Processing カテゴリに、custom_vtc by marsee が入った。Base IP のカテゴリにも入っていると思う。

51.custom_vtc by marsee をダブルクリックした。

52.custom_vtc by marsee の Customize IP ダイアログが表示された。OKボタンをクリックした。

53.Generate Output Products ダイアログが表示された。Gnerate ボタンをクリックした。

54.custom_vtc が Sources ウインドウに入った。

・custom_vtc by marsee を IP Integrator で使用できるかどうか?テストしてみた。

55.Flow Navigator -> IP Integrator -> Create Block Desgin をクリックした。

56.Create Block Design ダイアログが表示された。OKボタンをクリックした。

57.Diagram タブの Add IP をクリックした。IPを選択するダイアログが開き、Search に cust と入れると、custom_vtc by marsee が出てきた。custom_vtc by marsee を選択した状態で、Enterキーを押した。

58.custom_vtc by marsee を IP Integrator で表示することが出来た。

59.DIagram タブの X をクリックして、セーブしないで終了した。

60.Flow Navigator -> Synthesis -> Run Synthesis をクリックした。

61.Synthesis が成功した。インプリメントを続いて行う。OKボタンをクリックした。

62.インプリメントが終了した。Implemented Design を開く。OKボタンをクリックした。

63.Implemented Design が開いた。

  1. 2013年08月07日 05:32 |
  2. Vivado
  3. | トラックバック:0
  4. | コメント:0