A double "tick" is required to generate waveform
- Dominant language
- Dart
- Stars
- 489
- Forks
- 88
- Avg merge
- 3d 23h
- Merged PRs (30d)
- 10
Description
## Describe the bug
A double `tick` is required to create a new timestamp.
## To Reproduce
Use code:
```dart
import 'package:rohd/rohd.dart';
class ExampleModule extends Module {
ExampleModule(Logic inputA) {
inputA = addInput('input_a', inputA);
final out = addOutput('out');
Combinational([
out < inputA,
]);
}
Logic get out => output('out');
}
Future main() async {
Logic inputA = Logic();
final exampleModule = ExampleModule(inputA);
await exampleModule.build();
WaveDumper(exampleModule);
SimpleClockGenerator(2);
for (var i = 0; i < 10; ++i) {
inputA.inject(i % 2);
await Simulator.tick();
//await Simulator.tick();
print(exampleModule.out.value);
}
}
```
Open `waves.vcd` in viewer.
## Expected behavior
You can watch the history of signal changes.
## Actual behavior
There is no signal history.
## Additional details
```text
Dart SDK version: 2.18.0 (stable) (Fri Aug 26 10:22:54 2022 +0000) on "linux_x64"
```
```yaml
name: package
environment:
sdk: '>=2.14.0 <3.0.0'
dependencies:
rohd: ^0.3.2
```
## For @mkorbel1
I like how actively you participate in resolving my issues, but I do not want to be intrusive. In the course of using ROHD, I noticed some roughness, and also had ideas for improving some aspects. I will try to gradually share them with you.
As a result, I understand the limited resources of the ROHD project, so please process my questions and suggestions at your own pace. Personally, I have not encountered a single problem that would block further work. And yes, ROHD is just great.
Contributor guide
Assessment
This issue has not been assessed yet.