Hello everyone.I am really, really disappointed with how the contest has been managed so far.(please, take my next statements as a constructive complain...).
Some bullet points on which I am disappointed:-- lack of information of what is allowed or not;
-- metrics for area optimized target not defined;
-- metrics for performance optimized target not defined;
-- rules constantly being changed, with the contest already in place.
The new announcement says "After feedback from the community," but which community is that?And where can I find such arguments/discussion that lead to exclusion of the three instructions: FENCE, ECALL and EBREAK ?
I don't even understand why the tests for ECALL and EBREAK are difficult! Can someone clarify this to me?
I do understand why FENCE may be excluded: for the guys doing XIP from SPI Flash its a bit tricky because they needed also to implement the capability to write into the SPI Flash, but if they have already a module that does the read part, implementing the write part is easy, just takes a few more logic.
For the guys that are targeting performance, not having to implement the FENCE instruction changes a lot in the CPU architecture,-- now the best solution is to implement a CPU with Harvard Architecture with no cache (since there is no need to access the instruction memory during the execution of a program from the data side)
-- before the best solution to achieve better working frequency with a very good CPI was to implement a CPU with Harvard modified Architecture with cache, with the entire program and bootloader running from internal memory from behind the cache;
Does the organizers though really through in this decision? Are they aware of the time that contestants may have spend in implementing cache for the contest?
And why change rules 10 days before deadline? At least the change should be properly explained... changing rules of a contest which is already in place because some contestants find difficult to follow some of the rules are not ethical at all!
BRNelson
ECALL optional ? But it is used by the default Zephyr RISCV port ^^
https://github.com/zephyrproject-rtos/zephyr/search?q=ecall&unscoped_q=ecall
It's open bar for custom zephyr port XD
--
You received this message because you are subscribed to the Google Groups "RISC-V Soft CPU Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to softcpu-discu...@riscv.org.
To post to this group, send email to softcpu...@riscv.org.
Visit this group at https://groups.google.com/a/riscv.org/group/softcpu-discuss/.
To view this discussion on the web visit https://groups.google.com/a/riscv.org/d/msgid/softcpu-discuss/b3bda89e-a27f-499a-b5e3-6334e90f1954%40riscv.org.
For more options, visit https://groups.google.com/a/riscv.org/d/optout.
Antti, let say that the implementation of Fence.I is mandatory.Again, I don't understand the issue with the XiP from SPI Flash. If you use a module (digital logic) that already issues (read) commands to the SPI flash, you just need to implement the write capability. I am a FPGA designer, but time to time I have to change linux kernel modules that makes use of SPI interfaces implemented in FPGA, I know what I am talking about because I implement solutions that requires read and write data from/to SPI Flash'es! Its is 5x times much more difficult to build the infrastructure for Zephyr OS that implementing the write capability (at least from my perspective)! I understand that this adds logic, which is the opposite that people that targets "least area possible" wants, but it is reasonable. You are exchanging external memory by logic after all!
EBREAK:For HW debug, one can use a myriad of different solutions. So if someone had, previous to the contest, implemented a solution based in EBREAK, he had the exact same time to make a different implementation as another person that started from scratch. So do not understand the exclusion either!
ECALL:It makes even less sense to exclude this compliance tests. My common sense is definitely different than the one from organizers.
Good luck for anyone that is implementing the architecture of fetching 64 bit each clocking cycle (and executing two instructions) in such device like the Lattice one. That architecture would run at maybe 10-20 MHz? I was targeting 40MHz to 50MHz (50 to 65 DMIPS), I doubt that architecture would be the best (did not tried the Microsemi devices). (Frequencies are estimated based in my experience with MachXO2 devices - I understand that the contest devices are completely different - so I may be a bit too confident here)
In the Lattice device the internal Block Rams are distributed so far apart, than in a proper balanced 5-stage pipeline CPU device, if you do not use cache (8k/8k for inst and data), the critical path will be long for instantiating 32K of RAM (assuming that FENCE.I is mandatory, you need write access to all memory). You do not want to multiplex the lines from/to the internal logic to/from the internal memory blocks (EBR). Cache is the best solution!
Like I said previously, I already gave up on the contest, due to several factors... But I will continue working in my implementation after the contest deadline...
So, I am just sad really (not mad...). This contest had so many things to be so much better managed...
--
You received this message because you are subscribed to the Google Groups "RISC-V Soft CPU Discussion" group.
To unsubscribe from this group and stop receiving emails from it, send an email to softcpu-discu...@riscv.org.
To post to this group, send email to softcpu...@riscv.org.
Visit this group at https://groups.google.com/a/riscv.org/group/softcpu-discuss/.
To view this discussion on the web visit https://groups.google.com/a/riscv.org/d/msgid/softcpu-discuss/17d05e5e-ae2e-4d18-a141-f731bb6592b1%40riscv.org.
The contest, like all contests, could be dramatically improved. Thattrue, but it is what it is. What I find intolerable is that one randomindividual rants to the committee and they change the rules "basedon input from the community". Nobody elected you to speak forthe community.Tommy