HDLRuby 3.4.0 → 3.5.1

Sign up to get free protection for your applications and to get access to all the features.
data/tuto/tutorial_sw.md CHANGED
@@ -48,7 +48,7 @@ To use HDLRuby the following software is required:
48
48
 
49
49
  The following software is also recommended:
50
50
 
51
- * A wave viewer supporting *vcd* files (e.g., [GTKWave](https://gtkwave.sourceforge.net/).)
51
+ * A wave viewer supporting *vcd* files (e.g., [GTKWave](https://gtkwave.sourceforge.net/), or, [HTMLWave](https://civol.github.io/htmlwave/htmlwave.html))
52
52
 
53
53
  ## 1. What is HDLRuby and how to use its framework
54
54
 
@@ -131,10 +131,10 @@ Up to now, we said that HDLRuby is a language, it is in truth a complete framewo
131
131
  Basically, `hdrcc` is used as follows:
132
132
 
133
133
  ```bash
134
- hdrcc <options> <input file> <output directory>
134
+ hdrcc <options> <input file> <output/working directory>
135
135
  ```
136
136
 
137
- Where `options` specifies the action to be performed, `input file` specifies the input HDLRuby file, and `output directory` specifies the directory where the command results will be saved. As a general rule, when an input file is specified, an output directory must also be specified.
137
+ Where `options` specifies the action to be performed, `input file` specifies the input HDLRuby file, and `output/working directory` specifies the directory where the command results will be saved. As a general rule, when an input file is specified, an output directory must also be specified.
138
138
 
139
139
  Several actions are possible using `hdrcc`, the main ones being the following:
140
140
 
@@ -144,6 +144,11 @@ Several actions are possible using `hdrcc`, the main ones being the following:
144
144
  hdrcc --sim <input file> <output directory>
145
145
  ```
146
146
 
147
+ * Generate a graphical representation of the RTL code in SVG format:
148
+
149
+ ```bash
150
+ hdrcc --svg <input file> <output directory>
151
+
147
152
  * Generate the equivalent Verilog HDL code:
148
153
 
149
154
  ```bash
@@ -171,6 +176,14 @@ For example, assuming that you have a Verilog ddHDL named 'adder.v' describing a
171
176
  v2hdr adder.v adder.rb
172
177
  ```
173
178
 
179
+ It is also possible to directly use a Verilog file as input to 'hdrcc', but its top module must be specified. For example, to directly simulate the previous 'adder.v', and assuming its top module is 'adder' you can do as follows:
180
+
181
+ ```bash
182
+ hdrcc --sim -t adder adder.v adder
183
+ ```
184
+
185
+ __Note__: for the command above, it is assumed that 'adder.v' contains a simulation benchmark.
186
+
174
187
 
175
188
  And that's it! For details about all the actions that can be performed, how to write an input file, and what kind of output can be produced, let us see the remaining of the tutorial.
176
189
 
metadata CHANGED
@@ -1,14 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: HDLRuby
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.4.0
4
+ version: 3.5.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Lovic Gauthier
8
- autorequire:
9
8
  bindir: exe
10
9
  cert_chain: []
11
- date: 2024-09-21 00:00:00.000000000 Z
10
+ date: 2024-12-25 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: bundler
@@ -131,6 +130,7 @@ files:
131
130
  - lib/HDLRuby/hdr_samples/dff_properties.rb
132
131
  - lib/HDLRuby/hdr_samples/dff_unit.rb
133
132
  - lib/HDLRuby/hdr_samples/enum_as_param.rb
133
+ - lib/HDLRuby/hdr_samples/hard_to_route.rb
134
134
  - lib/HDLRuby/hdr_samples/huge_rom.rb
135
135
  - lib/HDLRuby/hdr_samples/if_bench.rb
136
136
  - lib/HDLRuby/hdr_samples/include.rb
@@ -210,6 +210,7 @@ files:
210
210
  - lib/HDLRuby/hdr_samples/with_fixpoint_adv.rb
211
211
  - lib/HDLRuby/hdr_samples/with_fsm.rb
212
212
  - lib/HDLRuby/hdr_samples/with_function_generator.rb
213
+ - lib/HDLRuby/hdr_samples/with_generic_in_generic.rb
213
214
  - lib/HDLRuby/hdr_samples/with_handshake.rb
214
215
  - lib/HDLRuby/hdr_samples/with_init.rb
215
216
  - lib/HDLRuby/hdr_samples/with_instance.rb
@@ -231,6 +232,9 @@ files:
231
232
  - lib/HDLRuby/hdr_samples/with_reduce.rb
232
233
  - lib/HDLRuby/hdr_samples/with_ref_array.rb
233
234
  - lib/HDLRuby/hdr_samples/with_ref_expr.rb
235
+ - lib/HDLRuby/hdr_samples/with_seq_case.rb
236
+ - lib/HDLRuby/hdr_samples/with_seq_if.rb
237
+ - lib/HDLRuby/hdr_samples/with_seq_if_succ.rb
234
238
  - lib/HDLRuby/hdr_samples/with_sequencer.rb
235
239
  - lib/HDLRuby/hdr_samples/with_sequencer_channel.rb
236
240
  - lib/HDLRuby/hdr_samples/with_sequencer_deep.rb
@@ -348,6 +352,7 @@ files:
348
352
  - lib/HDLRuby/hruby_values.rb
349
353
  - lib/HDLRuby/hruby_verilog.rb
350
354
  - lib/HDLRuby/hruby_verilog_name.rb
355
+ - lib/HDLRuby/hruby_viz.rb
351
356
  - lib/HDLRuby/low_samples/adder.yaml
352
357
  - lib/HDLRuby/low_samples/after.yaml
353
358
  - lib/HDLRuby/low_samples/before.yaml
@@ -468,7 +473,6 @@ homepage: https://github.com/civol/HDLRuby
468
473
  licenses:
469
474
  - MIT
470
475
  metadata: {}
471
- post_install_message:
472
476
  rdoc_options: []
473
477
  require_paths:
474
478
  - lib
@@ -484,8 +488,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
484
488
  - !ruby/object:Gem::Version
485
489
  version: '0'
486
490
  requirements: []
487
- rubygems_version: 3.5.18
488
- signing_key:
491
+ rubygems_version: 3.6.0
489
492
  specification_version: 4
490
493
  summary: HDLRuby is a library for describing and simulating digital electronic systems.
491
494
  test_files: []