OpenCores
URL https://opencores.org/ocsvn/mips_enhanced/mips_enhanced/trunk

Subversion Repositories mips_enhanced

[/] [mips_enhanced/] [trunk/] [grlib-gpl-1.0.19-b3188/] [bin/] [xgrlib.tcl] - Blame information for rev 2

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 2 dimamali
#!/bin/sh
2
# the next line restarts using wish\
3
exec wish "$0" "$@" 
4
 
5
if {![info exists vTcl(sourcing)]} {
6
 
7
    package require Tk
8
    switch $tcl_platform(platform) {
9
        windows {
10
            option add *Button.padY 0
11
        }
12
        default {
13
            option add *Scrollbar.width 10
14
            option add *Scrollbar.highlightThickness 0
15
            option add *Scrollbar.elementBorderWidth 2
16
            option add *Scrollbar.borderWidth 2
17
        }
18
    }
19
 
20
}
21
 
22
#############################################################################
23
# Visual Tcl v1.60 Project
24
#
25
 
26
 
27
#################################
28
# VTCL LIBRARY PROCEDURES
29
#
30
 
31
if {![info exists vTcl(sourcing)]} {
32
#############################################################################
33
## Library Procedure:  Window
34
 
35
proc ::Window {args} {
36
    ## This procedure may be used free of restrictions.
37
    ##    Exception added by Christian Gavin on 08/08/02.
38
    ## Other packages and widget toolkits have different licensing requirements.
39
    ##    Please read their license agreements for details.
40
 
41
    global vTcl
42
    foreach {cmd name newname} [lrange $args 0 2] {}
43
    set rest    [lrange $args 3 end]
44
    if {$name == "" || $cmd == ""} { return }
45
    if {$newname == ""} { set newname $name }
46
    if {$name == "."} { wm withdraw $name; return }
47
    set exists [winfo exists $newname]
48
    switch $cmd {
49
        show {
50
            if {$exists} {
51
                wm deiconify $newname
52
            } elseif {[info procs vTclWindow$name] != ""} {
53
                eval "vTclWindow$name $newname $rest"
54
            }
55
            if {[winfo exists $newname] && [wm state $newname] == "normal"} {
56
                vTcl:FireEvent $newname <<Show>>
57
            }
58
        }
59
        hide    {
60
            if {$exists} {
61
                wm withdraw $newname
62
                vTcl:FireEvent $newname <<Hide>>
63
                return}
64
        }
65
        iconify { if $exists {wm iconify $newname; return} }
66
        destroy { if $exists {destroy $newname; return} }
67
    }
68
}
69
#############################################################################
70
## Library Procedure:  vTcl:DefineAlias
71
 
72
proc ::vTcl:DefineAlias {target alias widgetProc top_or_alias cmdalias} {
73
    ## This procedure may be used free of restrictions.
74
    ##    Exception added by Christian Gavin on 08/08/02.
75
    ## Other packages and widget toolkits have different licensing requirements.
76
    ##    Please read their license agreements for details.
77
 
78
    global widget
79
    set widget($alias) $target
80
    set widget(rev,$target) $alias
81
    if {$cmdalias} {
82
        interp alias {} $alias {} $widgetProc $target
83
    }
84
    if {$top_or_alias != ""} {
85
        set widget($top_or_alias,$alias) $target
86
        if {$cmdalias} {
87
            interp alias {} $top_or_alias.$alias {} $widgetProc $target
88
        }
89
    }
90
}
91
#############################################################################
92
## Library Procedure:  vTcl:DoCmdOption
93
 
94
proc ::vTcl:DoCmdOption {target cmd} {
95
    ## This procedure may be used free of restrictions.
96
    ##    Exception added by Christian Gavin on 08/08/02.
97
    ## Other packages and widget toolkits have different licensing requirements.
98
    ##    Please read their license agreements for details.
99
 
100
    ## menus are considered toplevel windows
101
    set parent $target
102
    while {[winfo class $parent] == "Menu"} {
103
        set parent [winfo parent $parent]
104
    }
105
 
106
    regsub -all {\%widget} $cmd $target cmd
107
    regsub -all {\%top} $cmd [winfo toplevel $parent] cmd
108
 
109
    uplevel #0 [list eval $cmd]
110
}
111
#############################################################################
112
## Library Procedure:  vTcl:FireEvent
113
 
114
proc ::vTcl:FireEvent {target event {params {}}} {
115
    ## This procedure may be used free of restrictions.
116
    ##    Exception added by Christian Gavin on 08/08/02.
117
    ## Other packages and widget toolkits have different licensing requirements.
118
    ##    Please read their license agreements for details.
119
 
120
    ## The window may have disappeared
121
    if {![winfo exists $target]} return
122
    ## Process each binding tag, looking for the event
123
    foreach bindtag [bindtags $target] {
124
        set tag_events [bind $bindtag]
125
        set stop_processing 0
126
        foreach tag_event $tag_events {
127
            if {$tag_event == $event} {
128
                set bind_code [bind $bindtag $tag_event]
129
                foreach rep "\{%W $target\} $params" {
130
                    regsub -all [lindex $rep 0] $bind_code [lindex $rep 1] bind_code
131
                }
132
                set result [catch {uplevel #0 $bind_code} errortext]
133
                if {$result == 3} {
134
                    ## break exception, stop processing
135
                    set stop_processing 1
136
                } elseif {$result != 0} {
137
                    bgerror $errortext
138
                }
139
                break
140
            }
141
        }
142
        if {$stop_processing} {break}
143
    }
144
}
145
#############################################################################
146
## Library Procedure:  vTcl:Toplevel:WidgetProc
147
 
148
proc ::vTcl:Toplevel:WidgetProc {w args} {
149
    ## This procedure may be used free of restrictions.
150
    ##    Exception added by Christian Gavin on 08/08/02.
151
    ## Other packages and widget toolkits have different licensing requirements.
152
    ##    Please read their license agreements for details.
153
 
154
    if {[llength $args] == 0} {
155
        ## If no arguments, returns the path the alias points to
156
        return $w
157
    }
158
    set command [lindex $args 0]
159
    set args [lrange $args 1 end]
160
    switch -- [string tolower $command] {
161
        "setvar" {
162
            foreach {varname value} $args {}
163
            if {$value == ""} {
164
                return [set ::${w}::${varname}]
165
            } else {
166
                return [set ::${w}::${varname} $value]
167
            }
168
        }
169
        "hide" - "show" {
170
            Window [string tolower $command] $w
171
        }
172
        "showmodal" {
173
            ## modal dialog ends when window is destroyed
174
            Window show $w; raise $w
175
            grab $w; tkwait window $w; grab release $w
176
        }
177
        "startmodal" {
178
            ## ends when endmodal called
179
            Window show $w; raise $w
180
            set ::${w}::_modal 1
181
            grab $w; tkwait variable ::${w}::_modal; grab release $w
182
        }
183
        "endmodal" {
184
            ## ends modal dialog started with startmodal, argument is var name
185
            set ::${w}::_modal 0
186
            Window hide $w
187
        }
188
        default {
189
            uplevel $w $command $args
190
        }
191
    }
192
}
193
#############################################################################
194
## Library Procedure:  vTcl:WidgetProc
195
 
196
proc ::vTcl:WidgetProc {w args} {
197
    ## This procedure may be used free of restrictions.
198
    ##    Exception added by Christian Gavin on 08/08/02.
199
    ## Other packages and widget toolkits have different licensing requirements.
200
    ##    Please read their license agreements for details.
201
 
202
    if {[llength $args] == 0} {
203
        ## If no arguments, returns the path the alias points to
204
        return $w
205
    }
206
 
207
    set command [lindex $args 0]
208
    set args [lrange $args 1 end]
209
    uplevel $w $command $args
210
}
211
#############################################################################
212
## Library Procedure:  vTcl:toplevel
213
 
214
proc ::vTcl:toplevel {args} {
215
    ## This procedure may be used free of restrictions.
216
    ##    Exception added by Christian Gavin on 08/08/02.
217
    ## Other packages and widget toolkits have different licensing requirements.
218
    ##    Please read their license agreements for details.
219
 
220
    uplevel #0 eval toplevel $args
221
    set target [lindex $args 0]
222
    namespace eval ::$target {set _modal 0}
223
}
224
}
225
 
226
 
227
if {[info exists vTcl(sourcing)]} {
228
 
229
proc vTcl:project:info {} {
230
    set base .top60
231
    namespace eval ::widgets::$base {
232
        set set,origin 1
233
        set set,size 1
234
        set runvisible 1
235
    }
236
    namespace eval ::widgets::$base.m78 {
237
        array set save {-tearoff 1}
238
        namespace eval subOptions {
239
            array set save {-command 1 -label 1 -menu 1}
240
        }
241
    }
242
    set site_3_0 $base.m78
243
    namespace eval ::widgets::$site_3_0.men79 {
244
        array set save {-tearoff 1}
245
        namespace eval subOptions {
246
            array set save {-accelerator 1 -command 1 -label 1 -menu 1}
247
        }
248
    }
249
    namespace eval ::widgets::$base.cpd86 {
250
        array set save {-borderwidth 1}
251
    }
252
    set site_3_0 $base.cpd86
253
    namespace eval ::widgets::$site_3_0.01 {
254
        array set save {-borderwidth 1 -height 1 -relief 1 -width 1}
255
    }
256
    set site_4_0 $site_3_0.01
257
    namespace eval ::widgets::$site_4_0.fra82 {
258
        array set save {-borderwidth 1 -height 1}
259
    }
260
    namespace eval ::widgets::$site_4_0.cpd88 {
261
        array set save {-height 1 -width 1}
262
    }
263
    set site_5_0 $site_4_0.cpd88
264
    namespace eval ::widgets::$site_5_0.01 {
265
        array set save {-command 1 -orient 1}
266
    }
267
    namespace eval ::widgets::$site_5_0.02 {
268
        array set save {-command 1}
269
    }
270
    namespace eval ::widgets::$site_5_0.03 {
271
        array set save {-font 1 -height 1 -width 1 -xscrollcommand 1 -yscrollcommand 1}
272
    }
273
    namespace eval ::widgets::$site_3_0.02 {
274
        array set save {-borderwidth 1 -text 1}
275
    }
276
    namespace eval ::widgets::$base.but65 {
277
        array set save {-command 1 -foreground 1 -text 1}
278
    }
279
    namespace eval ::widgets::$base.lab61 {
280
        array set save {-foreground 1 -highlightcolor 1 -text 1}
281
    }
282
    set site_3_0 $base.lab61
283
    namespace eval ::widgets::$site_3_0.but62 {
284
        array set save {-command 1 -foreground 1 -text 1}
285
    }
286
    namespace eval ::widgets::$site_3_0.men63 {
287
        array set save {-menu 1 -padx 1 -pady 1 -relief 1 -text 1 -textvariable 1}
288
    }
289
    namespace eval ::widgets::$site_3_0.men63.m {
290
        array set save {-tearoff 1}
291
        namespace eval subOptions {
292
            array set save {-command 1 -label 1}
293
        }
294
    }
295
    namespace eval ::widgets::$site_3_0.but74 {
296
        array set save {-_tooltip 1 -command 1 -compound 1 -default 1 -foreground 1 -height 1 -text 1}
297
    }
298
    namespace eval ::widgets::$site_3_0.che62 {
299
        array set save {-disabledforeground 1 -text 1 -variable 1}
300
    }
301
    namespace eval ::widgets::$site_3_0.but63 {
302
        array set save {-_tooltip 1 -command 1 -text 1}
303
    }
304
    namespace eval ::widgets::$base.lab67 {
305
        array set save {-foreground 1 -highlightcolor 1 -text 1}
306
    }
307
    set site_3_0 $base.lab67
308
    namespace eval ::widgets::$site_3_0.men68 {
309
        array set save {-menu 1 -padx 1 -pady 1 -relief 1 -text 1 -textvariable 1}
310
    }
311
    namespace eval ::widgets::$site_3_0.men68.m {
312
        array set save {-tearoff 1}
313
        namespace eval subOptions {
314
            array set save {-command 1 -label 1}
315
        }
316
    }
317
    namespace eval ::widgets::$site_3_0.but69 {
318
        array set save {-command 1 -foreground 1 -text 1}
319
    }
320
    namespace eval ::widgets::$site_3_0.che70 {
321
        array set save {-text 1 -variable 1}
322
    }
323
    namespace eval ::widgets::$site_3_0.but61 {
324
        array set save {-_tooltip 1 -command 1 -text 1}
325
    }
326
    namespace eval ::widgets::$base.lab71 {
327
        array set save {-foreground 1 -highlightcolor 1 -text 1}
328
    }
329
    set site_3_0 $base.lab71
330
    namespace eval ::widgets::$site_3_0.men72 {
331
        array set save {-menu 1 -padx 1 -pady 1 -relief 1 -text 1 -textvariable 1}
332
    }
333
    namespace eval ::widgets::$site_3_0.men72.m {
334
        array set save {-tearoff 1}
335
        namespace eval subOptions {
336
            array set save {-command 1 -label 1}
337
        }
338
    }
339
    namespace eval ::widgets::$site_3_0.but73 {
340
        array set save {-command 1 -foreground 1 -text 1}
341
    }
342
    namespace eval ::widgets::$site_3_0.che75 {
343
        array set save {-text 1 -variable 1}
344
    }
345
    namespace eval ::widgets::$site_3_0.but60 {
346
        array set save {-_tooltip 1 -command 1 -text 1}
347
    }
348
    namespace eval ::widgets::$base.cpd77 {
349
        array set save {-borderwidth 1 -height 1}
350
    }
351
    set site_3_0 $base.cpd77
352
    namespace eval ::widgets::$site_3_0.01 {
353
        array set save {-anchor 1 -text 1}
354
    }
355
    namespace eval ::widgets::$site_3_0.02 {
356
        array set save {-cursor 1 -state 1 -textvariable 1}
357
    }
358
    namespace eval ::widgets::$base.cpd78 {
359
        array set save {-borderwidth 1 -height 1}
360
    }
361
    set site_3_0 $base.cpd78
362
    namespace eval ::widgets::$site_3_0.01 {
363
        array set save {-anchor 1 -text 1}
364
    }
365
    namespace eval ::widgets::$site_3_0.02 {
366
        array set save {-cursor 1 -state 1 -textvariable 1}
367
    }
368
    namespace eval ::widgets::$base.cpd79 {
369
        array set save {-borderwidth 1 -height 1}
370
    }
371
    set site_3_0 $base.cpd79
372
    namespace eval ::widgets::$site_3_0.01 {
373
        array set save {-anchor 1 -text 1}
374
    }
375
    namespace eval ::widgets::$site_3_0.02 {
376
        array set save {-cursor 1 -state 1 -textvariable 1}
377
    }
378
    namespace eval ::widgets::$base.cpd80 {
379
        array set save {-borderwidth 1 -height 1}
380
    }
381
    set site_3_0 $base.cpd80
382
    namespace eval ::widgets::$site_3_0.01 {
383
        array set save {-anchor 1 -text 1}
384
    }
385
    namespace eval ::widgets::$site_3_0.02 {
386
        array set save {-cursor 1 -state 1 -textvariable 1}
387
    }
388
    namespace eval ::widgets::$base.cpd60 {
389
        array set save {-_tooltip 1 -command 1 -text 1}
390
    }
391
    namespace eval ::widgets::$base.but60 {
392
        array set save {-_tooltip 1 -command 1 -text 1}
393
    }
394
    namespace eval ::widgets::$base.but61 {
395
        array set save {-_tooltip 1 -command 1 -text 1}
396
    }
397
    namespace eval ::widgets::$base.but62 {
398
        array set save {-_tooltip 1 -command 1 -text 1}
399
    }
400
    namespace eval ::widgets::$base.but64 {
401
        array set save {-command 1 -text 1}
402
    }
403
    namespace eval ::widgets_bindings {
404
        set tagslist {_TopLevel _vTclBalloon}
405
    }
406
    namespace eval ::vTcl::modules::main {
407
        set procs {
408
            init
409
            main
410
            _act:log
411
            lls
412
            docmd
413
            runsyn
414
            runflow
415
            runpr
416
            runsim
417
            simbuild
418
            simclean
419
            synclean
420
            prclean
421
        }
422
        set compounds {
423
        }
424
        set projectType single
425
    }
426
}
427
}
428
 
429
#################################
430
# USER DEFINED PROCEDURES
431
#
432
#############################################################################
433
## Procedure:  main
434
 
435
proc ::main {argc argv} {
436
global grproject project_name synbatch prbatch simprog simmenu
437
global simbatch syntool synmenu prmenu prtool prbatch
438
global board tech device
439
 
440
set grproject [lindex $argv 0]
441
set tech [lindex $argv 1]
442
set device [lindex $argv 2]
443
set board [lindex $argv 3]
444
 
445
set project_name $grproject
446
 
447
set synbatch 0
448
set syntool "synplify"
449
set synmenu "Synplify"
450
set prbatch 0
451
set simprog "vsim"
452
set simmenu "Modelsim"
453
set simbatch 0
454
set prbatch 0
455
set prmenu "None"
456
set prtool "none"
457
}
458
#############################################################################
459
## Procedure:  _act:log
460
 
461
proc ::_act:log {} {
462
global widget
463
 
464
  global input run_next_cmd
465
  if [eof $input] {
466
    catch [close $input]
467
    set run_next_cmd 1
468
  } else {
469
    gets $input line
470
    Text2 insert end $line\n
471
    Text2 see end
472
  }
473
}
474
#############################################################################
475
## Procedure:  lls
476
 
477
proc ::lls {} {
478
global widget
479
 
480
global input run_next_cmd
481
 
482
    variable command "ls -l"
483
    if [catch {open "|$command "} input] {
484
      Text2 insert end "Can't find the executable.\n"
485
    } else {
486
      set run_next_cmd 0
487
      fileevent $input readable {_act:log}
488
      Text2 insert end $command\n
489
      vwait run_next_cmd
490
    }
491
}
492
#############################################################################
493
## Procedure:  docmd
494
 
495
proc ::docmd {cmd} {
496
global widget
497
 
498
global input run_next_cmd
499
 
500
    variable command $cmd
501
    if [catch {open "|$command "} input] {
502
      Text2 insert end "Can't find the executable.\n"
503
    } else {
504
      set run_next_cmd 0
505
      fileevent $input readable {_act:log}
506
      Text2 insert end $command\n
507
      vwait run_next_cmd
508
    }
509
}
510
#############################################################################
511
## Procedure:  runsyn
512
 
513
proc ::runsyn {} {
514
global widget grproject syntool synbatch
515
 
516
  if {$synbatch == "0"} {
517
    docmd "make $syntool-launch"
518
  } else {
519
    docmd "make $syntool-map"
520
  }
521
}
522
#############################################################################
523
## Procedure:  runflow
524
 
525
proc ::runflow {} {
526
global widget grproject syntool synbatch prtool
527
 
528
  switch $syntool {
529
    "synplify" {
530
      switch $prtool {
531
        "none" {docmd "make synplify"}
532
        "designer" {docmd "fpgaax"}
533
        "quartus" {docmd "make fpgaq"}
534
        "ise" {docmd "make fpgasynp"}
535
      }
536
    }
537
    "xst" {
538
      switch $prtool {
539
        "none" {docmd "make xst"}
540
        "ise" {docmd "make fpgaxst"}
541
        default {}
542
      }
543
    }
544
    default {}
545
  }
546
}
547
#############################################################################
548
## Procedure:  runpr
549
 
550
proc ::runpr {} {
551
global widget grproject syntool prbatch prtool
552
 
553
if {$prbatch == "0"} {
554
  switch $prtool {
555
    "actel" { docmd "make actel-launch"}
556
    "quartus" {
557
      if {$syntool == "synplify"} {docmd "make quartus-launch-synp"}
558
      if {$syntool == "quartus"} {docmd "make quartus-launch"}
559
     }
560
    "ise" {
561
      if {$syntool == "synplify"} {docmd "make ise-launch-synp"}
562
      if {$syntool == "xst"} {docmd "make ise-launch"}
563
    }
564
  }
565
}
566
 
567
if {$prbatch != "0"} {
568
  switch $prtool {
569
    "actel" { docmd "make actel"}
570
    "quartus" {
571
      if {$syntool == "synplify"} {docmd "make quartus-synp"}
572
      if {$syntool == "quartus"} {docmd "make quartus-route"}
573
    }
574
    "ise" {
575
      if {$syntool == "synplify"} {docmd "make ise-synp"}
576
      if {$syntool == "xst"} {docmd "make ise"}
577
    }
578
  }
579
}
580
}
581
#############################################################################
582
## Procedure:  runsim
583
 
584
proc ::runsim {} {
585
global widget grproject simprog simbatch
586
 
587
  if {$simbatch == "0"} {
588
    docmd "make $simprog-launch"
589
  } else {
590
    docmd "make $simprog-run"
591
  }
592
}
593
#############################################################################
594
## Procedure:  simbuild
595
 
596
proc ::simbuild {} {
597
global widget grproject simprog simbatch
598
 
599
docmd "make $simprog"
600
}
601
#############################################################################
602
## Procedure:  simclean
603
 
604
proc ::simclean {} {
605
global widget grproject simprog simbatch
606
 
607
docmd "make $simprog-clean"
608
}
609
#############################################################################
610
## Procedure:  synclean
611
 
612
proc ::synclean {} {
613
global widget grproject syntool synbatch
614
 
615
  docmd "make $syntool-clean"
616
}
617
#############################################################################
618
## Procedure:  prclean
619
 
620
proc ::prclean {} {
621
global widget grproject prtool synbatch
622
 
623
  docmd "make $prtool-clean"
624
}
625
 
626
#############################################################################
627
## Initialization Procedure:  init
628
 
629
proc ::init {argc argv} {
630
global input run_next_cmd grproject
631
 
632
set run_next_cmd 1
633
}
634
 
635
init $argc $argv
636
 
637
#################################
638
# VTCL GENERATED GUI PROCEDURES
639
#
640
 
641
proc vTclWindow. {base} {
642
    if {$base == ""} {
643
        set base .
644
    }
645
    ###################
646
    # CREATING WIDGETS
647
    ###################
648
    wm focusmodel $top passive
649
    wm geometry $top 1x1+0+0; update
650
    wm maxsize $top 1265 994
651
    wm minsize $top 1 1
652
    wm overrideredirect $top 0
653
    wm resizable $top 1 1
654
    wm withdraw $top
655
    wm title $top "vtcl.tcl"
656
    bindtags $top "$top Vtcl.tcl all"
657
    vTcl:FireEvent $top <<Create>>
658
    wm protocol $top WM_DELETE_WINDOW "vTcl:FireEvent $top <<DeleteWindow>>"
659
 
660
    ###################
661
    # SETTING GEOMETRY
662
    ###################
663
 
664
    vTcl:FireEvent $base <<Ready>>
665
}
666
 
667
proc vTclWindow.top60 {base} {
668
    if {$base == ""} {
669
        set base .top60
670
    }
671
    if {[winfo exists $base]} {
672
        wm deiconify $base; return
673
    }
674
    set top $base
675
    ###################
676
    # CREATING WIDGETS
677
    ###################
678
    vTcl:toplevel $top -class Toplevel \
679
        -menu "$top.m78" -highlightcolor black
680
    wm focusmodel $top passive
681
    wm geometry $top 609x477+358+121; update
682
    wm maxsize $top 1009 738
683
    wm minsize $top 1 1
684
    wm overrideredirect $top 0
685
    wm resizable $top 1 1
686
    wm deiconify $top
687
    wm title $top "GRLIB Implementation Tool"
688
    vTcl:DefineAlias "$top" "Toplevel1" vTcl:Toplevel:WidgetProc "" 1
689
    bindtags $top "$top Toplevel all _TopLevel"
690
    vTcl:FireEvent $top <<Create>>
691
    wm protocol $top WM_DELETE_WINDOW "vTcl:FireEvent $top <<DeleteWindow>>"
692
 
693
    menu $top.m78 \
694
        -tearoff 1
695
    $top.m78 add cascade \
696
        -menu "$top.m78.men79" -command {} -label File
697
    set site_3_0 $top.m78
698
    menu $site_3_0.men79 \
699
        -tearoff 0
700
    $site_3_0.men79 add command \
701
        -accelerator Ctrl-Q -command exit -label Quit
702
    frame $top.cpd86 \
703
        -borderwidth 2
704
    vTcl:DefineAlias "$top.cpd86" "Frame3" vTcl:WidgetProc "Toplevel1" 1
705
    set site_3_0 $top.cpd86
706
    frame $site_3_0.01 \
707
        -borderwidth 2 -relief groove -height 98 -width 125
708
    vTcl:DefineAlias "$site_3_0.01" "Frame4" vTcl:WidgetProc "Toplevel1" 1
709
    set site_4_0 $site_3_0.01
710
    frame $site_4_0.fra82 \
711
        -borderwidth 2 -height 10
712
    vTcl:DefineAlias "$site_4_0.fra82" "Frame5" vTcl:WidgetProc "Toplevel1" 1
713
    frame $site_4_0.cpd88 \
714
        -height 219 -width 584
715
    vTcl:DefineAlias "$site_4_0.cpd88" "Frame7" vTcl:WidgetProc "Toplevel1" 1
716
    set site_5_0 $site_4_0.cpd88
717
    scrollbar $site_5_0.01 \
718
        -command "$site_5_0.03 xview" -orient horizontal
719
    vTcl:DefineAlias "$site_5_0.01" "Scrollbar3" vTcl:WidgetProc "Toplevel1" 1
720
    scrollbar $site_5_0.02 \
721
        -command "$site_5_0.03 yview"
722
    vTcl:DefineAlias "$site_5_0.02" "Scrollbar4" vTcl:WidgetProc "Toplevel1" 1
723
    text $site_5_0.03 \
724
        -font {Courier -12} -height 14 -width 80 \
725
        -xscrollcommand "$site_5_0.01 set" -yscrollcommand "$site_5_0.02 set"
726
    vTcl:DefineAlias "$site_5_0.03" "Text2" vTcl:WidgetProc "Toplevel1" 1
727
    grid $site_5_0.01 \
728
        -in $site_5_0 -column 0 -row 1 -columnspan 1 -rowspan 1 -sticky ew
729
    grid $site_5_0.02 \
730
        -in $site_5_0 -column 1 -row 0 -columnspan 1 -rowspan 1 -sticky ns
731
    grid $site_5_0.03 \
732
        -in $site_5_0 -column 0 -row 0 -columnspan 1 -rowspan 1 -sticky nesw
733
    pack $site_4_0.fra82 \
734
        -in $site_4_0 -anchor center -expand 0 -fill none -side top
735
    place $site_4_0.cpd88 \
736
        -in $site_4_0 -x 9 -y 14 -width 584 -height 219 -anchor nw \
737
        -bordermode inside
738
    label $site_3_0.02 \
739
        -borderwidth 1 -text Console
740
    vTcl:DefineAlias "$site_3_0.02" "Label3" vTcl:WidgetProc "Toplevel1" 1
741
    pack $site_3_0.01 \
742
        -in $site_3_0 -anchor center -expand 1 -fill both -padx 5 -pady 5 \
743
        -side top
744
    place $site_3_0.02 \
745
        -in $site_3_0 -x 15 -y 0 -anchor nw -bordermode ignore
746
    button $top.but65 \
747
        -command exit -foreground #ff0000 -text Quit 
748
    vTcl:DefineAlias "$top.but65" "Button3" vTcl:WidgetProc "Toplevel1" 1
749
    labelframe $top.lab61 \
750
        -foreground black -text Simulation -highlightcolor black
751
    vTcl:DefineAlias "$top.lab61" "Labelframe1" vTcl:WidgetProc "Toplevel1" 1
752
    set site_3_0 $top.lab61
753
    button $site_3_0.but62 \
754
        -command runsim -foreground #0000ff -text Run 
755
    vTcl:DefineAlias "$site_3_0.but62" "Button5" vTcl:WidgetProc "Toplevel1" 1
756
    menubutton $site_3_0.men63 \
757
        -menu "$site_3_0.men63.m" -padx 5 -pady 4 -relief raised \
758
        -text Modelsim -textvariable simmenu
759
    vTcl:DefineAlias "$site_3_0.men63" "Menubutton1" vTcl:WidgetProc "Toplevel1" 1
760
    menu $site_3_0.men63.m \
761
        -tearoff 0
762
    $site_3_0.men63.m add command \
763
        \
764
        -command {global simprog simmenu
765
set simprog "vsim"
766
set simmenu "Modelsim"} \
767
        -label Modelsim
768
    $site_3_0.men63.m add command \
769
        \
770
        -command {global simprog simmenu
771
set simprog "ncsim"
772
set simmenu "Ncsim"} \
773
        -label Ncsim
774
    $site_3_0.men63.m add command \
775
        \
776
        -command {global simprog simmenu
777
set simprog "ghdl"
778
set simmenu "GHDL"} \
779
        -label GHDL
780
    $site_3_0.men63.m add command \
781
        \
782
        -command {global simprog simmenu
783
set simprog "libero"
784
set simmenu "Libero"} \
785
        -label Libero
786
    $site_3_0.men63.m add command \
787
        \
788
        -command {global simprog simmenu
789
set simprog "riviera"
790
set simmenu "Riviera"} \
791
        -label Riviera
792
    $site_3_0.men63.m add command \
793
        \
794
        -command {global simprog simmenu
795
set simprog "avhdl"
796
set simmenu "Active-HDL GUI"} \
797
        -label {Active-HDL GUI}
798
    $site_3_0.men63.m add command \
799
        \
800
        -command {global simprog simmenu
801
set simprog "vsimsa"
802
set simmenu "Active-HDL batch"} \
803
        -label {Active-HDL batch}
804
    $site_3_0.men63.m add command \
805
        \
806
        -command {# TODO: Your menu handler hereglobal simprog simmenu
807
set simprog "sonata"
808
set simmenu "Sonata"} \
809
        -label Sonata
810
    button $site_3_0.but74 \
811
        -command simbuild -compound none -default disabled \
812
        -foreground #009900 -height 26 -text Build 
813
    vTcl:DefineAlias "$site_3_0.but74" "Button8" vTcl:WidgetProc "Toplevel1" 1
814
    bindtags $site_3_0.but74 "$site_3_0.but74 Button $top all _vTclBalloon"
815
    bind $site_3_0.but74 <<SetBalloon>> {
816
        set ::vTcl::balloon::%W {compile grlib and local design}
817
    }
818
    checkbutton $site_3_0.che62 \
819
        -disabledforeground #a3a3a3 -text Batch -variable simbatch 
820
    vTcl:DefineAlias "$site_3_0.che62" "Checkbutton1" vTcl:WidgetProc "Toplevel1" 1
821
    button $site_3_0.but63 \
822
        -command simclean -text Clean
823
    vTcl:DefineAlias "$site_3_0.but63" "Button9" vTcl:WidgetProc "Toplevel1" 1
824
    bindtags $site_3_0.but63 "$site_3_0.but63 Button $top all _vTclBalloon"
825
    bind $site_3_0.but63 <<SetBalloon>> {
826
        set ::vTcl::balloon::%W {remove generated files for selected tool}
827
    }
828
    place $site_3_0.but62 \
829
        -in $site_3_0 -x 125 -y 20 -width 49 -height 26 -anchor nw \
830
        -bordermode ignore
831
    place $site_3_0.men63 \
832
        -in $site_3_0 -x 10 -y 20 -width 101 -height 26 -anchor nw \
833
        -bordermode ignore
834
    place $site_3_0.but74 \
835
        -in $site_3_0 -x 331 -y 20 -width 50 -height 26 -anchor nw \
836
        -bordermode ignore
837
    place $site_3_0.che62 \
838
        -in $site_3_0 -x 189 -y 22 -width 61 -height 22 -anchor nw \
839
        -bordermode ignore
840
    place $site_3_0.but63 \
841
        -in $site_3_0 -x 261 -y 20 -width 58 -height 26 -anchor nw \
842
        -bordermode ignore
843
    labelframe $top.lab67 \
844
        -foreground black -text {Place & route} -highlightcolor black
845
    vTcl:DefineAlias "$top.lab67" "Labelframe2" vTcl:WidgetProc "Toplevel1" 1
846
    set site_3_0 $top.lab67
847
    menubutton $site_3_0.men68 \
848
        -menu "$site_3_0.men68.m" -padx 5 -pady 4 -relief raised -text None \
849
        -textvariable prmenu
850
    vTcl:DefineAlias "$site_3_0.men68" "Menubutton3" vTcl:WidgetProc "Toplevel1" 1
851
    menu $site_3_0.men68.m \
852
        -tearoff 0
853
    $site_3_0.men68.m add command \
854
        -command {global prmenu prtool
855
set prmenu "None"
856
set prtool "none"} \
857
        -label None
858
    $site_3_0.men68.m add command \
859
        \
860
        -command {global prmenu prtool
861
set prmenu "Actel Designer"
862
set prtool "actel"} \
863
        -label {Actel Designer}
864
    $site_3_0.men68.m add command \
865
        \
866
        -command {global prmenu prtool
867
set prmenu "Quartus"
868
set prtool "quartus"} \
869
        -label Quartus
870
    $site_3_0.men68.m add command \
871
        \
872
        -command {global prmenu prtool
873
set prmenu "Xilinx ISE"
874
set prtool "ise"} \
875
        -label {Xilinx ISE}
876
    button $site_3_0.but69 \
877
        -command runpr -foreground #0000ff -text Run 
878
    vTcl:DefineAlias "$site_3_0.but69" "Button6" vTcl:WidgetProc "Toplevel1" 1
879
    checkbutton $site_3_0.che70 \
880
        -text Batch -variable prbatch
881
    vTcl:DefineAlias "$site_3_0.che70" "Checkbutton2" vTcl:WidgetProc "Toplevel1" 1
882
    button $site_3_0.but61 \
883
        -command prclean -text Clean
884
    vTcl:DefineAlias "$site_3_0.but61" "Button2" vTcl:WidgetProc "Toplevel1" 1
885
    bindtags $site_3_0.but61 "$site_3_0.but61 Button $top all _vTclBalloon"
886
    bind $site_3_0.but61 <<SetBalloon>> {
887
        set ::vTcl::balloon::%W {remove generated files for selected tool}
888
    }
889
    place $site_3_0.men68 \
890
        -in $site_3_0 -x 10 -y 20 -width 101 -height 26 -anchor nw \
891
        -bordermode ignore
892
    place $site_3_0.but69 \
893
        -in $site_3_0 -x 125 -y 20 -width 49 -height 26 -anchor nw \
894
        -bordermode ignore
895
    place $site_3_0.che70 \
896
        -in $site_3_0 -x 185 -y 20 -width 61 -height 22 -anchor nw \
897
        -bordermode ignore
898
    place $site_3_0.but61 \
899
        -in $site_3_0 -x 261 -y 20 -width 58 -height 26 -anchor nw \
900
        -bordermode ignore
901
    labelframe $top.lab71 \
902
        -foreground black -text Synthesis -highlightcolor black
903
    vTcl:DefineAlias "$top.lab71" "Labelframe3" vTcl:WidgetProc "Toplevel1" 1
904
    set site_3_0 $top.lab71
905
    menubutton $site_3_0.men72 \
906
        -menu "$site_3_0.men72.m" -padx 5 -pady 4 -relief raised \
907
        -text Synplify -textvariable synmenu
908
    vTcl:DefineAlias "$site_3_0.men72" "Menubutton2" vTcl:WidgetProc "Toplevel1" 1
909
    menu $site_3_0.men72.m \
910
        -tearoff 0
911
    $site_3_0.men72.m add command \
912
        \
913
        -command {global synmenu syntool
914
set synmenu "Synplify"
915
set syntool "synplify"} \
916
        -label Synplify
917
    $site_3_0.men72.m add command \
918
        \
919
        -command {global synmenu syntool
920
set synmenu "Quartus"
921
set syntool "quartus"} \
922
        -label Quartus
923
    $site_3_0.men72.m add command \
924
        \
925
        -command {global synmenu syntool
926
set synmenu "Xilinx ISE"
927
set syntool "xst"} \
928
        -label {Xilinx ISE}
929
    $site_3_0.men72.m add command \
930
        \
931
        -command {global synmenu syntool
932
set synmenu "Precision"
933
set syntool "precision"} \
934
        -label Precision
935
    $site_3_0.men72.m add command \
936
        \
937
        -command {global synmenu syntool
938
set synmenu "Libero"
939
set syntool "libero"} \
940
        -label Libero
941
    button $site_3_0.but73 \
942
        -command runsyn -foreground #0000ff -text Run 
943
    vTcl:DefineAlias "$site_3_0.but73" "Button7" vTcl:WidgetProc "Toplevel1" 1
944
    checkbutton $site_3_0.che75 \
945
        -text Batch -variable synbatch
946
    vTcl:DefineAlias "$site_3_0.che75" "Checkbutton3" vTcl:WidgetProc "Toplevel1" 1
947
    button $site_3_0.but60 \
948
        -command synclean -text Clean
949
    vTcl:DefineAlias "$site_3_0.but60" "Button1" vTcl:WidgetProc "Toplevel1" 1
950
    bindtags $site_3_0.but60 "$site_3_0.but60 Button $top all _vTclBalloon"
951
    bind $site_3_0.but60 <<SetBalloon>> {
952
        set ::vTcl::balloon::%W {remove generated files for selected tool}
953
    }
954
    place $site_3_0.men72 \
955
        -in $site_3_0 -x 10 -y 20 -width 101 -height 26 -anchor nw \
956
        -bordermode ignore
957
    place $site_3_0.but73 \
958
        -in $site_3_0 -x 125 -y 20 -width 49 -height 26 -anchor nw \
959
        -bordermode ignore
960
    place $site_3_0.che75 \
961
        -in $site_3_0 -x 187 -y 21 -width 61 -height 22 -anchor nw \
962
        -bordermode ignore
963
    place $site_3_0.but60 \
964
        -in $site_3_0 -x 261 -y 20 -width 58 -height 26 -anchor nw \
965
        -bordermode ignore
966
    frame $top.cpd77 \
967
        -borderwidth 1 -height 30
968
    vTcl:DefineAlias "$top.cpd77" "Frame6" vTcl:WidgetProc "Toplevel1" 1
969
    set site_3_0 $top.cpd77
970
    label $site_3_0.01 \
971
        -anchor w -text Tech:
972
    vTcl:DefineAlias "$site_3_0.01" "Label2" vTcl:WidgetProc "Toplevel1" 1
973
    entry $site_3_0.02 \
974
        -cursor {} -state readonly -textvariable tech
975
    vTcl:DefineAlias "$site_3_0.02" "Entry2" vTcl:WidgetProc "Toplevel1" 1
976
    pack $site_3_0.01 \
977
        -in $site_3_0 -anchor center -expand 0 -fill none -padx 2 -pady 2 \
978
        -side left
979
    pack $site_3_0.02 \
980
        -in $site_3_0 -anchor center -expand 1 -fill x -padx 2 -pady 2 \
981
        -side right
982
    frame $top.cpd78 \
983
        -borderwidth 1 -height 30
984
    vTcl:DefineAlias "$top.cpd78" "Frame8" vTcl:WidgetProc "Toplevel1" 1
985
    set site_3_0 $top.cpd78
986
    label $site_3_0.01 \
987
        -anchor w -text Device:
988
    vTcl:DefineAlias "$site_3_0.01" "Label4" vTcl:WidgetProc "Toplevel1" 1
989
    entry $site_3_0.02 \
990
        -cursor {} -state readonly -textvariable device
991
    vTcl:DefineAlias "$site_3_0.02" "Entry3" vTcl:WidgetProc "Toplevel1" 1
992
    pack $site_3_0.01 \
993
        -in $site_3_0 -anchor center -expand 0 -fill none -padx 2 -pady 2 \
994
        -side left
995
    pack $site_3_0.02 \
996
        -in $site_3_0 -anchor center -expand 1 -fill x -padx 2 -pady 2 \
997
        -side right
998
    frame $top.cpd79 \
999
        -borderwidth 1 -height 30
1000
    vTcl:DefineAlias "$top.cpd79" "Frame9" vTcl:WidgetProc "Toplevel1" 1
1001
    set site_3_0 $top.cpd79
1002
    label $site_3_0.01 \
1003
        -anchor w -text Board:
1004
    vTcl:DefineAlias "$site_3_0.01" "Label6" vTcl:WidgetProc "Toplevel1" 1
1005
    entry $site_3_0.02 \
1006
        -cursor {} -state readonly -textvariable board
1007
    vTcl:DefineAlias "$site_3_0.02" "Entry4" vTcl:WidgetProc "Toplevel1" 1
1008
    pack $site_3_0.01 \
1009
        -in $site_3_0 -anchor center -expand 0 -fill none -padx 2 -pady 2 \
1010
        -side left
1011
    pack $site_3_0.02 \
1012
        -in $site_3_0 -anchor center -expand 1 -fill x -padx 2 -pady 2 \
1013
        -side right
1014
    frame $top.cpd80 \
1015
        -borderwidth 1 -height 30
1016
    vTcl:DefineAlias "$top.cpd80" "Frame10" vTcl:WidgetProc "Toplevel1" 1
1017
    set site_3_0 $top.cpd80
1018
    label $site_3_0.01 \
1019
        -anchor w -text Project:
1020
    vTcl:DefineAlias "$site_3_0.01" "Label5" vTcl:WidgetProc "Toplevel1" 1
1021
    entry $site_3_0.02 \
1022
        -cursor {} -state readonly -textvariable project_name
1023
    vTcl:DefineAlias "$site_3_0.02" "Entry1" vTcl:WidgetProc "Toplevel1" 1
1024
    pack $site_3_0.01 \
1025
        -in $site_3_0 -anchor center -expand 0 -fill none -padx 2 -pady 2 \
1026
        -side left
1027
    pack $site_3_0.02 \
1028
        -in $site_3_0 -anchor center -expand 1 -fill x -padx 2 -pady 2 \
1029
        -side right
1030
    button $top.cpd60 \
1031
        -command {docmd "make xconfig"} -text xconfig
1032
    vTcl:DefineAlias "$top.cpd60" "Button4" vTcl:WidgetProc "Toplevel1" 1
1033
    bindtags $top.cpd60 "$top.cpd60 Button $top all _vTclBalloon"
1034
    bind $top.cpd60 <<SetBalloon>> {
1035
        set ::vTcl::balloon::%W {run grlib/leon3 configuration tool}
1036
    }
1037
    button $top.but60 \
1038
        -command {docmd "make ise-prog-prom"} -text {prog prom}
1039
    vTcl:DefineAlias "$top.but60" "buildvermod" vTcl:WidgetProc "Toplevel1" 1
1040
    bindtags $top.but60 "$top.but60 Button $top all _vTclBalloon"
1041
    bind $top.but60 <<SetBalloon>> {
1042
        set ::vTcl::balloon::%W {Program FPGA prom}
1043
    }
1044
    button $top.but61 \
1045
        -command {docmd "make clean"} -text {clean all}
1046
    vTcl:DefineAlias "$top.but61" "Button10" vTcl:WidgetProc "Toplevel1" 1
1047
    bindtags $top.but61 "$top.but61 Button $top all _vTclBalloon"
1048
    bind $top.but61 <<SetBalloon>> {
1049
        set ::vTcl::balloon::%W {remove all generated files except compile scripts}
1050
    }
1051
    button $top.but62 \
1052
        -command {docmd "make distclean"} -text distclean
1053
    vTcl:DefineAlias "$top.but62" "Button11" vTcl:WidgetProc "Toplevel1" 1
1054
    bindtags $top.but62 "$top.but62 Button $top all _vTclBalloon"
1055
    bind $top.but62 <<SetBalloon>> {
1056
        set ::vTcl::balloon::%W {remove all generated file}
1057
    }
1058
    button $top.but64 \
1059
        -command {docmd "make scripts"} -text scripts
1060
    vTcl:DefineAlias "$top.but64" "Button12" vTcl:WidgetProc "Toplevel1" 1
1061
    ###################
1062
    # SETTING GEOMETRY
1063
    ###################
1064
    place $top.cpd86 \
1065
        -in $top -x 0 -y 220 -width 612 -height 254 -anchor nw \
1066
        -bordermode inside
1067
    place $top.but65 \
1068
        -in $top -x 528 -y 60 -width 66 -height 26 -anchor nw \
1069
        -bordermode ignore
1070
    place $top.lab61 \
1071
        -in $top -x 20 -y 10 -width 396 -height 56 -anchor nw \
1072
        -bordermode ignore
1073
    place $top.lab67 \
1074
        -in $top -x 20 -y 150 -width 336 -height 56 -anchor nw \
1075
        -bordermode ignore
1076
    place $top.lab71 \
1077
        -in $top -x 20 -y 80 -width 336 -height 56 -anchor nw \
1078
        -bordermode ignore
1079
    place $top.cpd77 \
1080
        -in $top -x 404 -y 133 -width 197 -height 28 -anchor nw \
1081
        -bordermode ignore
1082
    place $top.cpd78 \
1083
        -in $top -x 392 -y 161 -width 209 -height 28 -anchor nw \
1084
        -bordermode ignore
1085
    place $top.cpd79 \
1086
        -in $top -x 398 -y 189 -width 203 -height 28 -anchor nw \
1087
        -bordermode ignore
1088
    place $top.cpd80 \
1089
        -in $top -x 391 -y 105 -width 210 -height 28 -anchor nw \
1090
        -bordermode ignore
1091
    place $top.cpd60 \
1092
        -in $top -x 528 -y 10 -width 66 -height 26 -anchor nw \
1093
        -bordermode ignore
1094
    place $top.but60 \
1095
        -in $top -x 450 -y 10 -width 79 -height 26 -anchor nw \
1096
        -bordermode ignore
1097
    place $top.but61 \
1098
        -in $top -x 450 -y 35 -width 79 -height 26 -anchor nw \
1099
        -bordermode ignore
1100
    place $top.but62 \
1101
        -in $top -x 450 -y 60 -width 79 -height 26 -anchor nw \
1102
        -bordermode ignore
1103
    place $top.but64 \
1104
        -in $top -x 528 -y 35 -width 66 -height 26 -anchor nw \
1105
        -bordermode ignore
1106
 
1107
    vTcl:FireEvent $base <<Ready>>
1108
}
1109
 
1110
#############################################################################
1111
## Binding tag:  _TopLevel
1112
 
1113
bind "_TopLevel" <<Create>> {
1114
    if {![info exists _topcount]} {set _topcount 0}; incr _topcount
1115
}
1116
bind "_TopLevel" <<DeleteWindow>> {
1117
    if {[set ::%W::_modal]} {
1118
                vTcl:Toplevel:WidgetProc %W endmodal
1119
            } else {
1120
                destroy %W; if {$_topcount == 0} {exit}
1121
            }
1122
}
1123
bind "_TopLevel" <Destroy> {
1124
    if {[winfo toplevel %W] == "%W"} {incr _topcount -1}
1125
}
1126
#############################################################################
1127
## Binding tag:  _vTclBalloon
1128
 
1129
 
1130
if {![info exists vTcl(sourcing)]} {
1131
bind "_vTclBalloon" <<KillBalloon>> {
1132
    namespace eval ::vTcl::balloon {
1133
        after cancel $id
1134
        if {[winfo exists .vTcl.balloon]} {
1135
            destroy .vTcl.balloon
1136
        }
1137
        set set 0
1138
    }
1139
}
1140
bind "_vTclBalloon" <<vTclBalloon>> {
1141
    if {$::vTcl::balloon::first != 1} {break}
1142
 
1143
    namespace eval ::vTcl::balloon {
1144
        set first 2
1145
        if {![winfo exists .vTcl]} {
1146
            toplevel .vTcl; wm withdraw .vTcl
1147
        }
1148
        if {![winfo exists .vTcl.balloon]} {
1149
            toplevel .vTcl.balloon -bg black
1150
        }
1151
        wm overrideredirect .vTcl.balloon 1
1152
        label .vTcl.balloon.l  -text ${%W} -relief flat  -bg #ffffaa -fg black -padx 2 -pady 0 -anchor w
1153
        pack .vTcl.balloon.l -side left -padx 1 -pady 1
1154
        wm geometry  .vTcl.balloon  +[expr {[winfo rootx %W]+[winfo width %W]/2}]+[expr {[winfo rooty %W]+[winfo height %W]+4}]
1155
        set set 1
1156
    }
1157
}
1158
bind "_vTclBalloon" <Button> {
1159
    namespace eval ::vTcl::balloon {
1160
        set first 0
1161
    }
1162
    vTcl:FireEvent %W <<KillBalloon>>
1163
}
1164
bind "_vTclBalloon" <Enter> {
1165
    namespace eval ::vTcl::balloon {
1166
        ## self defining balloon?
1167
        if {![info exists %W]} {
1168
            vTcl:FireEvent %W <<SetBalloon>>
1169
        }
1170
        set set 0
1171
        set first 1
1172
        set id [after 500 {vTcl:FireEvent %W <<vTclBalloon>>}]
1173
    }
1174
}
1175
bind "_vTclBalloon" <Leave> {
1176
    namespace eval ::vTcl::balloon {
1177
        set first 0
1178
    }
1179
    vTcl:FireEvent %W <<KillBalloon>>
1180
}
1181
bind "_vTclBalloon" <Motion> {
1182
    namespace eval ::vTcl::balloon {
1183
        if {!$set} {
1184
            after cancel $id
1185
            set id [after 500 {vTcl:FireEvent %W <<vTclBalloon>>}]
1186
        }
1187
    }
1188
}
1189
}
1190
 
1191
Window show .
1192
Window show .top60
1193
 
1194
main $argc $argv

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.