HDLRuby 3.1.0 → 3.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (56) hide show
  1. checksums.yaml +4 -4
  2. data/HDLRuby.gemspec +1 -0
  3. data/README.md +10 -0
  4. data/ext/hruby_sim/hruby_rcsim_build.c +2 -0
  5. data/ext/hruby_sim/hruby_sim_calc.c +33 -6
  6. data/ext/hruby_sim/hruby_sim_tree_calc.c +111 -22
  7. data/lib/HDLRuby/hdr_samples/comparison_bench.rb +2 -2
  8. data/lib/HDLRuby/hdr_samples/counter_bench.rb +1 -1
  9. data/lib/HDLRuby/hdr_samples/counter_dff_bench.rb +8 -7
  10. data/lib/HDLRuby/hdr_samples/dff_properties.rb +2 -0
  11. data/lib/HDLRuby/hdr_samples/enum_as_param.rb +52 -0
  12. data/lib/HDLRuby/hdr_samples/linear_test.rb +2 -0
  13. data/lib/HDLRuby/hdr_samples/logic_bench.rb +6 -0
  14. data/lib/HDLRuby/hdr_samples/mei8.rb +6 -6
  15. data/lib/HDLRuby/hdr_samples/mei8_bench.rb +6 -6
  16. data/lib/HDLRuby/hdr_samples/memory_test.rb +2 -0
  17. data/lib/HDLRuby/hdr_samples/named_sub.rb +9 -5
  18. data/lib/HDLRuby/hdr_samples/ram.rb +7 -6
  19. data/lib/HDLRuby/hdr_samples/ruby_fir_hw.rb +2 -0
  20. data/lib/HDLRuby/hdr_samples/struct.rb +15 -3
  21. data/lib/HDLRuby/hdr_samples/with_bram.rb +1 -1
  22. data/lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb +1 -1
  23. data/lib/HDLRuby/hdr_samples/with_bram_stack.rb +1 -1
  24. data/lib/HDLRuby/hdr_samples/with_channel.rb +2 -0
  25. data/lib/HDLRuby/hdr_samples/with_channel_other.rb +2 -0
  26. data/lib/HDLRuby/hdr_samples/with_class.rb +3 -1
  27. data/lib/HDLRuby/hdr_samples/with_connector.rb +2 -0
  28. data/lib/HDLRuby/hdr_samples/with_connector_memory.rb +2 -0
  29. data/lib/HDLRuby/hdr_samples/with_fixpoint.rb +6 -0
  30. data/lib/HDLRuby/hdr_samples/with_fixpoint_adv.rb +73 -0
  31. data/lib/HDLRuby/hdr_samples/with_leftright.rb +1 -1
  32. data/lib/HDLRuby/hdr_samples/with_sequencer.rb +17 -0
  33. data/lib/HDLRuby/hdr_samples/with_sequencer_channel.rb +58 -0
  34. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb +10 -0
  35. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb +18 -4
  36. data/lib/HDLRuby/hdr_samples/with_sequencer_sync.rb +2 -1
  37. data/lib/HDLRuby/hdrcc.rb +12 -0
  38. data/lib/HDLRuby/hruby_high.rb +82 -26
  39. data/lib/HDLRuby/hruby_low.rb +127 -3
  40. data/lib/HDLRuby/hruby_low2programs.rb +47 -0
  41. data/lib/HDLRuby/hruby_low_resolve.rb +3 -2
  42. data/lib/HDLRuby/hruby_low_without_namespace.rb +133 -5
  43. data/lib/HDLRuby/hruby_low_without_subsignals.rb +1 -1
  44. data/lib/HDLRuby/hruby_rcsim.rb +24 -1
  45. data/lib/HDLRuby/hruby_serializer.rb +2 -1
  46. data/lib/HDLRuby/hruby_verilog.rb +94 -20
  47. data/lib/HDLRuby/hruby_verilog_name.rb +3 -17
  48. data/lib/HDLRuby/std/fixpoint.rb +2 -2
  49. data/lib/HDLRuby/std/function_generator.rb +1 -1
  50. data/lib/HDLRuby/std/linear.rb +7 -7
  51. data/lib/HDLRuby/std/sequencer.rb +263 -13
  52. data/lib/HDLRuby/std/sequencer_channel.rb +90 -0
  53. data/lib/HDLRuby/std/sequencer_func.rb +28 -15
  54. data/lib/HDLRuby/std/std.rb +1 -0
  55. data/lib/HDLRuby/version.rb +1 -1
  56. metadata +22 -3
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: HDLRuby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.1.0
4
+ version: 3.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lovic Gauthier
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-08 00:00:00.000000000 Z
11
+ date: 2023-12-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -38,6 +38,20 @@ dependencies:
38
38
  - - ">="
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: rake-compiler
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '1.0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '1.0'
41
55
  description: HDLRuby is a library for describing and simulating digital electronic
42
56
  systems. With this library it will possible to describe synthesizable hardware using
43
57
  all the features of the Ruby language, e.g., object orientation, duck typing, closure.
@@ -113,6 +127,7 @@ files:
113
127
  - lib/HDLRuby/hdr_samples/dff_override.rb
114
128
  - lib/HDLRuby/hdr_samples/dff_properties.rb
115
129
  - lib/HDLRuby/hdr_samples/dff_unit.rb
130
+ - lib/HDLRuby/hdr_samples/enum_as_param.rb
116
131
  - lib/HDLRuby/hdr_samples/huge_rom.rb
117
132
  - lib/HDLRuby/hdr_samples/if_bench.rb
118
133
  - lib/HDLRuby/hdr_samples/include.rb
@@ -180,6 +195,7 @@ files:
180
195
  - lib/HDLRuby/hdr_samples/with_define_operator.rb
181
196
  - lib/HDLRuby/hdr_samples/with_delay.rb
182
197
  - lib/HDLRuby/hdr_samples/with_fixpoint.rb
198
+ - lib/HDLRuby/hdr_samples/with_fixpoint_adv.rb
183
199
  - lib/HDLRuby/hdr_samples/with_fsm.rb
184
200
  - lib/HDLRuby/hdr_samples/with_function_generator.rb
185
201
  - lib/HDLRuby/hdr_samples/with_handshake.rb
@@ -197,6 +213,7 @@ files:
197
213
  - lib/HDLRuby/hdr_samples/with_ref_array.rb
198
214
  - lib/HDLRuby/hdr_samples/with_ref_expr.rb
199
215
  - lib/HDLRuby/hdr_samples/with_sequencer.rb
216
+ - lib/HDLRuby/hdr_samples/with_sequencer_channel.rb
200
217
  - lib/HDLRuby/hdr_samples/with_sequencer_deep.rb
201
218
  - lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb
202
219
  - lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb
@@ -279,6 +296,7 @@ files:
279
296
  - lib/HDLRuby/hruby_low2c.rb
280
297
  - lib/HDLRuby/hruby_low2hdr.rb
281
298
  - lib/HDLRuby/hruby_low2high.rb
299
+ - lib/HDLRuby/hruby_low2programs.rb
282
300
  - lib/HDLRuby/hruby_low2seq.rb
283
301
  - lib/HDLRuby/hruby_low2sym.rb
284
302
  - lib/HDLRuby/hruby_low2vhd.rb
@@ -371,6 +389,7 @@ files:
371
389
  - lib/HDLRuby/std/pipeline.rb
372
390
  - lib/HDLRuby/std/reconf.rb
373
391
  - lib/HDLRuby/std/sequencer.rb
392
+ - lib/HDLRuby/std/sequencer_channel.rb
374
393
  - lib/HDLRuby/std/sequencer_func.rb
375
394
  - lib/HDLRuby/std/sequencer_sync.rb
376
395
  - lib/HDLRuby/std/std.rb
@@ -436,7 +455,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
436
455
  - !ruby/object:Gem::Version
437
456
  version: '0'
438
457
  requirements: []
439
- rubygems_version: 3.0.8
458
+ rubygems_version: 3.4.10
440
459
  signing_key:
441
460
  specification_version: 4
442
461
  summary: HDLRuby is a library for describing and simulating digital electronic systems.