vertigo_vhdl 0.8.4 → 0.8.5
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/vertigo/runner.rb +2 -0
- data/lib/vertigo/tb_generator.rb +12 -7
- data/lib/vertigo/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22b82b19e9b7744a6167a503e91914be19d58344d2853974a770933f559d6db6
|
4
|
+
data.tar.gz: 837894bc8b71d9fee64ad6214f55eea1add4174795abe6c96ad5c50840ea49af
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c7dc519c36112e25204c40399d25dac991c84887673e5a275aad94ab6c9127cfa6c02a67c6d6004754ae9669c4fe46dd316da69db12437c3ad8aba2531a6ca07
|
7
|
+
data.tar.gz: c002acb04a1cd830eda4b70d1e66c3ae3fa9ccc36fe740742c874eb8c3103829426778b01685ce2a7cba001f1deaf0b3551638295361b1505050e1bbb1dd81be
|
data/lib/vertigo/runner.rb
CHANGED
data/lib/vertigo/tb_generator.rb
CHANGED
@@ -16,7 +16,7 @@ module Vertigo
|
|
16
16
|
vhdl_tb=gen_code()
|
17
17
|
@tb_name=@entity_name+"_tb"
|
18
18
|
tb_filename=@tb_name+".vhd"
|
19
|
-
File.open(tb_filename,'w'){|f| f.puts vhdl_tb
|
19
|
+
File.open(tb_filename,'w'){|f| f.puts vhdl_tb}
|
20
20
|
puts "=> generated testbench : #{tb_filename}"
|
21
21
|
end
|
22
22
|
|
@@ -50,7 +50,7 @@ module Vertigo
|
|
50
50
|
code << "procedure wait_cycles(n : natural) is "
|
51
51
|
code << "begin"
|
52
52
|
code.indent=4
|
53
|
-
code << "for i in 0 to n loop"
|
53
|
+
code << "for i in 0 to n-1 loop"
|
54
54
|
code.indent=6
|
55
55
|
code << "wait until rising_edge(#{@clk_name});"
|
56
56
|
code.indent=4
|
@@ -70,7 +70,7 @@ module Vertigo
|
|
70
70
|
code << gen_stim_process
|
71
71
|
code.indent=0
|
72
72
|
code << "end bhv;"
|
73
|
-
code
|
73
|
+
code.finalize
|
74
74
|
end
|
75
75
|
|
76
76
|
def gen_header
|
@@ -89,7 +89,7 @@ module Vertigo
|
|
89
89
|
code << line
|
90
90
|
code << comment("clock and reset")
|
91
91
|
code << line
|
92
|
-
code << "#{@reset_name} <= '0','1' after
|
92
|
+
code << "#{@reset_name} <= '0','1' after 123 ns;"
|
93
93
|
code.newline
|
94
94
|
code << "#{@clk_name} <= not(#{@clk_name}) after HALF_PERIOD when running else #{@clk_name};"
|
95
95
|
code
|
@@ -105,10 +105,14 @@ module Vertigo
|
|
105
105
|
code << "port map ("
|
106
106
|
code.indent=4
|
107
107
|
|
108
|
-
@entity.ports.
|
108
|
+
@entity.ports.each_with_index do |port,idx|
|
109
109
|
port_name=port.name.str.ljust(@max_length_str)
|
110
110
|
port_type=port.type.str
|
111
|
-
|
111
|
+
if idx < @entity.ports.size-1
|
112
|
+
code << "#{port_name} => #{port_name},"
|
113
|
+
else
|
114
|
+
code << "#{port_name} => #{port_name}"
|
115
|
+
end
|
112
116
|
end
|
113
117
|
code.indent=2
|
114
118
|
code << ");"
|
@@ -127,7 +131,8 @@ module Vertigo
|
|
127
131
|
code << "report \"running testbench for #{@entity_name}(#{@arch_name})\";"
|
128
132
|
code << "report \"waiting for asynchronous reset\";"
|
129
133
|
code << "wait until #{@reset_name}='1';"
|
130
|
-
code << "wait_cycles(
|
134
|
+
code << "wait_cycles(10);"
|
135
|
+
code << "wait_cycles(10);"
|
131
136
|
code << "report \"end of simulation\";"
|
132
137
|
code << "running <= false;"
|
133
138
|
code << "wait;"
|
data/lib/vertigo/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: vertigo_vhdl
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.5
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jean-Christophe Le Lann
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2021-01-23 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: A Ruby handwritten VHDL parser and utilities
|
14
14
|
email: jean-christophe.le_lann@ensta-bretagne.fr
|