ultraembedded

599 posts

ultraembedded banner
ultraembedded

ultraembedded

@ultraembedded

CPU designs, digital HW IP, emulation and embedded system projects

UK Katılım Nisan 2020
138 Takip Edilen2.4K Takipçiler
Sabitlenmiş Tweet
ultraembedded
ultraembedded@ultraembedded·
I think I've built myself an HD (720p50) video player out of an #FPGA, #RISCV, #MJPEG and 27,000 lines of Verilog! Going from 800x600 -> 1280x720 just worked with 10 more MHz! I actually plan to sit down and watch a movie on this one evening! github.com/ultraembedded/…
English
12
53
442
0
: RetroHQ :
: RetroHQ :@TheRetroHQ·
@ultraembedded Hi! I’ve been looking through your RISCV and IP implementations, looks awesome! One question, as I’m still new to this stuff, do the debug bridges support OCD code debugging?
English
1
0
0
0
Luke Wren @wren6991@types.pl
Looking at implementing RISC-V atomic memory operations on top of AHB5 exclusives and hoo boy *slaps top of instruction* this bad boy can generate exceptions at so many different points in its execution
English
1
0
34
0
ultraembedded
ultraembedded@ultraembedded·
@wren6991 I treat them as a pipeline flush/fence and hold a global pipeline lock blocking new issue until they complete. Simplifies things a bit, but makes them slower.
English
1
0
2
0
Luke Wren @wren6991@types.pl
@ultraembedded All of this to get what are effectively microcoded loops of the lr/sc instructions (if you are building on top of a lr/sc-like bus primitive like AHB5 exclusives). It's pretty silly tbh
English
2
0
1
0
ultraembedded
ultraembedded@ultraembedded·
@wren6991 I put another ALU in the LSU just for the AMO ops. It’s quite an annoying extension to implement, esp when mixed with an MMU, precise faults, etc.
English
1
0
3
0
Luke Wren @wren6991@types.pl
Seems like "we have two easily composable instructions that perform one memory access each and let you implement arbitrary atomic read-modify-writes" would be the essence of RISC
English
2
0
3
0
ultraembedded
ultraembedded@ultraembedded·
@jonmasters @Arm Unmistakable reminder of a UK 80’s class room there. I seem to remember more ribbon cables being involved though. I owe a lot to my Acorn Electron 😀
English
0
0
1
0
Jon Masters 🏴‍☠️
Jon Masters 🏴‍☠️@jonmasters·
The BBC Micro turned 40 this week and I turn 40 next week. If you were a kid in the UK in the 1980s, you grew up with the beeb. It was the platform you first learned to program on, and in my case led to a life long love of Acorn and @Arm
Jon Masters 🏴‍☠️ tweet media
English
16
13
185
0
Greg
Greg@GregDavill·
Pretty neat how flexible the ECP5 PPLs are, especially when you have 4, and can afford to cascade one into the next. Generating 74.25MHz / 371.25MHz / 60MHz all from a 30MHz input clock source.
Greg tweet media
English
3
1
33
0
Arjen Roodselaar
Arjen Roodselaar@arjenroodselaar·
@GregDavill @PaulStoffregen The PCIe link itself is not too bad, but you may need to pick apart/RE the protocol Intel used on top of PCIe between their MAC and PHY. And then glue that to your existing MAC. No idea if this is documented somewhere but it may be the reason these PHYs are available :)
English
1
0
4
0
Greg
Greg@GregDavill·
I don't need another project... But, I see that PCIe based ethernet PHYs are much more available than RGMII ones, and a tad cheaper. On an FPGA target, that has PCIe capable serdes. I'm curious how much effort is it to implement enough PCIe spec to use these in place of RGMII.
English
4
2
26
0
Tom Verbeure
Tom Verbeure@tom_verbeure·
Question: you are simulating a RISC-V CPU that is running a C program. You are recording a VCD (or FST) trace. How do you correlate between the instruction address in the waveform and the line of C code?
English
6
4
9
0
Andrew Zonenberg @azonenberg@ioc.exchange
@GregDavill FYI... glscopeclient has decodes for SD and eMMC command and data buses. Not sure if you've got a supported instrument yet, but if not we should fix that...
English
2
0
9
0
Greg
Greg@GregDavill·
🎵 Hello darkness my old friend... 🎵
Greg tweet media
English
11
5
192
0
ultraembedded
ultraembedded@ultraembedded·
@mntmn These printfs look sort of familiar! It’s a ULPI setup isn’t it? If you DM me some more details / source versions used, I might be able to take a look tomorrow night.
English
0
0
0
0
william
william@fontamsoc·
@ultraembedded Is it 32KB per way for a total of 64KB ? You could consider LiteEth by @enjoy_digital . I have been planning to use it for sometime now: #issuecomment-876570636" target="_blank" rel="nofollow noopener">github.com/enjoy-digital/…
English
1
0
0
0
ultraembedded
ultraembedded@ultraembedded·
Running iperf on Linux on my RV32IMA RISC-V CPU core. 13Mbit/s TCP perf is not impressive. Investigating why. Hmm.. 950K instruction cache refills per second causing the CPU to stall 35% of the time! Need more size/ways/levels, or maybe I could implement compressed ISA extension!
ultraembedded tweet media
English
3
3
49
0
ultraembedded
ultraembedded@ultraembedded·
@MoonbaseOtago Yes, and Verilator is indispensable for this kind of stuff for speed reasons. I found snapshots (saved from a c model, restored in RTL sim) really useful to reduce the Linux boot debug time too. I’d be interested to hear about your design flow for something meaty like your CPU.
English
1
0
1
0
Paul Campbell
Paul Campbell@MoonbaseOtago·
@ultraembedded Thanks - it's taken ~9 months - the 100 millions of instructions is really the great short term goal - when I last built CPUs (20 years ago) we didn't have the option of building something this fast - we had to get to this point on a verilog simulator
English
1
0
9
0
Paul Campbell
Paul Campbell@MoonbaseOtago·
The time has come the walrus said ..... as some of you know I've been working on a very high end RISC-V implementation, now that it's booting Linux it's time to take off the covers and show it to the world. Here's a boot log: github.com/MoonbaseOtago/… 1/
Paul Campbell tweet media
English
12
34
173
0
ultraembedded
ultraembedded@ultraembedded·
@mntmn Nice. What frequency is the CPU running at?
English
0
0
0
0