HDLRuby 2.6.5 → 2.6.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/HDLRuby/hdr_samples/comparison_bench.rb +40 -0
- data/lib/HDLRuby/hdr_samples/type_minmax_bench.rb +37 -0
- data/lib/HDLRuby/hdr_samples/with_to_array.rb +29 -0
- data/lib/HDLRuby/hdrcc.rb +1 -0
- data/lib/HDLRuby/hruby_high.rb +6 -3
- data/lib/HDLRuby/hruby_low.rb +31 -0
- data/lib/HDLRuby/sim/hruby_sim.h +16 -2
- data/lib/HDLRuby/sim/hruby_sim_calc.c +131 -16
- data/lib/HDLRuby/version.rb +1 -1
- metadata +5 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 01f27a3801dbe93fa55cba40a6a66b91f94df070e255689ac9d73f894b006bd0
|
4
|
+
data.tar.gz: 911aadbbb04317300946682df515527e72602d36aacb792bc2c3f80ea88fa14d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ea09062dfce477be1db11be382672323711d6fa996cb2f3716cd43692ba1063f9ccd651b6b870a09b319fbd8374b82635075a72b00b89a8e305385adf72c097b
|
7
|
+
data.tar.gz: 0ecc3b863e4e41ed3f25083dcf579b014a2a6d04dfb41cd71262d45d115b4efb23d8d869c714508ada05b0a239afd484143733a16343f9fd8738375bbf871dbe
|
@@ -0,0 +1,40 @@
|
|
1
|
+
# Test the comparison operators.
|
2
|
+
|
3
|
+
# A benchmark for the adder.
|
4
|
+
system :adder_bench do
|
5
|
+
[8].inner :x, :y
|
6
|
+
signed[8].inner :u,:v
|
7
|
+
inner :ue, :ult, :ule, :ugt, :uge
|
8
|
+
inner :se, :slt, :sle, :sgt, :sge
|
9
|
+
|
10
|
+
par do
|
11
|
+
ue <= (x == y)
|
12
|
+
ult <= (x < y)
|
13
|
+
ule <= (x <= y)
|
14
|
+
ugt <= (x > y)
|
15
|
+
uge <= (x >= y)
|
16
|
+
|
17
|
+
se <= (u == v)
|
18
|
+
slt <= (u < v)
|
19
|
+
sle <= (u <= v)
|
20
|
+
sgt <= (u > v)
|
21
|
+
sge <= (u >= v)
|
22
|
+
end
|
23
|
+
|
24
|
+
timed do
|
25
|
+
x <= 0
|
26
|
+
y <= 0
|
27
|
+
u <= 0
|
28
|
+
v <= 0
|
29
|
+
!10.ns
|
30
|
+
x <= 1
|
31
|
+
u <= 1
|
32
|
+
!10.ns
|
33
|
+
y <= 2
|
34
|
+
v <= 2
|
35
|
+
!10.ns
|
36
|
+
x <= 2
|
37
|
+
u <= -2
|
38
|
+
!10.ns
|
39
|
+
end
|
40
|
+
end
|
@@ -0,0 +1,37 @@
|
|
1
|
+
# Test the type method min and max
|
2
|
+
|
3
|
+
# A benchmark for the adder.
|
4
|
+
system :adder_bench do
|
5
|
+
[32].inner :x
|
6
|
+
signed[32].inner :y
|
7
|
+
|
8
|
+
timed do
|
9
|
+
x <= 0
|
10
|
+
y <= 0
|
11
|
+
!10.ns
|
12
|
+
x <= bit[8].max
|
13
|
+
y <= signed[8].max
|
14
|
+
!10.ns
|
15
|
+
x <= bit[8].min
|
16
|
+
y <= signed[8].min
|
17
|
+
!10.ns
|
18
|
+
x <= bit[10].max
|
19
|
+
y <= signed[10].max
|
20
|
+
!10.ns
|
21
|
+
x <= bit[10].min
|
22
|
+
y <= signed[10].min
|
23
|
+
!10.ns
|
24
|
+
x <= bit[16].max
|
25
|
+
y <= signed[16].max
|
26
|
+
!10.ns
|
27
|
+
x <= bit[16].min
|
28
|
+
y <= signed[16].min
|
29
|
+
!10.ns
|
30
|
+
x <= bit[32].max
|
31
|
+
y <= signed[32].max
|
32
|
+
!10.ns
|
33
|
+
x <= bit[32].min
|
34
|
+
y <= signed[32].min
|
35
|
+
!10.ns
|
36
|
+
end
|
37
|
+
end
|
@@ -0,0 +1,29 @@
|
|
1
|
+
|
2
|
+
def connect8(i0,i1,i2,i3,i4,i5,i6,i7,
|
3
|
+
o0,o1,o2,o3,o4,o5,o6,o7)
|
4
|
+
o0 <= i0
|
5
|
+
o1 <= i1
|
6
|
+
o2 <= i2
|
7
|
+
o3 <= i3
|
8
|
+
o4 <= i4
|
9
|
+
o5 <= i5
|
10
|
+
o6 <= i6
|
11
|
+
o7 <= i7
|
12
|
+
end
|
13
|
+
|
14
|
+
# A benchmark for testing the conversion to ruby array of expressions.
|
15
|
+
system :with_to_bench do
|
16
|
+
[8].inner :val
|
17
|
+
inner :b0,:b1,:b2,:b3,:b4,:b5,:b6,:b7
|
18
|
+
|
19
|
+
connect8(*val,b0,b1,b2,b3,b4,b5,b6,b7)
|
20
|
+
|
21
|
+
timed do
|
22
|
+
val <= _01101010
|
23
|
+
!10.ns
|
24
|
+
val <= _01011010
|
25
|
+
!10.ns
|
26
|
+
val <= _00001111
|
27
|
+
!10.ns
|
28
|
+
end
|
29
|
+
end
|
data/lib/HDLRuby/hdrcc.rb
CHANGED
@@ -637,6 +637,7 @@ elsif $options[:clang] then
|
|
637
637
|
name = $output + "/" +
|
638
638
|
HDLRuby::Low::Low2C.c_name(systemT.name) +
|
639
639
|
".c"
|
640
|
+
# puts "for systemT=#{systemT.name} generating: #{name}"
|
640
641
|
# Open the file for current systemT
|
641
642
|
outfile = File.open(name,"w")
|
642
643
|
# Generate the C code in to.
|
data/lib/HDLRuby/hruby_high.rb
CHANGED
@@ -609,7 +609,8 @@ module HDLRuby::High
|
|
609
609
|
# possible arguments +args+.
|
610
610
|
def instantiate(i_name,*args)
|
611
611
|
# Create the eigen type.
|
612
|
-
eigen = self.expand(High.names_create(i_name.to_s + ":T"), *args)
|
612
|
+
# eigen = self.expand(High.names_create(i_name.to_s + ":T"), *args)
|
613
|
+
eigen = self.expand(HDLRuby.uniq_name(i_name.to_s + ":T"), *args)
|
613
614
|
|
614
615
|
# Create the instance and sets its eigen system to +eigen+.
|
615
616
|
instance = @instance_class.new(i_name,eigen)
|
@@ -758,8 +759,10 @@ module HDLRuby::High
|
|
758
759
|
"Cannot convert a system without a name to HDLRuby::Low."
|
759
760
|
end
|
760
761
|
# Create the resulting low system type.
|
761
|
-
systemTL = HDLRuby::Low::SystemT.new(High.names_create(name),
|
762
|
+
# systemTL = HDLRuby::Low::SystemT.new(High.names_create(name),
|
763
|
+
systemTL = HDLRuby::Low::SystemT.new(HDLRuby.uniq_name(name),
|
762
764
|
self.scope.to_low)
|
765
|
+
# puts "New low from system #{self.name}: #{systemTL.name}"
|
763
766
|
# For debugging: set the source high object
|
764
767
|
systemTL.properties[:low2high] = self.hdr_id
|
765
768
|
self.properties[:high2low] = systemTL
|
@@ -2655,7 +2658,6 @@ module HDLRuby::High
|
|
2655
2658
|
end
|
2656
2659
|
end
|
2657
2660
|
|
2658
|
-
|
2659
2661
|
# Converts to a select operator using current expression as
|
2660
2662
|
# condition for one of the +choices+.
|
2661
2663
|
#
|
@@ -2671,6 +2673,7 @@ module HDLRuby::High
|
|
2671
2673
|
end
|
2672
2674
|
|
2673
2675
|
|
2676
|
+
|
2674
2677
|
# Methods for conversion for HDLRuby::Low: type processing, flattening
|
2675
2678
|
# and so on
|
2676
2679
|
|
data/lib/HDLRuby/hruby_low.rb
CHANGED
@@ -1276,6 +1276,18 @@ module HDLRuby::Low
|
|
1276
1276
|
end
|
1277
1277
|
end
|
1278
1278
|
|
1279
|
+
# Gets the type max value if any.
|
1280
|
+
# Default: not defined.
|
1281
|
+
def max
|
1282
|
+
raise AnyError, "No max value for type #{self}"
|
1283
|
+
end
|
1284
|
+
|
1285
|
+
# Gets the type min value if any.
|
1286
|
+
# Default: not defined.
|
1287
|
+
def min
|
1288
|
+
raise AnyError, "No min value for type #{self}"
|
1289
|
+
end
|
1290
|
+
|
1279
1291
|
# Get the direction of the type, little or big endian.
|
1280
1292
|
def direction
|
1281
1293
|
# By default, little endian.
|
@@ -1617,6 +1629,25 @@ module HDLRuby::Low
|
|
1617
1629
|
return @base.width * ((first-last).abs + 1)
|
1618
1630
|
end
|
1619
1631
|
|
1632
|
+
# Gets the type max value if any.
|
1633
|
+
def max
|
1634
|
+
if (self.signed?) then
|
1635
|
+
return (2**(self.width-1))-1
|
1636
|
+
else
|
1637
|
+
return (2**(self.width))-1
|
1638
|
+
end
|
1639
|
+
end
|
1640
|
+
|
1641
|
+
# Gets the type min value if any.
|
1642
|
+
# Default: not defined.
|
1643
|
+
def min
|
1644
|
+
if (self.signed?) then
|
1645
|
+
return -(2**(self.width-1))
|
1646
|
+
else
|
1647
|
+
return 0
|
1648
|
+
end
|
1649
|
+
end
|
1650
|
+
|
1620
1651
|
# Get the direction of the type, little or big endian.
|
1621
1652
|
def direction
|
1622
1653
|
return @range.first < @range.last ? :big : :little
|
data/lib/HDLRuby/sim/hruby_sim.h
CHANGED
@@ -219,6 +219,13 @@ Value shift_right_value(Value src0, Value src1, Value dst);
|
|
219
219
|
* @return dst */
|
220
220
|
extern Value equal_value(Value src0, Value src1, Value dst);
|
221
221
|
|
222
|
+
/** Computes the greater comparision of two values.
|
223
|
+
* @param src0 the first source value of the comparison
|
224
|
+
* @param src1 the second source value of the comparison
|
225
|
+
* @param dst the destination value
|
226
|
+
* @return dst */
|
227
|
+
extern Value greater_value(Value src0, Value src1, Value dst);
|
228
|
+
|
222
229
|
/** Computes the lesser comparision of two values.
|
223
230
|
* @param src0 the first source value of the comparison
|
224
231
|
* @param src1 the second source value of the comparison
|
@@ -226,12 +233,19 @@ extern Value equal_value(Value src0, Value src1, Value dst);
|
|
226
233
|
* @return dst */
|
227
234
|
extern Value lesser_value(Value src0, Value src1, Value dst);
|
228
235
|
|
229
|
-
/** Computes the greater comparision of two values.
|
236
|
+
/** Computes the greater or equal comparision of two values.
|
230
237
|
* @param src0 the first source value of the comparison
|
231
238
|
* @param src1 the second source value of the comparison
|
232
239
|
* @param dst the destination value
|
233
240
|
* @return dst */
|
234
|
-
extern Value
|
241
|
+
extern Value greater_equal_value(Value src0, Value src1, Value dst);
|
242
|
+
|
243
|
+
/** Computes the lesser or equal comparision of two values.
|
244
|
+
* @param src0 the first source value of the comparison
|
245
|
+
* @param src1 the second source value of the comparison
|
246
|
+
* @param dst the destination value
|
247
|
+
* @return dst */
|
248
|
+
extern Value lesser_equal_value(Value src0, Value src1, Value dst);
|
235
249
|
|
236
250
|
/** Selects a value depending on a condition.
|
237
251
|
* @param cond the condition to use for selecting a value
|
@@ -686,6 +686,21 @@ static Value mod_value_defined_bitstring(Value src0, Value src1, Value dst) {
|
|
686
686
|
}
|
687
687
|
|
688
688
|
|
689
|
+
/** Computes the greater comparision of two defined bitstring values.
|
690
|
+
* @param src0 the first source value of the addition
|
691
|
+
* @param src1 the second source value of the addition
|
692
|
+
* @param dst the destination value
|
693
|
+
* @return dst */
|
694
|
+
static Value greater_value_defined_bitstring(Value src0, Value src1, Value dst) {
|
695
|
+
/* Sets state of the destination using the first source. */
|
696
|
+
dst->type = src0->type;
|
697
|
+
dst->numeric = 1;
|
698
|
+
|
699
|
+
/* Perform the comparison. */
|
700
|
+
dst->data_int = (value2integer(src0) > value2integer(src1));
|
701
|
+
return dst;
|
702
|
+
}
|
703
|
+
|
689
704
|
/** Computes the lesser comparision of two defined bitstring values.
|
690
705
|
* @param src0 the first source value of the addition
|
691
706
|
* @param src1 the second source value of the addition
|
@@ -701,19 +716,33 @@ static Value lesser_value_defined_bitstring(Value src0, Value src1, Value dst) {
|
|
701
716
|
return dst;
|
702
717
|
}
|
703
718
|
|
719
|
+
/** Computes the greater or equal comparision of two defined bitstring values.
|
720
|
+
* @param src0 the first source value of the addition
|
721
|
+
* @param src1 the second source value of the addition
|
722
|
+
* @param dst the destination value
|
723
|
+
* @return dst */
|
724
|
+
static Value greater_equal_value_defined_bitstring(Value src0, Value src1, Value dst) {
|
725
|
+
/* Sets state of the destination using the first source. */
|
726
|
+
dst->type = src0->type;
|
727
|
+
dst->numeric = 1;
|
704
728
|
|
705
|
-
|
729
|
+
/* Perform the comparison. */
|
730
|
+
dst->data_int = (value2integer(src0) >= value2integer(src1));
|
731
|
+
return dst;
|
732
|
+
}
|
733
|
+
|
734
|
+
/** Computes the lesser or equal comparision of two defined bitstring values.
|
706
735
|
* @param src0 the first source value of the addition
|
707
736
|
* @param src1 the second source value of the addition
|
708
737
|
* @param dst the destination value
|
709
738
|
* @return dst */
|
710
|
-
static Value
|
739
|
+
static Value lesser_equal_value_defined_bitstring(Value src0, Value src1, Value dst) {
|
711
740
|
/* Sets state of the destination using the first source. */
|
712
741
|
dst->type = src0->type;
|
713
742
|
dst->numeric = 1;
|
714
743
|
|
715
744
|
/* Perform the comparison. */
|
716
|
-
dst->data_int = (value2integer(src0)
|
745
|
+
dst->data_int = (value2integer(src0) <= value2integer(src1));
|
717
746
|
return dst;
|
718
747
|
}
|
719
748
|
|
@@ -1762,13 +1791,29 @@ static Value equal_value_numeric(Value src0, Value src1, Value dst) {
|
|
1762
1791
|
dst->type = src0->type;
|
1763
1792
|
dst->numeric = 1;
|
1764
1793
|
|
1765
|
-
/* Perform the !XOR. */
|
1766
|
-
// dst->data_int = (src0->data_int
|
1767
|
-
|
1794
|
+
// /* Perform the !XOR. */
|
1795
|
+
// dst->data_int = ~(src0->data_int ^ src1->data_int);
|
1796
|
+
/* Perform the comparison. */
|
1797
|
+
dst->data_int = (src0->data_int == src1->data_int) ? 1 : 0;
|
1768
1798
|
return dst;
|
1769
1799
|
}
|
1770
1800
|
|
1771
1801
|
|
1802
|
+
/** Computes the greater comparision of two numeric values.
|
1803
|
+
* @param src0 the first source value of the addition
|
1804
|
+
* @param src1 the second source value of the addition
|
1805
|
+
* @param dst the destination value
|
1806
|
+
* @return the destination value */
|
1807
|
+
static Value greater_value_numeric(Value src0, Value src1, Value dst) {
|
1808
|
+
/* Sets state of the destination using the first source. */
|
1809
|
+
dst->type = src0->type;
|
1810
|
+
dst->numeric = 1;
|
1811
|
+
|
1812
|
+
/* Perform the greater. */
|
1813
|
+
dst->data_int = (src0->data_int > src1->data_int);
|
1814
|
+
return dst;
|
1815
|
+
}
|
1816
|
+
|
1772
1817
|
/** Computes the lesser comparision of two numeric values.
|
1773
1818
|
* @param src0 the first source value of the addition
|
1774
1819
|
* @param src1 the second source value of the addition
|
@@ -1784,18 +1829,33 @@ static Value lesser_value_numeric(Value src0, Value src1, Value dst) {
|
|
1784
1829
|
return dst;
|
1785
1830
|
}
|
1786
1831
|
|
1787
|
-
/** Computes the greater comparision of two numeric values.
|
1832
|
+
/** Computes the greater or equal comparision of two numeric values.
|
1788
1833
|
* @param src0 the first source value of the addition
|
1789
1834
|
* @param src1 the second source value of the addition
|
1790
1835
|
* @param dst the destination value
|
1791
1836
|
* @return the destination value */
|
1792
|
-
static Value
|
1837
|
+
static Value greater_equal_value_numeric(Value src0, Value src1, Value dst) {
|
1793
1838
|
/* Sets state of the destination using the first source. */
|
1794
1839
|
dst->type = src0->type;
|
1795
1840
|
dst->numeric = 1;
|
1796
1841
|
|
1797
|
-
/* Perform the
|
1798
|
-
dst->data_int = (src0->data_int
|
1842
|
+
/* Perform the greater or equal. */
|
1843
|
+
dst->data_int = (src0->data_int >= src1->data_int);
|
1844
|
+
return dst;
|
1845
|
+
}
|
1846
|
+
|
1847
|
+
/** Computes the lesser or equal comparision of two numeric values.
|
1848
|
+
* @param src0 the first source value of the addition
|
1849
|
+
* @param src1 the second source value of the addition
|
1850
|
+
* @param dst the destination value
|
1851
|
+
* @return the destination value */
|
1852
|
+
static Value lesser_equal_value_numeric(Value src0, Value src1, Value dst) {
|
1853
|
+
/* Sets state of the destination using the first source. */
|
1854
|
+
dst->type = src0->type;
|
1855
|
+
dst->numeric = 1;
|
1856
|
+
|
1857
|
+
/* Perform the lesser or equal. */
|
1858
|
+
dst->data_int = (src0->data_int <= src1->data_int);
|
1799
1859
|
return dst;
|
1800
1860
|
}
|
1801
1861
|
|
@@ -2434,6 +2494,34 @@ Value equal_value(Value src0, Value src1, Value dst) {
|
|
2434
2494
|
}
|
2435
2495
|
|
2436
2496
|
|
2497
|
+
|
2498
|
+
/** Computes the greater comparision of two general values.
|
2499
|
+
* @param src0 the first source value of the addition
|
2500
|
+
* @param src1 the second source value of the addition
|
2501
|
+
* @param dst the destination value
|
2502
|
+
* @return dst */
|
2503
|
+
Value greater_value(Value src0, Value src1, Value dst) {
|
2504
|
+
/* Might allocate a new value so save the current pool state. */
|
2505
|
+
unsigned int pos = get_value_pos();
|
2506
|
+
/* Do a numeric computation if possible, otherwise fallback to bitstring
|
2507
|
+
* computation. */
|
2508
|
+
if (src0->numeric && src1->numeric) {
|
2509
|
+
/* Both sources are numeric. */
|
2510
|
+
return greater_value_numeric(src0,src1,dst);
|
2511
|
+
} else if (is_defined_value(src0) && is_defined_value(src1)) {
|
2512
|
+
/* Both sources can be converted to numeric values. */
|
2513
|
+
return greater_value_defined_bitstring(src0,src1,dst);
|
2514
|
+
} else {
|
2515
|
+
/* Cannot compute (for now), simply undefines the destination. */
|
2516
|
+
/* First ensure dst has the right shape. */
|
2517
|
+
copy_value(src0,dst);
|
2518
|
+
/* Then make it undefined. */
|
2519
|
+
set_undefined_bitstring(dst);
|
2520
|
+
}
|
2521
|
+
return dst;
|
2522
|
+
}
|
2523
|
+
|
2524
|
+
|
2437
2525
|
/** Computes the lesser comparision of two general values.
|
2438
2526
|
* @param src0 the first source value of the addition
|
2439
2527
|
* @param src1 the second source value of the addition
|
@@ -2461,22 +2549,48 @@ Value lesser_value(Value src0, Value src1, Value dst) {
|
|
2461
2549
|
}
|
2462
2550
|
|
2463
2551
|
|
2464
|
-
/** Computes the greater comparision of two
|
2465
|
-
* @param src0 the first source value of the
|
2466
|
-
* @param src1 the second source value of the
|
2552
|
+
/** Computes the greater or equal comparision of two values.
|
2553
|
+
* @param src0 the first source value of the comparison
|
2554
|
+
* @param src1 the second source value of the comparison
|
2467
2555
|
* @param dst the destination value
|
2468
2556
|
* @return dst */
|
2469
|
-
Value
|
2557
|
+
Value greater_equal_value(Value src0, Value src1, Value dst) {
|
2470
2558
|
/* Might allocate a new value so save the current pool state. */
|
2471
2559
|
unsigned int pos = get_value_pos();
|
2472
2560
|
/* Do a numeric computation if possible, otherwise fallback to bitstring
|
2473
2561
|
* computation. */
|
2474
2562
|
if (src0->numeric && src1->numeric) {
|
2475
2563
|
/* Both sources are numeric. */
|
2476
|
-
return
|
2564
|
+
return greater_equal_value_numeric(src0,src1,dst);
|
2477
2565
|
} else if (is_defined_value(src0) && is_defined_value(src1)) {
|
2478
2566
|
/* Both sources can be converted to numeric values. */
|
2479
|
-
return
|
2567
|
+
return greater_equal_value_defined_bitstring(src0,src1,dst);
|
2568
|
+
} else {
|
2569
|
+
/* Cannot compute (for now), simply undefines the destination. */
|
2570
|
+
/* First ensure dst has the right shape. */
|
2571
|
+
copy_value(src0,dst);
|
2572
|
+
/* Then make it undefined. */
|
2573
|
+
set_undefined_bitstring(dst);
|
2574
|
+
}
|
2575
|
+
return dst;
|
2576
|
+
}
|
2577
|
+
|
2578
|
+
/** Computes the lesser or equal comparision of two values.
|
2579
|
+
* @param src0 the first source value of the comparison
|
2580
|
+
* @param src1 the second source value of the comparison
|
2581
|
+
* @param dst the destination value
|
2582
|
+
* @return dst */
|
2583
|
+
Value lesser_equal_value(Value src0, Value src1, Value dst) {
|
2584
|
+
/* Might allocate a new value so save the current pool state. */
|
2585
|
+
unsigned int pos = get_value_pos();
|
2586
|
+
/* Do a numeric computation if possible, otherwise fallback to bitstring
|
2587
|
+
* computation. */
|
2588
|
+
if (src0->numeric && src1->numeric) {
|
2589
|
+
/* Both sources are numeric. */
|
2590
|
+
return lesser_equal_value_numeric(src0,src1,dst);
|
2591
|
+
} else if (is_defined_value(src0) && is_defined_value(src1)) {
|
2592
|
+
/* Both sources can be converted to numeric values. */
|
2593
|
+
return lesser_equal_value_defined_bitstring(src0,src1,dst);
|
2480
2594
|
} else {
|
2481
2595
|
/* Cannot compute (for now), simply undefines the destination. */
|
2482
2596
|
/* First ensure dst has the right shape. */
|
@@ -2488,6 +2602,7 @@ Value greater_value(Value src0, Value src1, Value dst) {
|
|
2488
2602
|
}
|
2489
2603
|
|
2490
2604
|
|
2605
|
+
|
2491
2606
|
/** Selects a value depending on a general condition.
|
2492
2607
|
* @param cond the condition to use for selecting a value
|
2493
2608
|
* @param dst the destination value (used only if new value is created).
|
data/lib/HDLRuby/version.rb
CHANGED
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: 2.6.
|
4
|
+
version: 2.6.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Lovic Gauthier
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-
|
11
|
+
date: 2021-07-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -83,6 +83,7 @@ files:
|
|
83
83
|
- lib/HDLRuby/hdr_samples/alu.rb
|
84
84
|
- lib/HDLRuby/hdr_samples/bstr_bench.rb
|
85
85
|
- lib/HDLRuby/hdr_samples/calculator.rb
|
86
|
+
- lib/HDLRuby/hdr_samples/comparison_bench.rb
|
86
87
|
- lib/HDLRuby/hdr_samples/constant_in_function.rb
|
87
88
|
- lib/HDLRuby/hdr_samples/counter_bench.rb
|
88
89
|
- lib/HDLRuby/hdr_samples/dff.rb
|
@@ -134,6 +135,7 @@ files:
|
|
134
135
|
- lib/HDLRuby/hdr_samples/sw_encrypt_cpusim_bench.rb
|
135
136
|
- lib/HDLRuby/hdr_samples/system_open.rb
|
136
137
|
- lib/HDLRuby/hdr_samples/tuple.rb
|
138
|
+
- lib/HDLRuby/hdr_samples/type_minmax_bench.rb
|
137
139
|
- lib/HDLRuby/hdr_samples/with_channel.rb
|
138
140
|
- lib/HDLRuby/hdr_samples/with_class.rb
|
139
141
|
- lib/HDLRuby/hdr_samples/with_connector.rb
|
@@ -148,6 +150,7 @@ files:
|
|
148
150
|
- lib/HDLRuby/hdr_samples/with_memory_rom.rb
|
149
151
|
- lib/HDLRuby/hdr_samples/with_multi_channels.rb
|
150
152
|
- lib/HDLRuby/hdr_samples/with_reconf.rb
|
153
|
+
- lib/HDLRuby/hdr_samples/with_to_array.rb
|
151
154
|
- lib/HDLRuby/hdrcc.rb
|
152
155
|
- lib/HDLRuby/high_samples/_adder_fault.rb
|
153
156
|
- lib/HDLRuby/high_samples/_generic_transmission2.rb
|