HDLRuby 3.1.0 → 3.3.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (88) hide show
  1. checksums.yaml +4 -4
  2. data/HDLRuby.gemspec +1 -0
  3. data/README.html +2330 -2670
  4. data/README.md +400 -100
  5. data/ext/hruby_sim/hruby_rcsim_build.c +402 -3
  6. data/ext/hruby_sim/hruby_sim.h +2 -1
  7. data/ext/hruby_sim/hruby_sim_calc.c +34 -7
  8. data/ext/hruby_sim/hruby_sim_core.c +15 -5
  9. data/ext/hruby_sim/hruby_sim_tree_calc.c +112 -23
  10. data/lib/HDLRuby/hdr_samples/c_program/echo.c +33 -0
  11. data/lib/HDLRuby/hdr_samples/comparison_bench.rb +2 -2
  12. data/lib/HDLRuby/hdr_samples/counter_bench.rb +1 -1
  13. data/lib/HDLRuby/hdr_samples/counter_dff_bench.rb +8 -7
  14. data/lib/HDLRuby/hdr_samples/dff_properties.rb +2 -0
  15. data/lib/HDLRuby/hdr_samples/enum_as_param.rb +52 -0
  16. data/lib/HDLRuby/hdr_samples/linear_test.rb +2 -0
  17. data/lib/HDLRuby/hdr_samples/logic_bench.rb +6 -0
  18. data/lib/HDLRuby/hdr_samples/mei8.rb +6 -6
  19. data/lib/HDLRuby/hdr_samples/mei8_bench.rb +6 -6
  20. data/lib/HDLRuby/hdr_samples/memory_test.rb +2 -0
  21. data/lib/HDLRuby/hdr_samples/named_sub.rb +9 -5
  22. data/lib/HDLRuby/hdr_samples/ram.rb +7 -6
  23. data/lib/HDLRuby/hdr_samples/ruby_fir_hw.rb +2 -0
  24. data/lib/HDLRuby/hdr_samples/ruby_program/echo.rb +9 -0
  25. data/lib/HDLRuby/hdr_samples/ruby_program/stdrw.rb +6 -0
  26. data/lib/HDLRuby/hdr_samples/ruby_program/sw_cpu_terminal.rb +614 -0
  27. data/lib/HDLRuby/hdr_samples/ruby_program/sw_inc_mem.rb +32 -0
  28. data/lib/HDLRuby/hdr_samples/ruby_program/sw_log.rb +33 -0
  29. data/lib/HDLRuby/hdr_samples/struct.rb +15 -3
  30. data/lib/HDLRuby/hdr_samples/with_board.rb +63 -0
  31. data/lib/HDLRuby/hdr_samples/with_bram.rb +1 -1
  32. data/lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb +1 -1
  33. data/lib/HDLRuby/hdr_samples/with_bram_stack.rb +1 -1
  34. data/lib/HDLRuby/hdr_samples/with_channel.rb +2 -0
  35. data/lib/HDLRuby/hdr_samples/with_channel_other.rb +2 -0
  36. data/lib/HDLRuby/hdr_samples/with_class.rb +3 -1
  37. data/lib/HDLRuby/hdr_samples/with_clocks.rb +42 -0
  38. data/lib/HDLRuby/hdr_samples/with_connector.rb +2 -0
  39. data/lib/HDLRuby/hdr_samples/with_connector_memory.rb +2 -0
  40. data/lib/HDLRuby/hdr_samples/with_fixpoint.rb +6 -0
  41. data/lib/HDLRuby/hdr_samples/with_fixpoint_adv.rb +73 -0
  42. data/lib/HDLRuby/hdr_samples/with_leftright.rb +1 -1
  43. data/lib/HDLRuby/hdr_samples/with_of.rb +1 -1
  44. data/lib/HDLRuby/hdr_samples/with_program_c.rb +28 -0
  45. data/lib/HDLRuby/hdr_samples/with_program_ruby.rb +28 -0
  46. data/lib/HDLRuby/hdr_samples/with_program_ruby_cpu.rb +234 -0
  47. data/lib/HDLRuby/hdr_samples/with_program_ruby_io.rb +23 -0
  48. data/lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb +58 -0
  49. data/lib/HDLRuby/hdr_samples/with_program_ruby_threads.rb +56 -0
  50. data/lib/HDLRuby/hdr_samples/with_sequencer.rb +17 -0
  51. data/lib/HDLRuby/hdr_samples/with_sequencer_channel.rb +58 -0
  52. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb +10 -0
  53. data/lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb +18 -4
  54. data/lib/HDLRuby/hdr_samples/with_sequencer_func.rb +2 -4
  55. data/lib/HDLRuby/hdr_samples/with_sequencer_sync.rb +2 -1
  56. data/lib/HDLRuby/hdrcc.rb +72 -21
  57. data/lib/HDLRuby/hruby_error.rb +13 -0
  58. data/lib/HDLRuby/hruby_high.rb +125 -26
  59. data/lib/HDLRuby/hruby_low.rb +171 -3
  60. data/lib/HDLRuby/hruby_low2programs.rb +47 -0
  61. data/lib/HDLRuby/hruby_low_resolve.rb +3 -2
  62. data/lib/HDLRuby/hruby_low_without_namespace.rb +133 -5
  63. data/lib/HDLRuby/hruby_low_without_subsignals.rb +1 -1
  64. data/lib/HDLRuby/hruby_rcsim.rb +113 -6
  65. data/lib/HDLRuby/hruby_serializer.rb +2 -1
  66. data/lib/HDLRuby/hruby_verilog.rb +94 -20
  67. data/lib/HDLRuby/hruby_verilog_name.rb +3 -17
  68. data/lib/HDLRuby/std/clocks.rb +118 -50
  69. data/lib/HDLRuby/std/fixpoint.rb +2 -2
  70. data/lib/HDLRuby/std/function_generator.rb +1 -1
  71. data/lib/HDLRuby/std/linear.rb +7 -7
  72. data/lib/HDLRuby/std/sequencer.rb +263 -13
  73. data/lib/HDLRuby/std/sequencer_channel.rb +90 -0
  74. data/lib/HDLRuby/std/sequencer_func.rb +28 -15
  75. data/lib/HDLRuby/std/std.rb +6 -0
  76. data/lib/HDLRuby/ui/hruby_board.rb +1079 -0
  77. data/lib/HDLRuby/version.rb +1 -1
  78. data/lib/c/Rakefile +8 -0
  79. data/lib/c/cHDL.h +12 -0
  80. data/lib/c/extconf.rb +7 -0
  81. data/lib/rubyHDL.rb +33 -0
  82. data/tuto/gui_accum.png +0 -0
  83. data/tuto/gui_board.png +0 -0
  84. data/tuto/tutorial_sw.html +2263 -1890
  85. data/tuto/tutorial_sw.md +957 -62
  86. metadata +43 -5
  87. data/README.pdf +0 -0
  88. data/tuto/tutorial_sw.pdf +0 -0
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.3.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: 2024-04-02 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.
@@ -59,7 +73,6 @@ files:
59
73
  - LICENSE.txt
60
74
  - README.html
61
75
  - README.md
62
- - README.pdf
63
76
  - Rakefile
64
77
  - bin/console
65
78
  - bin/setup
@@ -100,6 +113,7 @@ files:
100
113
  - lib/HDLRuby/hdr_samples/alu.rb
101
114
  - lib/HDLRuby/hdr_samples/arith_bench.rb
102
115
  - lib/HDLRuby/hdr_samples/bstr_bench.rb
116
+ - lib/HDLRuby/hdr_samples/c_program/echo.c
103
117
  - lib/HDLRuby/hdr_samples/calculator.rb
104
118
  - lib/HDLRuby/hdr_samples/case_bench.rb
105
119
  - lib/HDLRuby/hdr_samples/comparison_bench.rb
@@ -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
@@ -156,6 +171,11 @@ files:
156
171
  - lib/HDLRuby/hdr_samples/rom.rb
157
172
  - lib/HDLRuby/hdr_samples/rom_nest.rb
158
173
  - lib/HDLRuby/hdr_samples/ruby_fir_hw.rb
174
+ - lib/HDLRuby/hdr_samples/ruby_program/echo.rb
175
+ - lib/HDLRuby/hdr_samples/ruby_program/stdrw.rb
176
+ - lib/HDLRuby/hdr_samples/ruby_program/sw_cpu_terminal.rb
177
+ - lib/HDLRuby/hdr_samples/ruby_program/sw_inc_mem.rb
178
+ - lib/HDLRuby/hdr_samples/ruby_program/sw_log.rb
159
179
  - lib/HDLRuby/hdr_samples/seqpar_bench.rb
160
180
  - lib/HDLRuby/hdr_samples/simple_counter_bench.rb
161
181
  - lib/HDLRuby/hdr_samples/struct.rb
@@ -165,6 +185,7 @@ files:
165
185
  - lib/HDLRuby/hdr_samples/system_open.rb
166
186
  - lib/HDLRuby/hdr_samples/tuple.rb
167
187
  - lib/HDLRuby/hdr_samples/type_minmax_bench.rb
188
+ - lib/HDLRuby/hdr_samples/with_board.rb
168
189
  - lib/HDLRuby/hdr_samples/with_bram.rb
169
190
  - lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb
170
191
  - lib/HDLRuby/hdr_samples/with_bram_stack.rb
@@ -172,6 +193,7 @@ files:
172
193
  - lib/HDLRuby/hdr_samples/with_channel.rb
173
194
  - lib/HDLRuby/hdr_samples/with_channel_other.rb
174
195
  - lib/HDLRuby/hdr_samples/with_class.rb
196
+ - lib/HDLRuby/hdr_samples/with_clocks.rb
175
197
  - lib/HDLRuby/hdr_samples/with_concat.rb
176
198
  - lib/HDLRuby/hdr_samples/with_connector.rb
177
199
  - lib/HDLRuby/hdr_samples/with_connector_memory.rb
@@ -180,6 +202,7 @@ files:
180
202
  - lib/HDLRuby/hdr_samples/with_define_operator.rb
181
203
  - lib/HDLRuby/hdr_samples/with_delay.rb
182
204
  - lib/HDLRuby/hdr_samples/with_fixpoint.rb
205
+ - lib/HDLRuby/hdr_samples/with_fixpoint_adv.rb
183
206
  - lib/HDLRuby/hdr_samples/with_fsm.rb
184
207
  - lib/HDLRuby/hdr_samples/with_function_generator.rb
185
208
  - lib/HDLRuby/hdr_samples/with_handshake.rb
@@ -192,11 +215,18 @@ files:
192
215
  - lib/HDLRuby/hdr_samples/with_memory_rom.rb
193
216
  - lib/HDLRuby/hdr_samples/with_multi_channels.rb
194
217
  - lib/HDLRuby/hdr_samples/with_of.rb
218
+ - lib/HDLRuby/hdr_samples/with_program_c.rb
219
+ - lib/HDLRuby/hdr_samples/with_program_ruby.rb
220
+ - lib/HDLRuby/hdr_samples/with_program_ruby_cpu.rb
221
+ - lib/HDLRuby/hdr_samples/with_program_ruby_io.rb
222
+ - lib/HDLRuby/hdr_samples/with_program_ruby_mem.rb
223
+ - lib/HDLRuby/hdr_samples/with_program_ruby_threads.rb
195
224
  - lib/HDLRuby/hdr_samples/with_reconf.rb
196
225
  - lib/HDLRuby/hdr_samples/with_reduce.rb
197
226
  - lib/HDLRuby/hdr_samples/with_ref_array.rb
198
227
  - lib/HDLRuby/hdr_samples/with_ref_expr.rb
199
228
  - lib/HDLRuby/hdr_samples/with_sequencer.rb
229
+ - lib/HDLRuby/hdr_samples/with_sequencer_channel.rb
200
230
  - lib/HDLRuby/hdr_samples/with_sequencer_deep.rb
201
231
  - lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb
202
232
  - lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb
@@ -279,6 +309,7 @@ files:
279
309
  - lib/HDLRuby/hruby_low2c.rb
280
310
  - lib/HDLRuby/hruby_low2hdr.rb
281
311
  - lib/HDLRuby/hruby_low2high.rb
312
+ - lib/HDLRuby/hruby_low2programs.rb
282
313
  - lib/HDLRuby/hruby_low2seq.rb
283
314
  - lib/HDLRuby/hruby_low2sym.rb
284
315
  - lib/HDLRuby/hruby_low2vhd.rb
@@ -371,6 +402,7 @@ files:
371
402
  - lib/HDLRuby/std/pipeline.rb
372
403
  - lib/HDLRuby/std/reconf.rb
373
404
  - lib/HDLRuby/std/sequencer.rb
405
+ - lib/HDLRuby/std/sequencer_channel.rb
374
406
  - lib/HDLRuby/std/sequencer_func.rb
375
407
  - lib/HDLRuby/std/sequencer_sync.rb
376
408
  - lib/HDLRuby/std/std.rb
@@ -380,11 +412,16 @@ files:
380
412
  - lib/HDLRuby/test_hruby_high.rb
381
413
  - lib/HDLRuby/test_hruby_high_low.rb
382
414
  - lib/HDLRuby/test_hruby_low.rb
415
+ - lib/HDLRuby/ui/hruby_board.rb
383
416
  - lib/HDLRuby/v_samples/adder.v
384
417
  - lib/HDLRuby/v_samples/dff.v
385
418
  - lib/HDLRuby/v_samples/ram.v
386
419
  - lib/HDLRuby/v_samples/rom.v
387
420
  - lib/HDLRuby/version.rb
421
+ - lib/c/Rakefile
422
+ - lib/c/cHDL.h
423
+ - lib/c/extconf.rb
424
+ - lib/rubyHDL.rb
388
425
  - makedoc
389
426
  - metadata.yaml
390
427
  - tuto/adder_sat_flags_vcd.png
@@ -401,6 +438,8 @@ files:
401
438
  - tuto/clock_counter_vcd.png
402
439
  - tuto/counter_ext_vcd.png
403
440
  - tuto/fact_vcd.png
441
+ - tuto/gui_accum.png
442
+ - tuto/gui_board.png
404
443
  - tuto/hw_flow.odg
405
444
  - tuto/hw_flow.png
406
445
  - tuto/maxxer_vcd.png
@@ -414,7 +453,6 @@ files:
414
453
  - tuto/the_counter_vcd.png
415
454
  - tuto/tutorial_sw.html
416
455
  - tuto/tutorial_sw.md
417
- - tuto/tutorial_sw.pdf
418
456
  - tuto/tutorial_sw_jp.md
419
457
  homepage: https://github.com/civol/HDLRuby
420
458
  licenses:
@@ -436,7 +474,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
436
474
  - !ruby/object:Gem::Version
437
475
  version: '0'
438
476
  requirements: []
439
- rubygems_version: 3.0.8
477
+ rubygems_version: 3.5.3
440
478
  signing_key:
441
479
  specification_version: 4
442
480
  summary: HDLRuby is a library for describing and simulating digital electronic systems.
data/README.pdf DELETED
Binary file
data/tuto/tutorial_sw.pdf DELETED
Binary file