Is there a way to read bitstream correctly?

Forum for anything not suitable for the other forums.

Is there a way to read bitstream correctly?

Postby mopplayer » Thu Jul 20, 2017 5:38 pm

I build the headless project by Vivado 2016.4
But it had reported fail to match timing.

I generate the bitstream and replace the original one from offical pubuntu image.
I got stuck at booting...
Code: Select all


U-Boot 2012.10-00003-g792c31c (Jan 03 2014 - 12:24:08)

I2C:   ready
DRAM:  992 MiB
WARNING: Caches not enabled
MMC:   SDHCI: 0
SF: Detected N25Q128 with page size 64 KiB, total 16 MiB
In:    serial
Out:   serial
Err:   serial
Net:   zynq_gem
Hit any key to stop autoboot:  0
Configuring PL and Booting Linux...
Device: SDHCI
Manufacturer ID: 74
OEM: 4a45
Name: USD   
Tran Speed: 50000000
Rd Block Len: 512
SD version 2.0
High Capacity: Yes
Capacity: 29.2 GiB
Bus Width: 4-bit
reading parallella.bit.bin

4045568 bytes read
reading uImage

4154824 bytes read
reading devicetree.dtb

16056 bytes read
## Booting kernel from Legacy Image at 03000000 ...
   Image Name:   Linux-4.6.0+
   Image Type:   ARM Linux Kernel Image (uncompressed)
   Data Size:    4154760 Bytes = 4 MiB
   Load Address: 00008000
   Entry Point:  00008000
   Verifying Checksum ... OK
## Flattened Device Tree blob at 02a00000
   Booting using the fdt blob at 0x02a00000
   Loading Kernel Image ... OK
OK
   Loading Device Tree to 1fff9000, end 1ffffeb7 ... OK

Starting kernel ...

Booting Linux on physical CPU 0x0
Linux version 4.6.0+ (esim@adapteva-dev) (gcc version 4.9.3 20141031 (prerelease) (Linaro GCC 2014.11) ) #1 SMP PREEMPT Wed Dec 7 13:27:40 CET 2016
CPU: ARMv7 Processor [413fc090] revision 0 (ARMv7), cr=18c5387d
CPU: PIPT / VIPT nonaliasing data cache, VIPT aliasing instruction cache
Machine model: Adapteva Parallella Board with HDMI bitstream
cma: Reserved 128 MiB at 0x36000000
Memory policy: Data cache writealloc
percpu: Embedded 12 pages/cpu @ef80e000 s19392 r8192 d21568 u49152
Built 1 zonelists in Zone order, mobility grouping on.  Total pages: 252416
Kernel command line: console=ttyPS0,115200 earlyprintk root=/dev/mmcblk0p2 rootfstype=ext4 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)
Memory: 867272K/1015808K available (5652K kernel code, 279K rwdata, 2132K rodata, 260K init, 159K bss, 17464K reserved, 131072K cma-reserved, 98304K highmem)
Virtual kernel memory layout:
    vector  : 0xffff0000 - 0xffff1000   (   4 kB)
    fixmap  : 0xffc00000 - 0xfff00000   (3072 kB)
    vmalloc : 0xf0800000 - 0xff800000   ( 240 MB)
    lowmem  : 0xc0000000 - 0xf0000000   ( 768 MB)
    pkmap   : 0xbfe00000 - 0xc0000000   (   2 MB)
    modules : 0xbf000000 - 0xbfe00000   (  14 MB)
      .text : 0xc0008000 - 0xc07a25f0   (7786 kB)
      .init : 0xc07a3000 - 0xc07e4000   ( 260 kB)
      .data : 0xc07e4000 - 0xc0829fa0   ( 280 kB)
       .bss : 0xc0829fa0 - 0xc0851c44   ( 160 kB)
Preemptible hierarchical RCU implementation.
        Build-time adjustment of leaf fanout to 32.
        RCU restricting CPUs from NR_CPUS=4 to nr_cpu_ids=2.
RCU: Adjusting geometry for rcu_fanout_leaf=32, nr_cpu_ids=2
NR_IRQS:16 nr_irqs:16 16
slcr mapped to f0800000
L2C: platform modifies aux control register: 0x72360000 -> 0x72760000
L2C: DT/platform modifies aux control register: 0x72360000 -> 0x72760000
L2C-310 erratum 769419 enabled
L2C-310 enabling early BRESP for Cortex-A9
L2C-310 full line of zeros enabled for Cortex-A9
L2C-310 ID prefetch enabled, offset 1 lines
L2C-310 dynamic clock gating enabled, standby mode enabled
L2C-310 cache controller enabled, 8 ways, 512 kB
L2C-310: CACHE_ID 0x410000c8, AUX_CTRL 0x76760001
zynq_clock_init: clkc starts at f0800100
Zynq clock init
clocksource: ttc_clocksource: mask: 0xffff max_cycles: 0xffff, max_idle_ns: 537538477 ns
sched_clock: 16 bits at 54kHz, resolution 18432ns, wraps every 603975816ns
timer #0 at f0808000, irq=16
Console: colour dummy device 80x30
Calibrating delay loop... 1332.01 BogoMIPS (lpj=6660096)
pid_max: default: 32768 minimum: 301
Mount-cache hash table entries: 2048 (order: 1, 8192 bytes)
Mountpoint-cache hash table entries: 2048 (order: 1, 8192 bytes)
CPU: Testing write buffer coherency: ok
CPU0: thread -1, cpu 0, socket 0, mpidr 80000000
Setting up static identity map for 0x8280 - 0x82d8
CPU1: thread -1, cpu 1, socket 0, mpidr 80000001
Brought up 2 CPUs
SMP: Total of 2 processors activated (2664.03 BogoMIPS).
CPU: All CPU(s) started in SVC mode.
devtmpfs: initialized
VFP support v0.3: implementor 41 architecture 3 part 30 variant 9 rev 4
clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 19112604462750000 ns
pinctrl core: initialized pinctrl subsystem
NET: Registered protocol family 16
DMA: preallocated 256 KiB pool for atomic coherent allocations
cpuidle: using governor ladder
zynq-gpio e000a000.gpio: could not find pctldev for node /amba/slcr@f8000000/pinctrl@700/gpio0-default, deferring probe
hw-breakpoint: found 5 (+1 reserved) breakpoint and 1 watchpoint registers.
hw-breakpoint: maximum watchpoint size is 4 bytes.
zynq-ocm f800c000.ocmc: ZYNQ OCM pool: 256 KiB @ 0xf0880000
zynq-pinctrl 700.pinctrl: zynq pinctrl initialized
SCSI subsystem initialized
usbcore: registered new interface driver usbfs
usbcore: registered new interface driver hub
usbcore: registered new device driver usb
media: Linux media interface: v0.10
Linux video capture interface: v2.00
pps_core: LinuxPPS API ver. 1 registered
pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
PTP clock support registered
EDAC MC: Ver: 3.0.0
Advanced Linux Sound Architecture Driver Initialized.
Bluetooth: Core ver 2.21
NET: Registered protocol family 31
Bluetooth: HCI device and connection manager initialized
Bluetooth: HCI socket layer initialized
Bluetooth: L2CAP socket layer initialized
Bluetooth: SCO socket layer initialized
clocksource: Switched to clocksource ttc_clocksource
NET: Registered protocol family 2
TCP established hash table entries: 8192 (order: 3, 32768 bytes)
TCP bind hash table entries: 8192 (order: 4, 65536 bytes)
TCP: Hash tables configured (established 8192 bind 8192)
UDP hash table entries: 512 (order: 2, 16384 bytes)
UDP-Lite hash table entries: 512 (order: 2, 16384 bytes)
NET: Registered protocol family 1
hw perfevents: enabled with armv7_cortex_a9 PMU driver, 7 counters available
futex hash table entries: 512 (order: 3, 32768 bytes)
workingset: timestamp_bits=28 max_order=18 bucket_order=0
fuse init (API version 7.24)
bounce: pool size: 64 pages
io scheduler noop registered
io scheduler deadline registered
io scheduler cfq registered (default)
Error: Driver 'mwipcore' is already registered, aborting...
dma-pl330 f8003000.dmac: Loaded driver for PL330 DMAC-241330
dma-pl330 f8003000.dmac:        DBUFF-128x8bytes Num_Chans-8 Num_Peri-4 Num_Events-16
e0001000.serial: ttyPS0 at MMIO 0xe0001000 (irq = 25, base_baud = 3125000) is a xuartps
console [ttyPS0] enabled
xdevcfg f8007000.devcfg: ioremap 0xf8007000 to f0860000
[drm] Initialized drm 1.1.0 20060810
brd: module loaded
loop: module loaded
zram: Added device: zram0
zynq-qspi e000d000.spi: couldn't determine configuration info about dual memories. defaulting to single memory
m25p80 spi32766.0: SPI-NOR-UniqueID 100000233353781400300021031013f5c0
m25p80 spi32766.0: n25q128a13 (16384 Kbytes)
3 ofpart partitions found on MTD device spi32766.0
Creating 3 MTD partitions on "spi32766.0":
0x000000000000-0x0000004e0000 : "boot"
0x0000004e0000-0x000000500000 : "bootenv"
0x000000ff0000-0x000001000000 : "version"
gpiod_set_value: invalid GPIO
libphy: MACB_mii_bus: probed
macb e000b000.ethernet eth0: Cadence GEM rev 0x00020118 at 0xe000b000 irq 27 (04:4f:8b:00:31:6f)
Marvell 88E1318S e000b000.etherne:00: attached PHY driver [Marvell 88E1318S] (mii_bus:phy_addr=e000b000.etherne:00, irq=-1)
usbcore: registered new interface driver asix
usbcore: registered new interface driver ax88179_178a
usbcore: registered new interface driver cdc_ether
usbcore: registered new interface driver net1080
usbcore: registered new interface driver cdc_subset
usbcore: registered new interface driver zaurus
usbcore: registered new interface driver cdc_ncm
aoe: AoE v85 initialised.
ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
usbcore: registered new interface driver usb-storage
usbcore: registered new interface driver usbserial
usbcore: registered new interface driver usbserial_generic
usbserial: USB Serial support registered for generic
usbcore: registered new interface driver ftdi_sio
usbserial: USB Serial support registered for FTDI USB Serial Device
e0002000.usb supply vbus not found, using dummy regulator
ULPI transceiver vendor/product ID 0x0424/0x0007
Found SMSC USB3320 ULPI transceiver.
ULPI integrity check: passed.
ci_hdrc ci_hdrc.0: EHCI Host Controller
ci_hdrc ci_hdrc.0: new USB bus registered, assigned bus number 1
ci_hdrc ci_hdrc.0: USB 2.0 started, EHCI 1.00
hub 1-0:1.0: USB hub found
hub 1-0:1.0: 1 port detected
e0003000.usb supply vbus not found, using dummy regulator
ci_hdrc ci_hdrc.1: unable to init phy: -110
ci_hdrc: probe of ci_hdrc.1 failed with error -110
mousedev: PS/2 mouse device common for all mice
i2c /dev entries driver
cdns-i2c e0004000.i2c: 100 kHz mmio e0004000 irq 22
Xilinx Zynq CpuIdle Driver started
sdhci: Secure Digital Host Controller Interface driver
sdhci: Copyright(c) Pierre Ossman
sdhci-pltfm: SDHCI platform and OF driver helper
mmc0: SDHCI controller on e0101000.sdhci [e0101000.sdhci] using ADMA
ledtrig-cpu: registered to indicate activity on CPUs
hidraw: raw HID events driver (C) Jiri Kosina
usbcore: registered new interface driver usbhid
usbhid: USB HID core driver
usbcore: registered new interface driver snd-usb-audio
mmc0: new high speed SDHC card at address 59b4
adv7511-hdmi-snd fpga:adv7511_hdmi_snd: adv7511 <-> 75c00000.axi-spdif-tx mapping ok
mmcblk0: mmc0:59b4 USD   29.2 GiB
NET: Registered protocol family 10
 mmcblk0: p1 p2
sit: IPv6 over IPv4 tunneling driver
NET: Registered protocol family 17
bridge: automatic filtering via arp/ip/ip6tables has been deprecated. Update your scripts to load br_netfilter if you need this.
Bluetooth: RFCOMM TTY layer initialized
Bluetooth: RFCOMM socket layer initialized
Bluetooth: RFCOMM ver 1.11
Bluetooth: BNEP (Ethernet Emulation) ver 1.3
Bluetooth: BNEP filters: protocol multicast
Bluetooth: BNEP socket layer initialized
Bluetooth: HIDP (Human Interface Emulation) ver 1.2
Bluetooth: HIDP socket layer initialized
Registering SWP/SWPB emulation handler
axi-hdmi 6c000000.axi_hdmi: No connectors reported connected with modes
[drm] Cannot find any crtc or sizes - going 1024x768
Console: switching to colour frame buffer device 128x48
axi-hdmi 6c000000.axi_hdmi: fb0:  frame buffer device
[drm] Initialized axi_hdmi_drm 1.0.0 20120930 on minor 0
hctosys: unable to open rtc device (rtc0)
VDD_DSP: disabling
ALSA device list:
  #0: HDMI monitor
EXT4-fs (mmcblk0p2): recovery complete
EXT4-fs (mmcblk0p2): mounted filesystem with ordered data mode. Opts: (null)
VFS: Mounted root (ext4 filesystem) on device 179:2.
devtmpfs: mounted
Freeing unused kernel memory: 260K (c07a3000 - c07e4000)
This architecture does not have kernel memory protection.
random: systemd urandom read with 8 bits of entropy available
Welcome to Ubuntu 15.04!

[  OK  ] Reached target Swap.
[  OK  ] Created slice Root Slice.
[  OK  ] Listening on /dev/initctl Compatibility Named Pipe.
[  OK  ] Created slice User and Session Slice.
[  OK  ] Listening on Delayed Shutdown Socket.
[  OK  ] Created slice System Slice.
[  OK  ] Created slice system-getty.slice.
         Starting Increase datagram queue length...
[  OK  ] Listening on Journal Socket (/dev/log).
[  OK  ] Listening on Journal Socket.
         Starting Load Kernel Modules...
         Starting Restore / save the current clock...
         Starting Setup Virtual Console...
         Starting Create list of required st... nodes for the current kernel...
[  OK  ] Reached target Encrypted Volumes.
         Starting Remount Root and Kernel File Systems...
[  OK  ] Reached target Slices.
[  OK  ] Reached target Remote File Systems (Pre).
[  OK  ] Listening on udev Control Socket.
[  OK  ] Listening on udev Kernel Socket.
[  OK  ] Created slice system-serial\x2dgetty.slice.
         Mounting Debug File System...
         Starting udev Coldplug all Devices...
[  OK  ] Started Increase datagram queue length.
[  OK  ] Started Load Kernel Modules.
[  OK  ] Started Setup Virtual Console.
[  OK  ] Started Create list of required sta...ce nodes for the current kernel.
[  OK  ] Started Remount Root and Kernel File Systems.
[  OK  ] Mounted Debug File System.
[  OK  ] Started Restore / save the current clock.
[  OK  ] Started udev Coldplug all Devices.
         Starting Load/Save Random Seed...
         Starting Create Static Device Nodes in /dev...
         Mounting FUSE Control File System...
         Starting Apply Kernel Variables...
[  OK  ] Listening on Syslog Socket.
         Starting Journal Service...
[  OK  ] Started Load/Save Random Seed.
[  OK  ] Mounted FUSE Control File System.
[  OK  ] Started Apply Kernel Variables.
[  OK  ] Started Create Static Device Nodes in /dev.
[  OK  ] Reached target Local File Systems (Pre).
[  OK  ] Reached target Local File Systems.
         Starting LSB: Raise network interfaces....
         Starting Wait for all "auto" /etc/n... up for network-online.target...
[  OK  ] Reached target Remote File Systems.
         Starting Set console keymap...
         Starting Tell Plymouth To Write Out Runtime Data...
         Starting udev Kernel Device Manager...
[  OK  ] Started Tell Plymouth To Write Out Runtime Data.
[  OK  ] Started Journal Service.
         Starting Flush Journal to Persistent Storage...
[  OK  ] Started Flush Journal to Persistent Storage.
[  OK  ] Started udev Kernel Device Manager.
[  OK  ] Reached target Paths.
         Starting Copy rules generated while the root was ro...
         Starting Create Volatile Files and Directories...
[  OK  ] Started Set console keymap.
[  OK  ] Started Copy rules generated while the root was ro.
[  OK  ] Started Create Volatile Files and Directories.
         Starting Update UTMP about System Boot/Shutdown...
[  OK  ] Reached target System Time Synchronized.
[  OK  ] Started Update UTMP about System Boot/Shutdown.
[  OK  ] Found device /dev/ttyPS0.



How to resolve this?
Thanks a lot.
mopplayer
 
Posts: 4
Joined: Thu Jul 20, 2017 5:32 pm

Re: Is there a way to read bitstream correctly?

Postby olajep » Thu Jul 20, 2017 6:41 pm

The uboot version that ships w/ the Parallella boards requires a raw bitstream

Two options:
i) In Vivado: enable "raw_bitstream" in "Bitstream settings"
or
ii) Use bootgen to extract the raw bitstream from a boot image
See:
https://github.com/parallella/oh/blob/m ... e16_z7010/
https://github.com/parallella/oh/blob/m ... uild.sh#L4
https://github.com/parallella/oh/blob/m ... it2bin.bif

// Ola
_start = 266470723;
olajep
 
Posts: 140
Joined: Mon Dec 17, 2012 3:24 am
Location: Sweden

Re: Is there a way to read bitstream correctly?

Postby mopplayer » Fri Jul 21, 2017 4:06 am

olajep wrote:The uboot version that ships w/ the Parallella boards requires a raw bitstream

Two options:
i) In Vivado: enable "raw_bitstream" in "Bitstream settings"
or
ii) Use bootgen to extract the raw bitstream from a boot image
See:
https://github.com/parallella/oh/blob/m ... e16_z7010/
https://github.com/parallella/oh/blob/m ... uild.sh#L4
https://github.com/parallella/oh/blob/m ... it2bin.bif

// Ola


Hi, I have followed the instructions from https://www.parallella.org/2015/03/23/n ... in-vivado/ to gererate the bitstream.
But it could not boot.

Upgrade IP:
Code: Select all
[Coretcl 2-1279] The upgrade of 'IP elink_testbench_fifo_103x16_0_0' has identified issues that may require user intervention. Please review the upgrade log '"c:/parallella/ip_upgrade.log"', and verify that the upgraded IP is correctly configured.
[Coretcl 2-1279] The upgrade of 'IP elink_testbench_fifo_103x16_0_1' has identified issues that may require user intervention. Please review the upgrade log '"c:/parallella/ip_upgrade.log"', and verify that the upgraded IP is correctly configured.
[Coretcl 2-1279] The upgrade of 'IP elink_testbench_fifo_103x32_0_0' has identified issues that may require user intervention. Please review the upgrade log '"c:/parallella/ip_upgrade.log"', and verify that the upgraded IP is correctly configured.
[Coretcl 2-1279] The upgrade of 'IP elink_testbench_fifo_103x32_0_1' has identified issues that may require user intervention. Please review the upgrade log '"c:/parallella/ip_upgrade.log"', and verify that the upgraded IP is correctly configured.
[Coretcl 2-1279] The upgrade of 'IP elink_testbench_fifo_103x32_0_2' has identified issues that may require user intervention. Please review the upgrade log '"c:/parallella/ip_upgrade.log"', and verify that the upgraded IP is correctly configured.
[Coretcl 2-1279] The upgrade of 'IP elink_testbench_fifo_generator_0_0' has identified issues that may require user intervention. Please review the upgrade log '"c:/parallella/ip_upgrade.log"', and verify that the upgraded IP is correctly configured.



And is there a offical HDMI based vivado project? Those link and github confused me to do...
So I chose https://github.com/peteasa/parallella , was it correct?
I got errors after some comments and modifications
Code: Select all
ERROR: [BD 41-50] Could not find an IP with the given vlnv: xilinx.com:ip:clk_wiz:5.1
ERROR: [BD 41-595] Failed to add BD cell <clk_wiz_0>
ERROR: [BD 41-425] Failed to read Diagram <elink2_top> from BD file </media/ubuntu/58aa7c31-4b64-4d89-8371-3a482ff66c51/vivado/project/parallella/parallella-fpga/7020_hdmi/7020_hdmi.srcs/sources_1/bd/elink2_top/elink2_top.bd>
ERROR: [Vivado 12-4756] Launch of runs aborted due to earlier errors while preparing sub-designs for run execution.
mopplayer
 
Posts: 4
Joined: Thu Jul 20, 2017 5:32 pm


Return to General Discussion

Who is online

Users browsing this forum: Google [Bot] and 11 guests