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

How should I use picker to test clock domain crossing circuits? #23

Open
Devil-SX opened this issue Nov 30, 2024 · 4 comments
Open

How should I use picker to test clock domain crossing circuits? #23

Devil-SX opened this issue Nov 30, 2024 · 4 comments
Assignees

Comments

@Devil-SX
Copy link

No description provided.

@yaozhicheng
Copy link
Member

You can refer to the implementation of xclock and implement dual-clock or multi-clock management on your own. Contributions of Pull requests (PRs) are also welcome.

@Makiras
Copy link
Contributor

Makiras commented Dec 2, 2024

It is preferable to implement the different clocks on the Verilog side, although support is also available on the Python side. In a multi-clock scenario, each Step() should be considered as one minimal timeframe (such as 1ps). You can manually process the clock edge for each different clock.

For example,Clock A 3ps /cycle and Clock B 5ps /cycle, start with 0

Time (ps) 0 3 5 6 9 10 12 15
Clock - A+ B+ A- A+ B- A- A+, B+
Step() Count 0 3 5 6 9 10 12 15

The toffe clock does not yet support cross clock-zone functionality, so you will need to handle it manually. If you have any questions, feel free to ask.

@Makiras
Copy link
Contributor

Makiras commented Dec 2, 2024

In the future, we plan to enhance our support for multi-clock such as configurable mutli-clock witch auto match for toffe. If you have any suggestions, they would be greatly appreciated.

@Makiras Makiras self-assigned this Dec 2, 2024
@yaozhicheng
Copy link
Member

@Devil-SX XClock has added a frequency division feature, which can be used to implement multi-clocks. You can refer to MultiClock for an example.

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