News for hackers. Stuff that matters.
Re:Parallel Programming for FPGAs by dayjaby on Tuesday August 02, 2022 @01:54AM (#32315563)
> how to debug a non-working design

In LiteX, an open source toolset for making FPGA designs, you can embed an oscilloscope into your FPGA: https://github.com/enjoy-digital/litex/wiki/Use-LiteScope-To...

Re:Parallel Programming for FPGAs by moring on Tuesday August 02, 2022 @02:04AM (#32315614)
How does it solve the problem that the FPGA doesn't have a path from the signal-to-observe to the logic blocks?
Re:Parallel Programming for FPGAs by dayjaby on Tuesday August 02, 2022 @02:48AM (#32315834)
You can specify the list of signals to observe, which is built into the gateware.

As memory is also limited, you specify a condition like if signal A becomes 0x1234, then log the aforementioned signals for N cycles.

Re:Parallel Programming for FPGAs by moring on Tuesday August 02, 2022 @03:08AM (#32315929)
I have to admit I still don't get it. When I try to log the signal using my own signal logger (which I guess is somewhat like that "virtual oscilloscope"), the synthesis tool rejects the design and tells me that I cannot use that signal as an input because the FPGA doesn't have a path from there into the logic blocks. What does LiteX do differently to observe a signal that my own gateware cannot access?
Re:Parallel Programming for FPGAs by proto_lambda on Tuesday August 02, 2022 @03:22AM (#32315999)
What kind of primitives are you talking about here? In my experience you don't really have to manually instantiate anything other than a PLL or maybe a multiplier unless you're doing something very specialized.
Re:Parallel Programming for FPGAs by moring on Tuesday August 02, 2022 @05:39AM (#32316732)
I was specifically thinking about DDR3 related primitives.
Re:Parallel Programming for FPGAs by simne on Tuesday August 02, 2022 @07:10PM (#32325476)
Only simulator could check signal to which could not connect physically.

But, you could split project into small parts, connected by some interface (could use triggers or 2-way ram cells), and debug them separate.

Sure, you will loss some capacity, but this is life.

This is not equal to test real solution, because physical arrangement matter, but most probably, you will find most obvious mistakes.