162 karma · joined November 3, 2019
That site is really good to play with SIMD code.
If an UB adopt X behavior one time, a reproducible build will take same X behavior the next time.
Of course I am not negating the fact that this undefined in the first instance nor condoning the UB usage.
Remote: Yes
Willing to relocate: to USA/Singapore/Netherlands/Australia/UAE/Germany
Technologies: FPGAs, Verilog, AmaranthHDL, C/C++, Python, Golang
Résumé/CV: https://www.linkedin.com/in/victor-mu%C3%B1oz-79955093/
Github: https://www.github.com/vmunoz82/
Email: who_hn11@avoid.contact
Looking for HFT/ultra low latency, RISC-V, RTL or high scalability related position.
So as the simulation code shows, it just tick the clock (with the "yield" statement) and read the "output" register and print it.
Of course you could connect this "Project Euler 1 accelerator" to a CPU, a SoC or whatever, or just connect LEDs directly to "output"
https://gist.github.com/vmunoz82/49de4c63bee1768283162ec5406...
class Euler(Elaboratable):
def __init__(self):
self.output = Signal(19)
def elaborate(self, platform):
m = Module()
count5 = Signal(3)
c3, c5 = Signal(17), Signal(18)
cond3, cond5 = (c3 < 1000) & (count5 != 0), (c5 < 1000) & (count5 < 3)
m.d.sync += count5.eq(Mux(count5 == 4, 0, count5+1))
m.d.sync += [
c3.eq(c3+3),
c5.eq(Mux(cond5, c5+5, c5))
]
m.d.sync += self.output.eq(self.output +
Mux(cond3, c3, 0)+Mux(cond5, c5, 0))
return m Location: Chile
Remote: Yes
Willing to relocate: Could be, depends on the place and project
Technologies: C, Golang, Python, VHDL, Verilog, Amaranth HDL, FPGAs
Résumé/CV: https://www.linkedin.com/in/victor-mu%C3%B1oz-79955093/
Email: victor at avoid dot contact
Github: https://github.com/vmunoz82
Hi! I am Victor, I have 20 years of experience working in technology, in this moment I enjoy working developing algorithms directly in RTL (FPGAs), I love to design scalable stuff from scratch.If you are looking for hands on co-founder engineer, CTO, or want to implement algorithms in hardware, would be good to get in touch.
It is a nice example of nMigen usage, sadly there are not many ultra-cheap FPGA boards with 5GHz SerDes to try it.