Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add feature to "Clock Input" #1341

Open
Enlightenment-zz opened this issue Sep 29, 2024 · 7 comments
Open

Add feature to "Clock Input" #1341

Enlightenment-zz opened this issue Sep 29, 2024 · 7 comments

Comments

@Enlightenment-zz
Copy link

For "Clock Input", add ability to automatically stop after X number of clock cycles.

@mengstr
Copy link

mengstr commented Sep 30, 2024

Yes. A clock device that output 'n' number of pulses and then stops until triggered again would be nice to have. I tend to often need to manually step through a clocked design and I need to to it in steps of 8 or something like that. Sometimes I want to get deep into the running of an application and I want to quickly get to like 24768 steps into the running and then start single stepping to debug a problem.

@hneemann
Copy link
Owner

There is a break component. If the circuit contains a break component, the “Run To Break” button is enabled. This button clocks the simulation until the break signal is detected.

@mengstr
Copy link

mengstr commented Sep 30, 2024

I've never really got the break component do anything that I like to do. :)

In a design like this I'd like to run 20 clocks (at clock speed or full speed, dosen't really matter). After the 20 steps I'd like to manually send clocks (or possible sometimes do the propagation-stepping for some of the clocks). But however I try to use I can't really do anything else than just propagate-step slowly slowly through the operations after the break is triggered.

I'm sure that has its usage cases, but doing several dozens of steps to propagate one clock edge isn't always practical, especially if you have stopped a little bit ahead and then want to manually clock the design.

Screenshot 2024-09-30 at 21 24 48

@hneemann
Copy link
Owner

I'm not sure I understood that. You can integrate several break components into the circuit and “fast-forward” the simulation to each of the break components. This gives you full control over the breakpoints.
What happens in the circuit shown if F7 is pressed after starting the simulation?

@mengstr
Copy link

mengstr commented Sep 30, 2024

[On MacOS] The F7 doesn't do anything regardless if the simulation is stopped or has been started (I've by chance discovered that Start has Space as a shortcut key, something that is not apparent in the drop down menus).

The button for Run to Break is also always disabled and can't be clicked.

Screenshot 2024-09-30 at 22 06 59 Screenshot 2024-09-30 at 22 06 50

@hneemann
Copy link
Owner

hneemann commented Oct 1, 2024

You have to disable the clock: The clock control needs to be manual.
And only one clock component is allowed in the circuit to make it work.

@mengstr
Copy link

mengstr commented Oct 2, 2024

Hmm... Yea. I see now that it says so in the help - I really should learn to read the help files. :trollface:
I'll give the break component a go again and see if they could fit into any of my usage cases. Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants