Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Activity
    Paul Ruiz
    @pnru_gitlab
    I got segfault with this if(argc > 0) That should maybe be if(argc > 1) and maybe that crashing test by accident did not have a valid pointer in argv[1].
    Dolu1990
    @Dolu1990
    I have a strange case with a 12F board, depending the seed i use in next-pnr, the design work, or bug in different manners. The FPGA is used as if it was a 25F. Could that be that the device sold as a 12F has broken logic in the 25F side, which depending the seed is hit ?
    emard
    @emard
    @pnru_gitlab I was setting only seconds to 1973 :) who knows for later dates
    @Dolu1990 no, 12F==25F
    David Shah
    @daveshah1
    Diamond just limits the total number of LUTs, afaik, so there isn't a '25F' side
    Sounds like some other bug tbh
    Your nextpnr is from the last few months right?
    Dolu1990
    @Dolu1990
    Ahhh, got it, diamond is allow to use lut of the FPGA without restrictions, until 12K
    thanks ^^
    I'm on next-pnr version 5fa10e1
    David Shah
    @daveshah1
    I would recommend updating nextpnr and trellis
    Dolu1990
    @Dolu1990
    which is quite old, hmm weird, i would have say from memory that it was a few months old XD
    will do ^^
    David Shah
    @daveshah1
    Some time around March/April I fixed a bug that would cause random failures, particularly for designs using certain IO pins
    Those IO pins happened to include some ULX3S SDRAM pins - since that fix I think reliability has improved
    Lawrie Griffiths
    @lawrie
    @emard The 2-core 12F did build. It look a very long time as it uses 95% of the slices. It is in Smp/bitstreams/ulx3s_12f_2core_saxonsoc.bit. It works for me with dtb.green85f as that has 2 cores and 32MB of memory defined.
    Dolu1990
    @Dolu1990
    @daveshah1 Ok thanks :)
    Lawrie Griffiths
    @lawrie
    The 2-core 12F passed the timing by the biggest margin I have seen: Info: Max frequency for clock '$glbnet$clocking_pll_clkout2': 56.98 MHz (PASS at 52.08 MHz).
    @pnru_gitlab I tried defining tv_nsec as two longs, but the second one was always 0.
    Dolu1990
    @Dolu1990
    @daveshah1 I think that was the issue, so far it seem fine ^^
    thanks
    David Shah
    @daveshah1
    Great!
    Paul Ruiz
    @pnru_gitlab
    @lawrie I don't think tv_nsec is the problem: it is 32 bits and always in the range 0 to 1000 million. It is tv_sec that is a 64 bit amount - but it will only overflow into the 33rd bit in 2038. So, if time_t is 64 bit on RV32 linux I would expect the kernel to write a word with the low half of tv_sec, a word with the high half (always zero this decade) and a word with the nano second fraction, always between 0 and 999,999,999 - words listed in increasing memory address order.
    Unix time today is around 1,300 million: https://time.is/Unix_time_now
    Paul Ruiz
    @pnru_gitlab
    1600 million
    Lawrie Griffiths
    @lawrie
    I think Linux is writing time_t as 32-bits, because when I had the structure defined as 3 longs, the first long got the seconds, the second the nanoseconds and the third zero. It is now two longs and the seconds and nanoseconds are correct.
    emard
    @emard
    @lawrie 2-core 12F boots up to printing this and stops. Do I need differrent dtb.12F ?
    [    4.343508] VFS: Mounted root (ext2 filesystem) readonly on device 179:2.
    [    4.379776] devtmpfs: mounted
    [    4.386410] Freeing unused kernel memory: 160K
    [    4.389858] This architecture does not have kernel memory protection.
    [    4.394635] Run /sbin/init as init process
    Lawrie Griffiths
    @lawrie
    Yes, you need to use dtb.green85f
    emard
    @emard
    :) will try
    Lawrie Griffiths
    @lawrie
    dtb.12f has one cpu defined. dtb.green85f has 32MB of memory and two CPUs.
    Building your own dtbs is easy. You only need dtc installed.
    emard
    @emard
    wow it booted and works!!!
    Lawrie Griffiths
    @lawrie
    I was surprised that 2 CPUS + VGA and HDMI fitted on a 12F.
    emard
    @emard
    Im suprised at 95% usage it works at normal clock freq!
    Lawrie Griffiths
    @lawrie
    As I said above, it passes the timing better than any other build I have seen.
    emard
    @emard
    Not only this but "htop" itself is 17% cpu usage while at 85F 2-core it is 20% cpu usage :)
    Market often underestimates how good is 12F, everybody wants to buy 85F
    Lawrie Griffiths
    @lawrie
    I ordered a 45F on crowdsupply, so I have a complete set :)
    (But not as many variants as you).
    emard
    @emard
    today the boxes got out of customs custody and are heading to mouser
    It will have ISSI 32MB SDRAM, 16MB FLASH winbond (i think), and ESP32 with 16MB FLASH
    I'm near completing the prototype PCB design that can accept ESP32-WROVER-E as well as standard ESP32. Still I'm rethinking about routing to ESP32. Goran will make few prototypes to test so there will be soon new collectionaire items released :)
    emard
    @emard
    Currently Im literally squeezeng each byte from uftpd/ecp5 (in the "new/" directory) fighting against out of memory
    ESP32-WROVER will have plenty of free RAM
    Paul Ruiz
    @pnru_gitlab
    Ah, another developer who still obsesses over byte counts :^)
    Lawrie Griffiths
    @lawrie
    @pnru_gitlab I have updated the issue on the riscv32_lcc repository to suggest which of our changes the author might like to integrate into his repository. Could you check I have it correct.
    emard
    @emard
    @pnru_gitlab it's really critical at esp32. First I start wifiman.py and then starting uftpd.py aborts with out of memory. Currently I fixed it by not importing ecp5, sdraw immiediately but later on-demand when ftp command for ecp5 arrives
    Lawrie Griffiths
    @lawrie
    I think I have probably done all I want to do on lcc for the moment and get back to other projects. There is at least one bug to track down. The C library needs a lot of work on it, particularly on wrappers for the system calls and updates to the include files. It needs updates to the build system to build the SaxonSoc Linux distribution, which I have been doing manually. If more people use it than just myself and @emard, I will probably do some more work on it.
    I wonder if, when the crowdsupply board are sent out, the number of users of the Ulx3s is going to increase substantially.