HDLRuby 2.11.12 → 3.0.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.html +3274 -0
- data/README.md +556 -84
- data/ext/hruby_sim/hruby_sim_calc.c +2 -0
- data/lib/HDLRuby/backend/hruby_allocator.rb +2 -2
- data/lib/HDLRuby/backend/hruby_c_allocator.rb +7 -7
- data/lib/HDLRuby/hdr_samples/mei8_bench.rb +1 -1
- data/lib/HDLRuby/hdr_samples/with_bram.rb +3 -3
- data/lib/HDLRuby/hdr_samples/with_bram_frame_stack.rb +105 -0
- data/lib/HDLRuby/hdr_samples/with_bram_stack.rb +69 -0
- data/lib/HDLRuby/hdr_samples/with_register_stack.rb +150 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer.rb +190 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_deep.rb +91 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_enumerable.rb +405 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_enumerator.rb +89 -0
- data/lib/HDLRuby/hdr_samples/with_sequencer_sync.rb +120 -0
- data/lib/HDLRuby/hdrcc.rb +15 -2
- data/lib/HDLRuby/hdrlib.rb +1 -1
- data/lib/HDLRuby/hruby_db.rb +2 -2
- data/lib/HDLRuby/hruby_high.rb +38 -20
- data/lib/HDLRuby/hruby_high_fullname.rb +3 -1
- data/lib/HDLRuby/hruby_low.rb +2 -2
- data/lib/HDLRuby/hruby_low2c.rb +58 -43
- data/lib/HDLRuby/hruby_low2hdr.rb +66 -40
- data/lib/HDLRuby/hruby_low2high.rb +86 -44
- data/lib/HDLRuby/hruby_low2seq.rb +26 -18
- data/lib/HDLRuby/hruby_low2sym.rb +14 -13
- data/lib/HDLRuby/hruby_low2vhd.rb +78 -43
- data/lib/HDLRuby/hruby_low_bool2select.rb +61 -46
- data/lib/HDLRuby/hruby_low_casts_without_expression.rb +56 -44
- data/lib/HDLRuby/hruby_low_cleanup.rb +18 -16
- data/lib/HDLRuby/hruby_low_fix_types.rb +64 -32
- data/lib/HDLRuby/hruby_low_mutable.rb +53 -118
- data/lib/HDLRuby/hruby_low_resolve.rb +26 -31
- data/lib/HDLRuby/hruby_low_with_bool.rb +33 -16
- data/lib/HDLRuby/hruby_low_with_port.rb +3 -3
- data/lib/HDLRuby/hruby_low_with_var.rb +23 -9
- data/lib/HDLRuby/hruby_low_without_concat.rb +19 -13
- data/lib/HDLRuby/hruby_low_without_namespace.rb +47 -32
- data/lib/HDLRuby/hruby_low_without_parinseq.rb +18 -12
- data/lib/HDLRuby/hruby_low_without_select.rb +36 -23
- data/lib/HDLRuby/hruby_low_without_subsignals.rb +29 -28
- data/lib/HDLRuby/hruby_rcsim.rb +79 -64
- data/lib/HDLRuby/hruby_rsim.rb +64 -15
- data/lib/HDLRuby/hruby_rsim_mute.rb +2 -3
- data/lib/HDLRuby/hruby_rsim_vcd.rb +28 -25
- data/lib/HDLRuby/hruby_values.rb +13 -2
- data/lib/HDLRuby/hruby_verilog.rb +90 -48
- data/lib/HDLRuby/soft/stacks.rb +219 -0
- data/lib/HDLRuby/std/bram.rb +9 -5
- data/lib/HDLRuby/std/clocks.rb +1 -1
- data/lib/HDLRuby/std/fsm.rb +29 -9
- data/lib/HDLRuby/std/sequencer.rb +1857 -0
- data/lib/HDLRuby/std/sequencer_sync.rb +400 -0
- data/lib/HDLRuby/std/std.rb +12 -0
- data/lib/HDLRuby/version.rb +1 -1
- data/tuto/adder_sat_flags_vcd.png +0 -0
- data/tuto/addsub_vcd.png +0 -0
- data/tuto/alu_vcd.png +0 -0
- data/tuto/bit_pong_vcd.png +0 -0
- data/tuto/checksum_vcd.png +0 -0
- data/tuto/circuit_hdr.odg +0 -0
- data/tuto/circuit_hdr.png +0 -0
- data/tuto/circuit_hie.odg +0 -0
- data/tuto/circuit_hie.png +0 -0
- data/tuto/circuit_view.odg +0 -0
- data/tuto/circuit_view.png +0 -0
- data/tuto/clock_counter_vcd.png +0 -0
- data/tuto/counter_ext_vcd.png +0 -0
- data/tuto/fact_vcd.png +0 -0
- data/tuto/hw_flow.odg +0 -0
- data/tuto/hw_flow.png +0 -0
- data/tuto/maxxer_vcd.png +0 -0
- data/tuto/pingpong0_vcd.png +0 -0
- data/tuto/pingpong1_vcd.png +0 -0
- data/tuto/pingpong2_vcd.png +0 -0
- data/tuto/ram_vcd.png +0 -0
- data/tuto/serializer_vcd.png +0 -0
- data/tuto/sw_flow.odg +0 -0
- data/tuto/sw_flow.png +0 -0
- data/tuto/the_counter_vcd.png +0 -0
- data/tuto/tutorial_sw.html +2359 -0
- data/tuto/tutorial_sw.md +2684 -0
- data/tuto/tutorial_sw.pdf +0 -0
- data/tuto/tutorial_sw_jp.md +417 -0
- metadata +44 -2
data/lib/HDLRuby/hdrcc.rb
CHANGED
@@ -263,6 +263,9 @@ module HDLRuby
|
|
263
263
|
# Initialize the environment for processing the hdr file.
|
264
264
|
bind = TOPLEVEL_BINDING.clone
|
265
265
|
eval("require 'HDLRuby'\n\nconfigure_high\n\n",bind)
|
266
|
+
if $options[:std] then
|
267
|
+
eval("require 'std/std.rb'\n\ninclude HDLRuby::High::Std\n\n",bind)
|
268
|
+
end
|
266
269
|
# Process it.
|
267
270
|
eval(@texts[0],bind,@top_file_name,1)
|
268
271
|
# Get the resulting instance
|
@@ -280,8 +283,8 @@ module HDLRuby
|
|
280
283
|
end
|
281
284
|
|
282
285
|
|
283
|
-
# Extend the Code class with generation of file for the content.
|
284
286
|
class HDLRuby::Low::Code
|
287
|
+
## Extends the Code class with generation of file for the content.
|
285
288
|
|
286
289
|
## Creates a file in +path+ containing the content of the code.
|
287
290
|
def to_file(path = "")
|
@@ -337,6 +340,9 @@ end
|
|
337
340
|
require 'optparse'
|
338
341
|
# Process the command line options
|
339
342
|
$options = {}
|
343
|
+
# By default the std libraries are loaded.
|
344
|
+
$options[:std] = true
|
345
|
+
# Parse the options
|
340
346
|
$optparse = OptionParser.new do |opts|
|
341
347
|
opts.banner = "Usage: hdrcc.rb [options] <input file> [<output directory or file>]"
|
342
348
|
|
@@ -435,6 +441,9 @@ $optparse = OptionParser.new do |opts|
|
|
435
441
|
opts.on("--testall","Compile all the available unit tests.") do |t|
|
436
442
|
$options[:testall] = t
|
437
443
|
end
|
444
|
+
opts.on("--no-std", "Compile without the standard library.") do |t|
|
445
|
+
$options[:std] = false
|
446
|
+
end
|
438
447
|
opts.on("-t", "--top system", "Specify the top system to process") do|t|
|
439
448
|
$options[:top] = t
|
440
449
|
end
|
@@ -445,7 +454,11 @@ $optparse = OptionParser.new do |opts|
|
|
445
454
|
$options[:dump] = v
|
446
455
|
$options[:multiple] = v
|
447
456
|
end
|
448
|
-
opts.on("--
|
457
|
+
opts.on("--get-samples", "Copy the sample directory (hdr_samples) to current one, the exit") do
|
458
|
+
FileUtils.copy_entry(File.dirname(__FILE__) + "/hdr_samples","./hdr_samples")
|
459
|
+
exit
|
460
|
+
end
|
461
|
+
opts.on("--version", "Show the version of HDLRuby, then exit") do |v|
|
449
462
|
puts VERSION
|
450
463
|
exit
|
451
464
|
end
|
data/lib/HDLRuby/hdrlib.rb
CHANGED
@@ -226,8 +226,8 @@ module HDLRuby
|
|
226
226
|
end
|
227
227
|
|
228
228
|
|
229
|
-
# Extend the Code class with generation of file for the content.
|
230
229
|
class HDLRuby::Low::Code
|
230
|
+
## Extends the Code class with generation of file for the content.
|
231
231
|
|
232
232
|
## Creates a file in +path+ containing the content of the code.
|
233
233
|
def to_file(path = "")
|
data/lib/HDLRuby/hruby_db.rb
CHANGED
@@ -9,7 +9,7 @@ warn "hruby_db.rb (former hruby_low.rb) is deprecated."
|
|
9
9
|
##
|
10
10
|
# Low-level libraries for describing digital hardware.
|
11
11
|
#######################################################
|
12
|
-
module HDLRuby::
|
12
|
+
module HDLRuby::LowDB
|
13
13
|
|
14
14
|
Base = HDLRuby::Base
|
15
15
|
|
@@ -151,7 +151,7 @@ module HDLRuby::Low
|
|
151
151
|
end
|
152
152
|
|
153
153
|
##
|
154
|
-
# Describes
|
154
|
+
# Describes an unsigned integer data type.
|
155
155
|
class TypeUnsigned < Base::TypeUnsigned
|
156
156
|
include Ltype
|
157
157
|
end
|
data/lib/HDLRuby/hruby_high.rb
CHANGED
@@ -2044,7 +2044,7 @@ module HDLRuby::High
|
|
2044
2044
|
end
|
2045
2045
|
|
2046
2046
|
##
|
2047
|
-
# Describes
|
2047
|
+
# Describes an unsigned integer data type.
|
2048
2048
|
class TypeUnsigned < TypeVector
|
2049
2049
|
|
2050
2050
|
# Creates a new vector type named +name+ from +base+ type and with
|
@@ -2855,17 +2855,17 @@ module HDLRuby::High
|
|
2855
2855
|
|
2856
2856
|
# Casts to a bit vector type.
|
2857
2857
|
def to_bit
|
2858
|
-
return self.as(bit[self.width])
|
2858
|
+
return self.as(HDLRuby::High.top_user.bit[self.type.width])
|
2859
2859
|
end
|
2860
2860
|
|
2861
2861
|
# Casts to an unsigned bit vector type.
|
2862
2862
|
def to_unsigned
|
2863
|
-
return self.as(unsigned[self.width])
|
2863
|
+
return self.as(HDLRuby::High.top_user.unsigned[self.type.width])
|
2864
2864
|
end
|
2865
2865
|
|
2866
2866
|
# Casts to a signed bit vector type.
|
2867
|
-
def
|
2868
|
-
return self.as(signed[self.width])
|
2867
|
+
def to_signed
|
2868
|
+
return self.as(HDLRuby::High.top_user.signed[self.type.width])
|
2869
2869
|
end
|
2870
2870
|
|
2871
2871
|
# Extends on the left to +n+ bits filling with +v+ bit values.
|
@@ -2997,6 +2997,12 @@ module HDLRuby::High
|
|
2997
2997
|
define_method(orig_operator(operator),&meth)
|
2998
2998
|
end
|
2999
2999
|
|
3000
|
+
# The <=> operator is also supported by is transformed into a sub
|
3001
|
+
# with a signed result.
|
3002
|
+
def <=>(expr)
|
3003
|
+
return (self.as(self.type.base[self.type.width+1])-expr).to_signed
|
3004
|
+
end
|
3005
|
+
|
3000
3006
|
|
3001
3007
|
# Creates an access to elements of range +rng+ of the signal.
|
3002
3008
|
#
|
@@ -3188,7 +3194,7 @@ module HDLRuby::High
|
|
3188
3194
|
|
3189
3195
|
|
3190
3196
|
##
|
3191
|
-
# Describes a
|
3197
|
+
# Describes a selection operation (generalization of the ternary operator).
|
3192
3198
|
#
|
3193
3199
|
# NOTE: choice is using the value of +select+ as an index.
|
3194
3200
|
class Select < Low::Select
|
@@ -3344,6 +3350,12 @@ module HDLRuby::High
|
|
3344
3350
|
end
|
3345
3351
|
end
|
3346
3352
|
|
3353
|
+
# Get the refered objects.
|
3354
|
+
def objects
|
3355
|
+
return [ self.object] if self.is_a?(RefObject)
|
3356
|
+
return self.each.map { |ref| ref.objects }.flatten
|
3357
|
+
end
|
3358
|
+
|
3347
3359
|
# Reference can be used like enumerator
|
3348
3360
|
include Enumerable
|
3349
3361
|
end
|
@@ -4410,14 +4422,14 @@ module HDLRuby::High
|
|
4410
4422
|
super(nil)
|
4411
4423
|
# # Save the Location for debugging information
|
4412
4424
|
# @location = caller_locations
|
4413
|
-
# Sets the current behavior
|
4414
|
-
@@cur_behavior = self
|
4425
|
+
# # Sets the current behavior
|
4426
|
+
# @@cur_behavior = self
|
4415
4427
|
# Add the events (they may be hierarchical to flatten)
|
4416
4428
|
events.flatten.each { |event| self.add_event(event) }
|
4417
4429
|
# Create and add the block.
|
4418
4430
|
self.block = High.make_block(mode,&ruby_block)
|
4419
|
-
# Unset the current behavior
|
4420
|
-
@@cur_behavior = nil
|
4431
|
+
# # Unset the current behavior
|
4432
|
+
# @@cur_behavior = nil
|
4421
4433
|
end
|
4422
4434
|
|
4423
4435
|
# Sets an event to the behavior.
|
@@ -4584,12 +4596,21 @@ module HDLRuby::High
|
|
4584
4596
|
end
|
4585
4597
|
end
|
4586
4598
|
|
4587
|
-
# The current behavior: by default none.
|
4588
|
-
@@cur_behavior = nil
|
4599
|
+
# # The current behavior: by default none.
|
4600
|
+
# @@cur_behavior = nil
|
4589
4601
|
|
4590
4602
|
# Gets the enclosing behavior if any.
|
4591
4603
|
def self.cur_behavior
|
4592
|
-
return @@cur_behavior
|
4604
|
+
# return @@cur_behavior
|
4605
|
+
if in_behavior? then
|
4606
|
+
user = top_user
|
4607
|
+
while(user && !user.is_a?(Behavior)) do
|
4608
|
+
user = user.parent
|
4609
|
+
end
|
4610
|
+
return user
|
4611
|
+
else
|
4612
|
+
return nil
|
4613
|
+
end
|
4593
4614
|
end
|
4594
4615
|
|
4595
4616
|
# Tell if we are in a behavior.
|
@@ -4765,13 +4786,10 @@ module HDLRuby::High
|
|
4765
4786
|
return Value.new(TypeSigned.new(:"",self.bit_length..0),self)
|
4766
4787
|
end
|
4767
4788
|
end
|
4768
|
-
|
4769
|
-
|
4770
|
-
|
4771
|
-
|
4772
|
-
# Converts to a new high-level expression.
|
4773
|
-
def to_expr
|
4774
|
-
return Value.new(Float,self)
|
4789
|
+
|
4790
|
+
# Gets the bit width
|
4791
|
+
def width
|
4792
|
+
return self.bit_length
|
4775
4793
|
end
|
4776
4794
|
end
|
4777
4795
|
|
@@ -5,10 +5,11 @@ require "HDLRuby/hruby_high"
|
|
5
5
|
module HDLRuby::High
|
6
6
|
|
7
7
|
##
|
8
|
-
# Library for
|
8
|
+
# Library for adding the fullname method to HDLRuby::High objects.
|
9
9
|
#
|
10
10
|
########################################################################
|
11
11
|
|
12
|
+
|
12
13
|
class SystemT
|
13
14
|
|
14
15
|
## Returns the name of the signal with its hierarchy.
|
@@ -32,6 +33,7 @@ module HDLRuby::High
|
|
32
33
|
|
33
34
|
end
|
34
35
|
|
36
|
+
|
35
37
|
class Scope
|
36
38
|
include WithFullname
|
37
39
|
end
|
data/lib/HDLRuby/hruby_low.rb
CHANGED
@@ -1919,7 +1919,7 @@ module HDLRuby::Low
|
|
1919
1919
|
end
|
1920
1920
|
|
1921
1921
|
##
|
1922
|
-
# Describes
|
1922
|
+
# Describes an unsigned integer data type.
|
1923
1923
|
class TypeUnsigned < TypeVector
|
1924
1924
|
|
1925
1925
|
# Creates a new vector type named +name+ from +base+ type and with
|
@@ -6117,7 +6117,7 @@ module HDLRuby::Low
|
|
6117
6117
|
|
6118
6118
|
|
6119
6119
|
##
|
6120
|
-
#
|
6120
|
+
# Describes a this reference.
|
6121
6121
|
#
|
6122
6122
|
# This is the current system.
|
6123
6123
|
class RefThis < Ref
|
data/lib/HDLRuby/hruby_low2c.rb
CHANGED
@@ -165,8 +165,8 @@ module HDLRuby::Low
|
|
165
165
|
end
|
166
166
|
|
167
167
|
|
168
|
-
## Extends the SystemT class with generation of C text.
|
169
168
|
class SystemT
|
169
|
+
## Extends the SystemT class with generation of C text.
|
170
170
|
|
171
171
|
# Generates the text of the equivalent HDLRuby code.
|
172
172
|
# +level+ is the hierachical level of the object and +hnames+
|
@@ -402,8 +402,8 @@ module HDLRuby::Low
|
|
402
402
|
end
|
403
403
|
|
404
404
|
|
405
|
-
## Extends the Scope class with generation of C text.
|
406
405
|
class Scope
|
406
|
+
## Extends the Scope class with generation of C text.
|
407
407
|
|
408
408
|
# Generates the C text of the equivalent HDLRuby code.
|
409
409
|
# +level+ is the hierachical level of the object.
|
@@ -567,8 +567,8 @@ module HDLRuby::Low
|
|
567
567
|
end
|
568
568
|
|
569
569
|
|
570
|
-
## Extends the Type class with generation of C text.
|
571
570
|
class Type
|
571
|
+
## Extends the Type class with generation of C text.
|
572
572
|
|
573
573
|
# Generates the C text of the equivalent HDLRuby code.
|
574
574
|
# +level+ is the hierachical level of the object.
|
@@ -587,8 +587,9 @@ module HDLRuby::Low
|
|
587
587
|
end
|
588
588
|
end
|
589
589
|
|
590
|
-
|
590
|
+
|
591
591
|
class TypeDef
|
592
|
+
## Extends the TypeDef class with generation of C text.
|
592
593
|
|
593
594
|
# Generates the C text of the equivalent HDLRuby code.
|
594
595
|
# +level+ is the hierachical level of the object.
|
@@ -601,8 +602,9 @@ module HDLRuby::Low
|
|
601
602
|
end
|
602
603
|
end
|
603
604
|
|
604
|
-
|
605
|
+
|
605
606
|
class TypeVector
|
607
|
+
## Extends the TypeVector class with generation of C text.
|
606
608
|
|
607
609
|
# Generates the C text of the equivalent HDLRuby code.
|
608
610
|
# +level+ is the hierachical level of the object.
|
@@ -618,8 +620,9 @@ module HDLRuby::Low
|
|
618
620
|
end
|
619
621
|
end
|
620
622
|
|
621
|
-
|
623
|
+
|
622
624
|
class TypeTuple
|
625
|
+
## Extends the TypeTuple class with generation of C text.
|
623
626
|
|
624
627
|
# Generates the C text of the equivalent HDLRuby code.
|
625
628
|
# +level+ is the hierachical level of the object.
|
@@ -634,8 +637,8 @@ module HDLRuby::Low
|
|
634
637
|
end
|
635
638
|
|
636
639
|
|
637
|
-
## Extends the TypeStruct class with generation of C text.
|
638
640
|
class TypeStruct
|
641
|
+
## Extends the TypeStruct class with generation of C text.
|
639
642
|
|
640
643
|
# Generates the text of the equivalent HDLRuby code.
|
641
644
|
# +level+ is the hierachical level of the object.
|
@@ -650,8 +653,8 @@ module HDLRuby::Low
|
|
650
653
|
end
|
651
654
|
|
652
655
|
|
653
|
-
## Extends the Behavior class with generation of C text.
|
654
656
|
class Behavior
|
657
|
+
## Extends the Behavior class with generation of C text.
|
655
658
|
|
656
659
|
# Generates the text of the equivalent HDLRuby code.
|
657
660
|
# +level+ is the hierachical level of the object and
|
@@ -837,8 +840,9 @@ module HDLRuby::Low
|
|
837
840
|
end
|
838
841
|
end
|
839
842
|
|
840
|
-
|
843
|
+
|
841
844
|
class TimeBehavior
|
845
|
+
## Extends the TimeBehavior class with generation of C text.
|
842
846
|
|
843
847
|
# Generates the C text of the equivalent HDLRuby code.
|
844
848
|
# +level+ is the hierachical level of the object.
|
@@ -850,8 +854,8 @@ module HDLRuby::Low
|
|
850
854
|
end
|
851
855
|
|
852
856
|
|
853
|
-
## Extends the Event class with generation of C text.
|
854
857
|
class Event
|
858
|
+
## Extends the Event class with generation of C text.
|
855
859
|
|
856
860
|
# Generates the C text of the equivalent HDLRuby code.
|
857
861
|
# +level+ is the hierachical level of the object.
|
@@ -870,8 +874,8 @@ module HDLRuby::Low
|
|
870
874
|
end
|
871
875
|
|
872
876
|
|
873
|
-
## Extends the SignalI class with generation of C text.
|
874
877
|
class SignalI
|
878
|
+
## Extends the SignalI class with generation of C text.
|
875
879
|
|
876
880
|
# The id of a signal in the simulator.
|
877
881
|
@@signal_id = 0
|
@@ -1085,8 +1089,8 @@ module HDLRuby::Low
|
|
1085
1089
|
end
|
1086
1090
|
|
1087
1091
|
|
1088
|
-
## Extends the SystemI class with generation of C text.
|
1089
1092
|
class SystemI
|
1093
|
+
## Extends the SystemI class with generation of C text.
|
1090
1094
|
|
1091
1095
|
## Generates the C text of the equivalent HDLRuby code.
|
1092
1096
|
# +level+ is the hierachical level of the object.
|
@@ -1166,8 +1170,8 @@ module HDLRuby::Low
|
|
1166
1170
|
end
|
1167
1171
|
|
1168
1172
|
|
1169
|
-
# Extend the Chunk cass with generation of text code.
|
1170
1173
|
class HDLRuby::Low::Chunk
|
1174
|
+
# Extend the Chunk cass with generation of text code.
|
1171
1175
|
|
1172
1176
|
# Generates the C text of the equivalent HDLRuby code.
|
1173
1177
|
# +level+ is the hierachical level of the object.
|
@@ -1198,8 +1202,9 @@ module HDLRuby::Low
|
|
1198
1202
|
end
|
1199
1203
|
|
1200
1204
|
|
1201
|
-
## Extends the SystemI class with generation of C text.
|
1202
1205
|
class Code
|
1206
|
+
## Extends the SystemI class with generation of C text.
|
1207
|
+
|
1203
1208
|
# Generates the C text of the equivalent HDLRuby code.
|
1204
1209
|
# +level+ is the hierachical level of the object.
|
1205
1210
|
# def to_c(level = 0)
|
@@ -1320,8 +1325,8 @@ module HDLRuby::Low
|
|
1320
1325
|
end
|
1321
1326
|
|
1322
1327
|
|
1323
|
-
## Extends the Statement class with generation of C text.
|
1324
1328
|
class Statement
|
1329
|
+
## Extends the Statement class with generation of C text.
|
1325
1330
|
|
1326
1331
|
# Generates the C text of the equivalent HDLRuby code.
|
1327
1332
|
# +level+ is the hierachical level of the object.
|
@@ -1362,8 +1367,8 @@ module HDLRuby::Low
|
|
1362
1367
|
end
|
1363
1368
|
end
|
1364
1369
|
|
1365
|
-
## Extends the Transmit class with generation of C text.
|
1366
1370
|
class Transmit
|
1371
|
+
## Extends the Transmit class with generation of C text.
|
1367
1372
|
|
1368
1373
|
# # Generates the C text of the equivalent HDLRuby code.
|
1369
1374
|
# # +level+ is the hierachical level of the object.
|
@@ -1464,8 +1469,8 @@ module HDLRuby::Low
|
|
1464
1469
|
end
|
1465
1470
|
|
1466
1471
|
|
1467
|
-
## Extends the Print class with generation of C text.
|
1468
1472
|
class Print
|
1473
|
+
## Extends the Print class with generation of C text.
|
1469
1474
|
|
1470
1475
|
# # Generates the C text of the equivalent HDLRuby code.
|
1471
1476
|
# # +level+ is the hierachical level of the object.
|
@@ -1533,8 +1538,9 @@ module HDLRuby::Low
|
|
1533
1538
|
end
|
1534
1539
|
end
|
1535
1540
|
|
1536
|
-
|
1541
|
+
|
1537
1542
|
class TimeTerminate
|
1543
|
+
## Extends the TimeTerminate class with generation of C text.
|
1538
1544
|
|
1539
1545
|
# Generates the C text of the equivalent HDLRuby code.
|
1540
1546
|
# +level+ is the hierachical level of the object.
|
@@ -1544,8 +1550,9 @@ module HDLRuby::Low
|
|
1544
1550
|
end
|
1545
1551
|
end
|
1546
1552
|
|
1547
|
-
|
1553
|
+
|
1548
1554
|
class Configure
|
1555
|
+
## Extends the Configure class with generation of C text.
|
1549
1556
|
|
1550
1557
|
# Generates the C text of the equivalent HDLRuby code.
|
1551
1558
|
# +level+ is the hierachical level of the object.
|
@@ -1556,8 +1563,8 @@ module HDLRuby::Low
|
|
1556
1563
|
end
|
1557
1564
|
|
1558
1565
|
|
1559
|
-
## Extends the If class with generation of C text.
|
1560
1566
|
class If
|
1567
|
+
## Extends the If class with generation of C text.
|
1561
1568
|
|
1562
1569
|
# # Generates the C text of the equivalent HDLRuby code.
|
1563
1570
|
# # +level+ is the hierachical level of the object.
|
@@ -1677,8 +1684,8 @@ module HDLRuby::Low
|
|
1677
1684
|
end
|
1678
1685
|
end
|
1679
1686
|
|
1680
|
-
## Extends the When class with generation of C text.
|
1681
1687
|
class When
|
1688
|
+
## Extends the When class with generation of C text.
|
1682
1689
|
|
1683
1690
|
# Generates the C text of the equivalent HDLRuby code.
|
1684
1691
|
# +level+ is the hierachical level of the object.
|
@@ -1721,8 +1728,9 @@ module HDLRuby::Low
|
|
1721
1728
|
end
|
1722
1729
|
end
|
1723
1730
|
|
1724
|
-
|
1731
|
+
|
1725
1732
|
class Case
|
1733
|
+
## Extends the Case class with generation of C text.
|
1726
1734
|
|
1727
1735
|
# # Generates the text of the equivalent HDLRuby code.
|
1728
1736
|
# # +level+ is the hierachical level of the object.
|
@@ -1855,8 +1863,8 @@ module HDLRuby::Low
|
|
1855
1863
|
end
|
1856
1864
|
|
1857
1865
|
|
1858
|
-
## Extends the Delay class with generation of C text.
|
1859
1866
|
class Delay
|
1867
|
+
## Extends the Delay class with generation of C text.
|
1860
1868
|
|
1861
1869
|
# Generates the C text of the equivalent HDLRuby code.
|
1862
1870
|
# +level+ is the hierachical level of the object.
|
@@ -1871,8 +1879,8 @@ module HDLRuby::Low
|
|
1871
1879
|
end
|
1872
1880
|
|
1873
1881
|
|
1874
|
-
## Extends the TimeWait class with generation of C text.
|
1875
1882
|
class TimeWait
|
1883
|
+
## Extends the TimeWait class with generation of C text.
|
1876
1884
|
|
1877
1885
|
# Generates the C text of the equivalent HDLRuby code.
|
1878
1886
|
# +level+ is the hierachical level of the object.
|
@@ -1892,8 +1900,9 @@ module HDLRuby::Low
|
|
1892
1900
|
end
|
1893
1901
|
end
|
1894
1902
|
|
1895
|
-
|
1903
|
+
|
1896
1904
|
class TimeRepeat
|
1905
|
+
## Extends the TimeRepeat class with generation of C text.
|
1897
1906
|
|
1898
1907
|
# # Generates the C text of the equivalent HDLRuby code.
|
1899
1908
|
# # +level+ is the hierachical level of the object.
|
@@ -1933,8 +1942,9 @@ module HDLRuby::Low
|
|
1933
1942
|
end
|
1934
1943
|
end
|
1935
1944
|
|
1936
|
-
|
1945
|
+
|
1937
1946
|
class Block
|
1947
|
+
## Extends the Block class with generation of C text.
|
1938
1948
|
|
1939
1949
|
# Adds the c code of the blocks to +res+ at +level+
|
1940
1950
|
def add_blocks_code(res,level)
|
@@ -2086,20 +2096,22 @@ module HDLRuby::Low
|
|
2086
2096
|
end
|
2087
2097
|
|
2088
2098
|
|
2089
|
-
## Extends the Block class with generation of C text.
|
2090
2099
|
class TimeBlock
|
2100
|
+
## Extends the Block class with generation of C text.
|
2101
|
+
|
2091
2102
|
# TimeBlock is identical to Block in C
|
2092
2103
|
end
|
2093
2104
|
|
2094
2105
|
|
2095
|
-
## Extends the Connection class with generation of C text.
|
2096
2106
|
class Connection
|
2107
|
+
## Extends the Connection class with generation of C text.
|
2108
|
+
|
2097
2109
|
# Nothing required, Transmit is generated identically.
|
2098
2110
|
end
|
2099
2111
|
|
2100
2112
|
|
2101
|
-
## Extends the Expression class with generation of C text.
|
2102
2113
|
class Expression
|
2114
|
+
## Extends the Expression class with generation of C text.
|
2103
2115
|
|
2104
2116
|
# Generates the C text of the equivalent HDLRuby code.
|
2105
2117
|
# +level+ is the hierachical level of the object.
|
@@ -2121,8 +2133,8 @@ module HDLRuby::Low
|
|
2121
2133
|
end
|
2122
2134
|
|
2123
2135
|
|
2124
|
-
## Extends the Value class with generation of C text.
|
2125
2136
|
class Value
|
2137
|
+
## Extends the Value class with generation of C text.
|
2126
2138
|
|
2127
2139
|
## Generates the C text for an access to the value.
|
2128
2140
|
# +level+ is the hierachical level of the object.
|
@@ -2290,8 +2302,8 @@ module HDLRuby::Low
|
|
2290
2302
|
end
|
2291
2303
|
|
2292
2304
|
|
2293
|
-
## Extends the Cast class with generation of C text.
|
2294
2305
|
class Cast
|
2306
|
+
## Extends the Cast class with generation of C text.
|
2295
2307
|
|
2296
2308
|
# # Generates the C text of the equivalent HDLRuby code.
|
2297
2309
|
# # +level+ is the hierachical level of the object.
|
@@ -2346,8 +2358,8 @@ module HDLRuby::Low
|
|
2346
2358
|
end
|
2347
2359
|
|
2348
2360
|
|
2349
|
-
## Extends the Operation class with generation of C text.
|
2350
2361
|
class Operation
|
2362
|
+
## Extends the Operation class with generation of C text.
|
2351
2363
|
|
2352
2364
|
# Generates the C text of the equivalent HDLRuby code.
|
2353
2365
|
# +level+ is the hierachical level of the object.
|
@@ -2358,8 +2370,9 @@ module HDLRuby::Low
|
|
2358
2370
|
end
|
2359
2371
|
end
|
2360
2372
|
|
2361
|
-
|
2373
|
+
|
2362
2374
|
class Unary
|
2375
|
+
## Extends the Unary class with generation of C text.
|
2363
2376
|
|
2364
2377
|
# # Generates the C text of the equivalent HDLRuby code.
|
2365
2378
|
# # +level+ is the hierachical level of the object.
|
@@ -2442,8 +2455,8 @@ module HDLRuby::Low
|
|
2442
2455
|
end
|
2443
2456
|
|
2444
2457
|
|
2445
|
-
## Extends the Binary class with generation of C text.
|
2446
2458
|
class Binary
|
2459
|
+
## Extends the Binary class with generation of C text.
|
2447
2460
|
|
2448
2461
|
# # Generates the C text of the equivalent HDLRuby code.
|
2449
2462
|
# # +level+ is the hierachical level of the object.
|
@@ -2591,8 +2604,9 @@ module HDLRuby::Low
|
|
2591
2604
|
end
|
2592
2605
|
end
|
2593
2606
|
|
2594
|
-
|
2607
|
+
|
2595
2608
|
class Select
|
2609
|
+
## Extends the Select class with generation of C text.
|
2596
2610
|
|
2597
2611
|
# # Generates the C text of the equivalent HDLRuby code.
|
2598
2612
|
# # +level+ is the hierachical level of the object.
|
@@ -2669,9 +2683,9 @@ module HDLRuby::Low
|
|
2669
2683
|
end
|
2670
2684
|
end
|
2671
2685
|
|
2672
|
-
## Extends the Concat class with generation of C text.
|
2673
|
-
class Concat
|
2674
2686
|
|
2687
|
+
class Concat
|
2688
|
+
## Extends the Concat class with generation of C text.
|
2675
2689
|
|
2676
2690
|
# # Generates the C text for the equivalent HDLRuby code.
|
2677
2691
|
# # +level+ is the hierachical level of the object.
|
@@ -2800,8 +2814,8 @@ module HDLRuby::Low
|
|
2800
2814
|
|
2801
2815
|
|
2802
2816
|
|
2803
|
-
## Extends the Ref class with generation of C text.
|
2804
2817
|
class Ref
|
2818
|
+
## Extends the Ref class with generation of C text.
|
2805
2819
|
|
2806
2820
|
# Generates the C text of the equivalent HDLRuby code.
|
2807
2821
|
# +level+ is the hierachical level of the object and
|
@@ -2814,8 +2828,8 @@ module HDLRuby::Low
|
|
2814
2828
|
end
|
2815
2829
|
|
2816
2830
|
|
2817
|
-
## Extends the RefConcat class with generation of C text.
|
2818
2831
|
class RefConcat
|
2832
|
+
## Extends the RefConcat class with generation of C text.
|
2819
2833
|
|
2820
2834
|
# Generates the C text of the equivalent HDLRuby code.
|
2821
2835
|
# +level+ is the hierachical level of the object and
|
@@ -2848,8 +2862,8 @@ module HDLRuby::Low
|
|
2848
2862
|
end
|
2849
2863
|
|
2850
2864
|
|
2851
|
-
## Extends the RefIndex class with generation of C text.
|
2852
2865
|
class RefIndex
|
2866
|
+
## Extends the RefIndex class with generation of C text.
|
2853
2867
|
|
2854
2868
|
# # Generates the C text of the equivalent HDLRuby code.
|
2855
2869
|
# # +level+ is thehierachical level of the object and
|
@@ -2958,8 +2972,8 @@ module HDLRuby::Low
|
|
2958
2972
|
end
|
2959
2973
|
|
2960
2974
|
|
2961
|
-
## Extends the RefRange class with generation of C text.
|
2962
2975
|
class RefRange
|
2976
|
+
## Extends the RefRange class with generation of C text.
|
2963
2977
|
|
2964
2978
|
# # Generates the C text of the equivalent HDLRuby code.
|
2965
2979
|
# # +level+ is the hierachical level of the object and
|
@@ -3071,8 +3085,8 @@ module HDLRuby::Low
|
|
3071
3085
|
end
|
3072
3086
|
|
3073
3087
|
|
3074
|
-
## Extends the RefName class with generation of C text.
|
3075
3088
|
class RefName
|
3089
|
+
## Extends the RefName class with generation of C text.
|
3076
3090
|
|
3077
3091
|
# Generates the C text of the equivalent HDLRuby code.
|
3078
3092
|
# +level+ is the hierachical level of the object and
|
@@ -3128,8 +3142,9 @@ module HDLRuby::Low
|
|
3128
3142
|
end
|
3129
3143
|
|
3130
3144
|
|
3131
|
-
## Extends the RefThis class with generation of C text.
|
3132
3145
|
class RefThis
|
3146
|
+
## Extends the RefThis class with generation of C text.
|
3147
|
+
|
3133
3148
|
# Generates the C text of the equivalent HDLRuby code.
|
3134
3149
|
# +level+ is the hierachical level of the object and
|
3135
3150
|
# +left+ tells if it is a left value or not.
|