-
Notifications
You must be signed in to change notification settings - Fork 19
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Tang Nano 9K synthesis error #224
Comments
I think this is the relevant part:
Which seems to correspond to this line of code: So Which processor version are you using? |
@stnolting thanks for the reply :) I found out that there are several errors even in the place&route phase. Hopefully I will receive the board in the next weeks and then I will post here the final modification for a working design so if you want you can apply them to this official repo. |
Could you provide some more information? Were these just issues in the configuration of synthesis?
That would be great! Thank you very much! |
Yes, the first one posted here is a misconfiguration in the number of GPIO to initiate on the processor. I will post here when done! |
Hi @stnolting, Finally I received the board so I manage to check if my modified setup works and seems all fine besides the UART connection. After flashing and connecting to the UART port I cannot manage to get some readable characters, seems that the baud rate is always wrong (I tried every possible frequency) and checking on the internet it seems that is a common issue with this board and the JTAG chip. I'm a bit lost so if you have suggestions @stnolting it will be very helpful. |
Hey @elialaz, this sounds like a problme with the clock frequency configuration. The UART setup function (by default) gets the time base (i.e. the processor clock frequency) from a memory-mapped register that gets initialized during synthesis from the Did you change this generic according to your clock source? entity neorv32_test_setup_bootloader is
generic (
-- adapt these for your setup --
CLOCK_FREQUENCY : natural := 100000000; -- clock frequency of clk_i in Hz The value here must reflect the actual clock freuency of the processor's |
@stnolting I'm using the test_setup_bootloader.vhd, I checked but the frequency is set to the right value so this shouldn't be the case
EDIT: i checked even the physical connection but the close should be fine |
Do you get weird UART data or none at all? You are booting the bootloader, right? Have you connected an LED to GPIO output 0? Do you see it blinking? |
Do you use a PLL or something inside the FPGA? |
@stnolting I get the data and seems all fine but I basically get garbage. Here the example
Yes the bootloader boots fine and yes the led blinks fine. I think that everything works fine from the neor32 point of view, its just the UART connection or the JTAG chip that as problems. |
No nothing strange, its just the cinese manufacturer's questionable choices for the oscillator chosen |
I saw that others had this problem and solved by changing the UART to an external converter so maybe it's just this. I have 39 more boards here so maybe tomorrow I will try if it's just this one or is a systemic issue, if you have other ideas feel free to make suggestions and I would try :) Thanks again for the help @stnolting |
That sounds like a good idea. Unfortunately, I have never worked with those FPGAs (but I am planning to get one) so I cannot say a thing about the UART-USB bridge... Is there seomthing like an UART reference design by Gowin / Sipeed?
Oh what?! 😅 |
Hi,
I'm using the Tang Nano 9K setup but seems that there is an error in the project, to be fair I'm using the GOWIN EDA version 1.9.11 because the 1.9.9 is not available anymore.
Here the error log:
GowinSynthesis start Running parser ... ...... Processing 'neorv32_sysinfo(num_harts=1,clock_frequency=27000000,boot_mode_select=0,int_bootloader_en=true,mem_int_imem_en=true,mem_int_imem_rom=false,mem_int_imem_size=16384,mem_int_dmem_en=true,mem_int_dmem_size=8192,icache_en=false,icache_num_blocks=4,icache_block_size=64,dcache_en=false,dcache_num_blocks=4,dcache_block_size=64,xbus_en=false,xbus_cache_en=false,xbus_cache_num_blocks=64,xbus_cache_block_size=32,ocd_en=false,ocd_authentication=false,io_gpio_en=true,io_clint_en=true,io_uart0_en=true,io_uart1_en=false,io_spi_en=false,io_sdi_en=false,io_twi_en=false,io_twd_en=false,io_pwm_en=false,io_wdt_en=false,io_trng_en=false,io_cfs_en=false,io_neoled_en=false,io_gptmr_en=false,io_onewire_en=false,io_dma_en=false,io_slink_en=false,io_crc_en=false)(neorv32_sysinfo_rtl)'("/home/elialaz/Projects/neorv/neorv32-setups/gowineda/tang-nano-9k/test/src/neorv32_sysinfo.vhd":18) ERROR (EX4923) : Expression has 8u elements, expected 6u("/home/elialaz/Projects/neorv/neorv32-setups/gowineda/tang-nano-9k/test/src/neorv32_test_setup_bootloader.vhd":78) ERROR (EX4844) : Netlist 'neorv32_test_setup_bootloader(neorv32_test_setup_bootloader_rtl)' remains a black box due to errors in its contents("/home/elialaz/Projects/neorv/neorv32-setups/gowineda/tang-nano-9k/test/src/neorv32_test_setup_bootloader.vhd":18) GowinSynthesis finish
Thanks in advance!
The text was updated successfully, but these errors were encountered: