google / xls

XLS: Accelerated HW Synthesis
http://google.github.io/xls/
Apache License 2.0
1.21k stars 179 forks source link

[enhancement] Support barriers in testing/eval Procs #1553

Open hongted opened 2 months ago

hongted commented 2 months ago

What's hard to do? (limit 100 words)

Currently procs can block for multiple reasons. For XLS's interpreters' purposes, a Tick() can return once procs are blocked and progress is made.

https://github.com/google/xls/blob/1578b44caac9cc63fc96924f09197d1d03dcd64c/xls/interpreter/proc_runtime.h#L119-L129

This issue is to enhance

  1. XLS runtimes to support tick'ing until a set or procs are AtStartOfTick() and hold them.
  2. DSLX language enhancements to support a barrier-like instruction so that a test proc can rely on #1000

Related: https://github.com/google/xls/issues/1538 https://github.com/google/xls/issues/1527

Current best alternative workaround (limit 100 words)

None

Your view of the "best case XLS enhancement" (limit 100 words)

DSLX should have a barrier or a WaitAndHoldProcsAtStart() built-in.

ericastor commented 2 months ago

~Sorry if I'm missing something, but what does issue #1000 have to do with this?~ (Fixed in original)

mikex-oss commented 2 months ago

That's just GFM messing things up. It's suppose to be Verilog delay control IIUC.