lapinuelle / PetriLogicSimulatorProject

Logic simulator based on Petri Nets Algorithm
0 stars 0 forks source link

2bit_shift $DUP0 #25

Closed TopGun-DICD closed 6 years ago

TopGun-DICD commented 6 years ago

Косяк возникает от того, что в схеме есть два инстанса триггера, в разных инстансах триггера есть узлы с одинаковыми именами (net0, net1 и т.д.), в итоге в VCD они попадают несколько раз (строки 6 и 13, 7 и 14 и т.д.):

$scope module logic $end $var wire 1 ! C $end $var wire 1 " D $end $var wire 1 # Q1 $end $var wire 1 $ Q2 $end $var wire 1 % net0 $end $var wire 1 & net1 $end $var wire 1 ' net2 $end $var wire 1 ( net3 $end $var wire 1 ) net4 $end $var wire 1 * net5 $end $var wire 1 + net6 $end $var wire 1 , net0 $end $var wire 1 - net1 $end $var wire 1 . net2 $end $var wire 1 / net3 $end $var wire 1 0 net4 $end $var wire 1 1 net5 $end $var wire 1 2 net6 $end $var wire 1 3 nQ1 $end $var wire 1 4 nQ2 $end $upscope $end

Сокращать имена узлов во время вывода нельзя, только выводить целиком, с учётом иерархии, по крайней мере пока не сделаю нормальный VCD.