modernization of symgen.awk, fine tuning of create_symbol.tcl

This commit is contained in:
stefan schippers 2024-04-12 01:44:48 +02:00
parent 6a4131699a
commit 9c766c5260
3 changed files with 17 additions and 15 deletions

View File

@ -34,7 +34,7 @@ proc create_symbol {name {in {}} {out {}} {inout {}}} {
set y 0
foreach pin $in { ;# create all input pins on the left
puts $fd "B 5 [expr {$x - 2.5}] [expr {$y - 2.5}] [expr {$x + 2.5}] [expr {$y + 2.5}] {name=$pin dir=in}"
puts $fd "T {$pin} [expr {$x + 25}] [expr {$y - 4}] 0 0 0.2 0.2 {}"
puts $fd "T {$pin} [expr {$x + 25}] [expr {$y - 6}] 0 0 0.2 0.2 {}"
puts $fd "L 4 $x $y [expr {$x + 20}] $y {}"
incr y 20
}
@ -42,13 +42,13 @@ proc create_symbol {name {in {}} {out {}} {inout {}}} {
set y 0
foreach pin $out { ;# create all out pins on the top right
puts $fd "B 5 [expr {$x - 2.5}] [expr {$y - 2.5}] [expr {$x + 2.5}] [expr {$y + 2.5}] {name=$pin dir=out}"
puts $fd "T {$pin} [expr {$x - 25}] [expr {$y - 4}] 0 1 0.2 0.2 {}"
puts $fd "T {$pin} [expr {$x - 25}] [expr {$y - 6}] 0 1 0.2 0.2 {}"
puts $fd "L 4 [expr {$x - 20}] $y $x $y {}"
incr y 20
}
foreach pin $inout { ;# create all inout pins on the bottom right
puts $fd "B 5 [expr {$x - 2.5}] [expr {$y - 2.5}] [expr {$x + 2.5}] [expr {$y + 2.5}] {name=$pin dir=inout}"
puts $fd "T {$pin} [expr {$x - 25}] [expr {$y - 4}] 0 1 0.2 0.2 {}"
puts $fd "T {$pin} [expr {$x - 25}] [expr {$y - 6}] 0 1 0.2 0.2 {}"
puts $fd "L 7 [expr {$x - 20}] $y $x $y {}"
incr y 20
}

View File

@ -323,9 +323,9 @@ END{
for(l = 0; l < label["n"]; l++) {
dbg("label: " l " : " label[l])
labx = (symbolx1 + symbolx2) / 2 - length(label[l]) * labelcharspacing /2
labx = (symbolx1 + symbolx2) / 2
laby = (symboly1 + symboly2) / 2 + ( l - label["n"] / 2 ) * labelspacing + labelcenteroffset
text(label[l], labx, laby, 0, 0, labeltextsize, "")
text(label[l], labx, laby, 0, 0, labeltextsize, "hcenter=1")
}
}
@ -388,7 +388,7 @@ function text(t, x, y, rot, flip, size, props)
function attrs(a)
{
print "G {" esc(a) "}"
print "K {" esc(a) "}"
}
function header()

View File

@ -1,16 +1,18 @@
[labels]
TEST SYMBOL
STEFAN SCHIPPERS
@symname
@name
! type=subcircuit
! format="@name @pinlist @model"
! format="@name @pinlist @symname"
! template="name=X1"
--hide_pinnumber
--auto_pinnumber
[left]
1 i D
2 i RST
3 i>! CLK
i D
i RST
i>! CLK
[right]
4 o QB
o QB
[top]
5 io VCC
io VCC
[bottom]
6 io VSS
io VSS