question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Ice40 HX8K EVB issues

See original GitHub issue

The BIOS does not compare up on the Lattice ice40 HX8K EVB. There are several issues.

I have gotten some of the way here:

https://github.com/niklasnisbeth/litex-buildenv/commit/846fc6193972692f9de8d99146f29702d6ff80e3

I have been trying to use litex-buildenv to make a vertexriscv image for the HX8K. I am using the stub firmware. The built firmware does not come up.

We tried adding the UARTWishboneBridge, but wishbone-tool cannot connect to it (as if the Wishbone bus is locking up).

Moving the SRAM to address 0 makes it possible to inspect the wishbone bus with the tool.

The CPU was not running code correctly, changing the SPIFlash to little endian corrects this.

At this point, with UARTWishboneBridge still in, the CPU starts running the BIOS but is stuck in an infinite loop apparently in a call to vsnprintf in the BIOS that I cannot locate.

Removing the UARTWishboneBridge does not make the BIOS come up.

litex-buildenv revision 96ab220b0f60e3d509ca0a66dcfb81676ef294d9 results in a working Micropython environment.

Issue Analytics

  • State:open
  • Created 4 years ago
  • Comments:26 (26 by maintainers)

github_iconTop GitHub Comments

1reaction
ewenmcneillcommented, Mar 8, 2020

@niklasnisbeth I’ve CC’d you (and @mithro) on https://github.com/enjoy-digital/litex/issues/417; hope that’s okay.

@niklasnisbeth If you do have a way of trying the iCE40 HK8K with the sram size forced to 0x2000 (8kB) instead of 0x2800 (10kB) I think that’d be a useful thing to do. In theory it should at least show the Litex boot messages and confirm that serial output works for you too.

Ewen

0reactions
ewenmcneillcommented, May 6, 2020

Thanks for testing. lm32.minimal is basically what I was testing with on a TinyFPGA BX, so that’s the most likely to work (I suspect vexriscv.minimal should work too, but I don’t know when anyone last tested that on an iCE40 from litex-buildenv).

MicroPython should build now (at least it did a couple of weeks ago), but it needs to be built with a custom script, eg:

...
export FIRMWARE=micropython
make gateware
scripts/build-micropython.sh

(It’d be nice if FIRMWARE=micropython and “make image” or similar was sufficient, but that hasn’t been set up in the Makefiles AFAIK.)

Assuming the image built and flashed okay, my guess is that the “slow binary counter on the LEDs” is something that’s built into the gateware (ie, not reliant on the CPU), and maybe the CPU still isn’t booting correctly.

Unfortunately I don’t have a ice40_hx8k_b_evn to test myself. But my guess would be that maybe something’s still needing to be converted in the target file to ensure that the CPU/RAM gets built with the correct memory layout.

Ewen

Read more comments on GitHub >

github_iconTop Results From Across the Web

Flashing ice40hx8k-evb Open Source FPGA with an ft2232h
Recently I had to flash a test program in my ice40hx8k-evb[1] board. ... Structure of the ice40 FPGA Evaluation board.
Read more >
iCE40HX8K-EVB OSHW prototypes are ready to test - olimex
Now we are testing for silly mistakes, if everything is OK will run it in production next month. The price will be EUR...
Read more >
iCE40HX8K-EVB - Open Source Hardware Board - Olimex
iCE40HX8K-EVB has 34 pin bus connector which allows the easy hardware expansion of the board with additional modules like: iCE40-ADC with 100Mhz ADC;...
Read more >
iCE40 HX8K Breakoutboard Unboxing - My Technical Blog
Receiving my breakout board today: https://www.olimex.com/Products/FPGA/iCE40/iCE40HX8K-EVB/open-source-hardware The procedures described ...
Read more >
Lattice iCE40 FPGA examples for the Olimex HX8K board
Examples (LED blinky and VGA + PS/2) for the Lattice iCE40-HX8K FPGA ... distinfo: TIMESTAMP = 1526800249 SHA256 (OLIMEX-iCE40HX8K-EVB- ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found