diff options
Diffstat (limited to '')
| -rw-r--r-- | library.rb | 4 | ||||
| -rwxr-xr-x | test.rb | 8 |
2 files changed, 6 insertions, 6 deletions
| @@ -26,7 +26,7 @@ $ic = "TSSOP" | |||
| 26 | 26 | ||
| 27 | def define_ic(name, value, pincount, *subparts, &automatic) | 27 | def define_ic(name, value, pincount, *subparts, &automatic) |
| 28 | parts = [] | 28 | parts = [] |
| 29 | proc do | 29 | define_singleton_method(name, lambda do |
| 30 | if parts.size < 1 | 30 | if parts.size < 1 |
| 31 | ic = comp("U", "#{$ic}-#{pincount}", name, value) | 31 | ic = comp("U", "#{$ic}-#{pincount}", name, value) |
| 32 | automatic.call(ic) | 32 | automatic.call(ic) |
| @@ -46,7 +46,7 @@ def define_ic(name, value, pincount, *subparts, &automatic) | |||
| 46 | end | 46 | end |
| 47 | end | 47 | end |
| 48 | parts.shift | 48 | parts.shift |
| 49 | end | 49 | end) |
| 50 | end | 50 | end |
| 51 | 51 | ||
| 52 | def stock_ic(name, value, &automatic) | 52 | def stock_ic(name, value, &automatic) |
| @@ -7,13 +7,13 @@ nl = Lace::Netlist.new do | |||
| 7 | vcc = net("vcc") | 7 | vcc = net("vcc") |
| 8 | gnd = net("gnd") | 8 | gnd = net("gnd") |
| 9 | 9 | ||
| 10 | define_singleton_method(:inverter, stock_ic("inverter", "CD74HC04") do | ic | | 10 | stock_ic("inverter", "CD74HC04") do | ic | |
| 11 | vcc - ic[14] - c("100nF") - ic[7] - gnd | 11 | vcc - ic[14] - c("100nF") - ic[7] - gnd |
| 12 | end) | 12 | end |
| 13 | 13 | ||
| 14 | define_singleton_method(:nand, stock_ic("nand", "CD74HC00") do | ic | | 14 | stock_ic("nand", "CD74HC00") do | ic | |
| 15 | vcc - ic[14] - c("100nF") - ic[7] - gnd | 15 | vcc - ic[14] - c("100nF") - ic[7] - gnd |
| 16 | end) | 16 | end |
| 17 | 17 | ||
| 18 | g = net("g") | 18 | g = net("g") |
| 19 | o = net("o") | 19 | o = net("o") |
