vertigo_vhdl 0.8.10 → 0.8.11

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: beaea4415336c64910ab051d6882dbc9e5320f65a9531a2862a336f30142d7ff
4
- data.tar.gz: f190bce2287c4d40b69a191e5c34ae6bfaee628f3c19213ddec253d8c4fb6a0f
3
+ metadata.gz: 5f66142ff1aa2f02093dbc99c8cd22a78a44ae177d0ecaf41e1cc3289b505e80
4
+ data.tar.gz: 406108f6e1fc88d54cd96b38708772e7051788b8c9ab9417a15bef96326004e1
5
5
  SHA512:
6
- metadata.gz: e35cadb37ba4f987501b079bc9c69f73bbb3d1699ec1966410448e4dd4637b26f5d3aa205121cf1fbebcf94c6ccf4de21dd21e121a3291793d6c264bfb980b32
7
- data.tar.gz: 6bdd446db85780a7bd16214776651fed9896d6cfd5edf5e4a4fae483bb0b2d8323cf6d890722f346586f0e2ceabf0bbeefda219d46cfa65bc64cfd9fdebc76e9
6
+ metadata.gz: 9c3f59eea1d1a2ca3ec6c22361bcd5eb54512b95a9b76e60465d6aa2749072d730fc0d79d28cfe0b2d11048f49a29f655d55aabc34cf6f0c8fcbd0c82b3f440c
7
+ data.tar.gz: a12214d7979e71a31172ce35fa67ac7ca3bbf69c4a3e8730acdeae20c451cb9344b3a2c1d567389db41ffa699a896db6244f8ec3fdd4f9d15600d9caf7ef857e
@@ -13,15 +13,19 @@ module Vertigo
13
13
  end
14
14
 
15
15
  def generate_from ast
16
- @ast=ast
17
- entity_arch=find_entity_arch()
18
- detecting_clk_and_reset(entity_arch)
19
- vhdl_tb=gen_code()
20
- @tb_name=@entity_name+"_tb"
21
- tb_filename=@tb_name+".vhd"
22
- File.open(tb_filename,'w'){|f| f.puts vhdl_tb}
23
- puts "=> generated testbench : #{tb_filename}" unless options[:mute]
24
- return tb_filename
16
+ begin
17
+ @ast=ast
18
+ entity_arch=find_entity_arch()
19
+ detecting_clk_and_reset(entity_arch)
20
+ vhdl_tb=gen_code()
21
+ @tb_name=@entity_name+"_tb"
22
+ tb_filename=@tb_name+".vhd"
23
+ File.open(tb_filename,'w'){|f| f.puts vhdl_tb}
24
+ puts "=> generated testbench : #{tb_filename}" unless options[:mute]
25
+ return tb_filename
26
+ rescue Exception => e
27
+ puts e.backtrace
28
+ end
25
29
  end
26
30
 
27
31
  def line n=80
@@ -113,7 +117,9 @@ module Vertigo
113
117
  code << line
114
118
  code << comment("Design Under Test")
115
119
  code << line
116
- code << "dut : entity work.#{@entity_name}(#{@arch_name})"
120
+ str="dut : entity work.#{@entity_name}"
121
+ str+="(#{@arch_name})" if @arch_name
122
+ code << str
117
123
  code.indent=2
118
124
  code << "port map ("
119
125
  code.indent=4
@@ -164,13 +170,13 @@ module Vertigo
164
170
  puts "=> found entity '#{entity.name.str}'" unless options[:mute]
165
171
  @arch=ast.design_units.find{|du| du.is_a? Architecture}
166
172
  if @arch.nil?
167
- puts msg="ERROR : no architecture found"
168
- raise msg
173
+ puts msg="WARNING : no architecture found"
174
+ else
175
+ puts "=> found architecture '#{arch.name.str}'" unless options[:mute]
169
176
  end
170
177
 
171
- puts "=> found architecture '#{arch.name.str}'" unless options[:mute]
172
178
  @entity_name=@entity.name.str
173
- @arch_name=@arch.name.str
179
+ @arch_name=@arch.name.str if @arch
174
180
  [@entity,@arch]
175
181
  end
176
182
 
@@ -182,7 +188,18 @@ module Vertigo
182
188
  @rst = inputs.sort_by{|input| levenshtein_distance(input.name.str,"reset_n")}.first
183
189
  puts "\t-most probable clk : #{@clk.name.str}" unless options[:mute]
184
190
  puts "\t-most probable reset : #{@rst.name.str}" unless options[:mute]
191
+
185
192
  @max_length_str=entity.ports.map{|port| port.name.str.size}.max
193
+
194
+ print "\t-validate [Y/n] ? "
195
+ answer=$stdin.gets.chomp
196
+ if answer=="n"
197
+ puts "ok, switching to 'clk' and 'reset_n'"
198
+ @reset_name="reset_n"
199
+ @clk_name="clk"
200
+ @excluded=[]
201
+ return
202
+ end
186
203
  @excluded=[@clk,@rst]
187
204
  @reset_name=@rst.name.str
188
205
  @clk_name=@clk.name.str
@@ -1,3 +1,3 @@
1
1
  module Vertigo
2
- VERSION="0.8.10"
2
+ VERSION="0.8.11"
3
3
  end
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.10
4
+ version: 0.8.11
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: 2021-09-07 00:00:00.000000000 Z
11
+ date: 2021-11-02 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