diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md old mode 100755 new mode 100644 diff --git a/LICENSE b/LICENSE old mode 100755 new mode 100644 diff --git a/Log.txt b/Log.txt new file mode 100644 index 0000000..485b511 --- /dev/null +++ b/Log.txt @@ -0,0 +1,6 @@ +Log Report (input.txt) + 1 Errors Detected + +Error: Line 3 + operands of 'ADDS' not detected + diff --git a/README.md b/README.md old mode 100755 new mode 100644 diff --git a/bitbucket-pipelines.yml b/bitbucket-pipelines.yml old mode 100755 new mode 100644 diff --git a/distribution/Assembly.xml b/distribution/Assembly.xml old mode 100755 new mode 100644 diff --git a/distribution/Download.svg b/distribution/Download.svg old mode 100755 new mode 100644 diff --git a/distribution/ReleaseNotes.txt b/distribution/ReleaseNotes.txt old mode 100755 new mode 100644 diff --git a/distribution/Version.txt b/distribution/Version.txt old mode 100755 new mode 100644 diff --git a/distribution/Windows_Read.me b/distribution/Windows_Read.me old mode 100755 new mode 100644 diff --git a/distribution/_ReadMeFirst.html b/distribution/_ReadMeFirst.html old mode 100755 new mode 100644 diff --git a/distribution/checklist.txt b/distribution/checklist.txt old mode 100755 new mode 100644 diff --git a/distribution/l4jconfig.xml b/distribution/l4jconfig.xml old mode 100755 new mode 100644 diff --git a/distribution/l4jconfig_noD3D.xml b/distribution/l4jconfig_noD3D.xml old mode 100755 new mode 100644 diff --git a/distribution/screenshot.png b/distribution/screenshot.png old mode 100755 new mode 100644 diff --git a/distribution/screenshot2.png b/distribution/screenshot2.png old mode 100755 new mode 100644 diff --git a/distribution/screenshot3.png b/distribution/screenshot3.png old mode 100755 new mode 100644 diff --git a/input.txt b/input.txt new file mode 100644 index 0000000..2e11a4f --- /dev/null +++ b/input.txt @@ -0,0 +1,4 @@ +charlie: ANDI X27, X19, #128 +ADDI X3,X6 #89 +ADDS X8,X +ADDI X3,X6,#89 \ No newline at end of file diff --git a/output.txt b/output.txt new file mode 100644 index 0000000..9984a69 --- /dev/null +++ b/output.txt @@ -0,0 +1,4 @@ +10010010000000100000001001111011 +10010001000000010110010011000011 +ERROR: operands not detected +10010001000000010110010011000011 diff --git a/pom.xml b/pom.xml old mode 100755 new mode 100644 diff --git a/src/META-INF/MANIFEST.MF b/src/META-INF/MANIFEST.MF new file mode 100644 index 0000000..d6d7c8c --- /dev/null +++ b/src/META-INF/MANIFEST.MF @@ -0,0 +1,3 @@ +Manifest-Version: 1.0 +Main-Class: de.neemann.digiblock.gui.Main + diff --git a/src/main/dig/74xx/CrazySmallCPU.dig b/src/main/dig/74xx/CrazySmallCPU.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/74xx/counter.dig b/src/main/dig/74xx/counter.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/74xx/decimalCounter.dig b/src/main/dig/74xx/decimalCounter.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/74xx/hexCounter.dig b/src/main/dig/74xx/hexCounter.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/74xx/trafic.dig b/src/main/dig/74xx/trafic.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/74xx/traficDiode.dig b/src/main/dig/74xx/traficDiode.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/74xx/traficDiodeInv.dig b/src/main/dig/74xx/traficDiodeInv.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/74xx/traficInv.dig b/src/main/dig/74xx/traficInv.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/74xx/xor.dig b/src/main/dig/74xx/xor.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/CAS_RAS.dig b/src/main/dig/cmos/CAS_RAS.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/and.dig b/src/main/dig/cmos/and.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/d-tg-ff.dig b/src/main/dig/cmos/d-tg-ff.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/d-tg-ff2.dig b/src/main/dig/cmos/d-tg-ff2.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/dec.dig b/src/main/dig/cmos/dec.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/eprom.dig b/src/main/dig/cmos/eprom.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/inverter.dig b/src/main/dig/cmos/inverter.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/nand.dig b/src/main/dig/cmos/nand.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/nand3.dig b/src/main/dig/cmos/nand3.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/nor.dig b/src/main/dig/cmos/nor.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/nor3.dig b/src/main/dig/cmos/nor3.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/openDrainBus.dig b/src/main/dig/cmos/openDrainBus.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/or.dig b/src/main/dig/cmos/or.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/prom.dig b/src/main/dig/cmos/prom.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/rom.dig b/src/main/dig/cmos/rom.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/sram.dig b/src/main/dig/cmos/sram.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/sram_simple.dig b/src/main/dig/cmos/sram_simple.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/tristateOut.dig b/src/main/dig/cmos/tristateOut.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/cmos/xor.dig b/src/main/dig/cmos/xor.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Adder8bit.dig b/src/main/dig/combinatorial/Adder8bit.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Bus.dig b/src/main/dig/combinatorial/Bus.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Comp.dig b/src/main/dig/combinatorial/Comp.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Comp7485.dig b/src/main/dig/combinatorial/Comp7485.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Comp7485Parall.dig b/src/main/dig/combinatorial/Comp7485Parall.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/CompEN.dig b/src/main/dig/combinatorial/CompEN.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/CompRC.dig b/src/main/dig/combinatorial/CompRC.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/DemuxCas.dig b/src/main/dig/combinatorial/DemuxCas.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullAddSub_RC.dig b/src/main/dig/combinatorial/FullAddSub_RC.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullAdder.dig b/src/main/dig/combinatorial/FullAdder.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullAdder.svg b/src/main/dig/combinatorial/FullAdder.svg old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullAdderCLA.dig b/src/main/dig/combinatorial/FullAdderCLA.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullAdderNaive.dig b/src/main/dig/combinatorial/FullAdderNaive.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullAdderRC.dig b/src/main/dig/combinatorial/FullAdderRC.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullAdderRCSig.dig b/src/main/dig/combinatorial/FullAdderRCSig.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullAdderRC_CLA.dig b/src/main/dig/combinatorial/FullAdderRC_CLA.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullSub.dig b/src/main/dig/combinatorial/FullSub.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullSub.svg b/src/main/dig/combinatorial/FullSub.svg old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullSub2.dig b/src/main/dig/combinatorial/FullSub2.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullSubNaive.dig b/src/main/dig/combinatorial/FullSubNaive.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/FullSubRC.dig b/src/main/dig/combinatorial/FullSubRC.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/HalfAdder.dig b/src/main/dig/combinatorial/HalfAdder.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/HalfSub.dig b/src/main/dig/combinatorial/HalfSub.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/LUT.dig b/src/main/dig/combinatorial/LUT.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Multiply.dig b/src/main/dig/combinatorial/Multiply.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Multiply16Bit.dig b/src/main/dig/combinatorial/Multiply16Bit.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Multiply8Bit.dig b/src/main/dig/combinatorial/Multiply8Bit.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Multiply8BitTable.dig b/src/main/dig/combinatorial/Multiply8BitTable.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/MultiplyTest.dig b/src/main/dig/combinatorial/MultiplyTest.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Xor1.dig b/src/main/dig/combinatorial/Xor1.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Xor2.dig b/src/main/dig/combinatorial/Xor2.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/Xor3.dig b/src/main/dig/combinatorial/Xor3.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/demux.dig b/src/main/dig/combinatorial/demux.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/combinatorial/mux.dig b/src/main/dig/combinatorial/mux.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/barrelShifter/Test.dig b/src/main/dig/generic/barrelShifter/Test.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/barrelShifter/barrelShifter.dig b/src/main/dig/generic/barrelShifter/barrelShifter.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/barrelShifter/shift-fixed-arith-right-inc.dig b/src/main/dig/generic/barrelShifter/shift-fixed-arith-right-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/barrelShifter/shift-fixed-left-inc.dig b/src/main/dig/generic/barrelShifter/shift-fixed-left-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/barrelShifter/shift-fixed-right-inc.dig b/src/main/dig/generic/barrelShifter/shift-fixed-right-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/barrelShifter/shift-inc.dig b/src/main/dig/generic/barrelShifter/shift-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/gray/GrayCounter.dig b/src/main/dig/generic/gray/GrayCounter.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/gray/GrayFinal-inc.dig b/src/main/dig/generic/gray/GrayFinal-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/gray/GrayNode-inc.dig b/src/main/dig/generic/gray/GrayNode-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/generic/gray/Test.dig b/src/main/dig/generic/gray/Test.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/graphicRam/col1.dig b/src/main/dig/graphicRam/col1.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/graphicRam/col2.dig b/src/main/dig/graphicRam/col2.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/graphicRam/col3.dig b/src/main/dig/graphicRam/col3.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/hazard/Hazard.dig b/src/main/dig/hazard/Hazard.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/hazard/HazardA.dig b/src/main/dig/hazard/HazardA.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/hazard/HazardB.dig b/src/main/dig/hazard/HazardB.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/hazard/Oscillation.dig b/src/main/dig/hazard/Oscillation.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/hdl/BASYS3.config b/src/main/dig/hdl/BASYS3.config old mode 100755 new mode 100644 diff --git a/src/main/dig/hdl/BASYS3_lightchase.dig b/src/main/dig/hdl/BASYS3_lightchase.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/hdl/HowTo.md b/src/main/dig/hdl/HowTo.md old mode 100755 new mode 100644 diff --git a/src/main/dig/hdl/TinyFPGA_BX.config b/src/main/dig/hdl/TinyFPGA_BX.config old mode 100755 new mode 100644 diff --git a/src/main/dig/hdl/TinyFPGA_BX_SOS.dig b/src/main/dig/hdl/TinyFPGA_BX_SOS.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/hdl/VerilogClockExample.config b/src/main/dig/hdl/VerilogClockExample.config old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/ReadMe.txt b/src/main/dig/lib/DIL Chips/74xx/ReadMe.txt old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74147.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74147.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74148.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74148.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74181.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74181.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74182.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74182.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74198.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74198.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74280.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74280.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74283.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74283.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74382.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74382.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74682.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74682.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/74688.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/74688.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/7480.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/7480.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/7483.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/7483.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/7483Real.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/7483Real.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/arithmetic/7485.dig b/src/main/dig/lib/DIL Chips/74xx/arithmetic/7485.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7400.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7400.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7401.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7401.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7402.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7402.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7403.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7403.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7404.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7404.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7405.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7405.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7408.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7408.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7409.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7409.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7410.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7410.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7411.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7411.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7412.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7412.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7413.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7413.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/74133.dig b/src/main/dig/lib/DIL Chips/74xx/basic/74133.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7414.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7414.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7415.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7415.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7420.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7420.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7421.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7421.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7425.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7425.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/74260.dig b/src/main/dig/lib/DIL Chips/74xx/basic/74260.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/74266.dig b/src/main/dig/lib/DIL Chips/74xx/basic/74266.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7427.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7427.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7428.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7428.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7430.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7430.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7432.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7432.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7440.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7440.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/744075.dig b/src/main/dig/lib/DIL Chips/74xx/basic/744075.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7451.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7451.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7454.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7454.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7455.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7455.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7458.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7458.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/basic/7486.dig b/src/main/dig/lib/DIL Chips/74xx/basic/7486.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74160.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74160.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74161.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74161.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74162.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74162.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74162Real.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74162Real.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74163.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74163.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74191.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74191.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74590.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74590.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74779-inc.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74779-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/counter/74779.dig b/src/main/dig/lib/DIL Chips/74xx/counter/74779.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/display/74247.dig b/src/main/dig/lib/DIL Chips/74xx/display/74247.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/display/74248.dig b/src/main/dig/lib/DIL Chips/74xx/display/74248.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/display/7447.dig b/src/main/dig/lib/DIL Chips/74xx/display/7447.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/display/7448.dig b/src/main/dig/lib/DIL Chips/74xx/display/7448.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/driver/7406.dig b/src/main/dig/lib/DIL Chips/74xx/driver/7406.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/driver/7407.dig b/src/main/dig/lib/DIL Chips/74xx/driver/7407.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/driver/7416.dig b/src/main/dig/lib/DIL Chips/74xx/driver/7416.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/driver/7417.dig b/src/main/dig/lib/DIL Chips/74xx/driver/7417.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/driver/74244.dig b/src/main/dig/lib/DIL Chips/74xx/driver/74244.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/driver/74245.dig b/src/main/dig/lib/DIL Chips/74xx/driver/74245.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/driver/74540.dig b/src/main/dig/lib/DIL Chips/74xx/driver/74540.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/driver/74541.dig b/src/main/dig/lib/DIL Chips/74xx/driver/74541.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74107.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74107.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74109.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74109.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74112.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74112.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74116.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74116.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74173.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74173.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74174.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74174.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74273.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74273.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74373-D-inc.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74373-D-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74373.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74373.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74374.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74374.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74377.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74377.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74573.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74573.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/74574.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/74574.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/7474.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/7474.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/flipflops/7476.dig b/src/main/dig/lib/DIL Chips/74xx/flipflops/7476.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/memory/74189.dig b/src/main/dig/lib/DIL Chips/74xx/memory/74189.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/memory/74670-D-inc.dig b/src/main/dig/lib/DIL Chips/74xx/memory/74670-D-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/memory/74670.dig b/src/main/dig/lib/DIL Chips/74xx/memory/74670.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/memory/7489.dig b/src/main/dig/lib/DIL Chips/74xx/memory/7489.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74138.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74138.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74139.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74139.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74150.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74150.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74151.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74151.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74153.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74153.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74154.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74154.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74157.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74157.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74238.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74238.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/74253.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/74253.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/plexers/7442.dig b/src/main/dig/lib/DIL Chips/74xx/plexers/7442.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/shift register/74164.dig b/src/main/dig/lib/DIL Chips/74xx/shift register/74164.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/shift register/74165.dig b/src/main/dig/lib/DIL Chips/74xx/shift register/74165.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/shift register/74166.dig b/src/main/dig/lib/DIL Chips/74xx/shift register/74166.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/74xx/shift register/74595.dig b/src/main/dig/lib/DIL Chips/74xx/shift register/74595.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/EPROMs/27c801.dig b/src/main/dig/lib/DIL Chips/EPROMs/27c801.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/EPROMs/28c010.dig b/src/main/dig/lib/DIL Chips/EPROMs/28c010.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/EPROMs/28c16.dig b/src/main/dig/lib/DIL Chips/EPROMs/28c16.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/EPROMs/28c256.dig b/src/main/dig/lib/DIL Chips/EPROMs/28c256.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/EPROMs/28c512.dig b/src/main/dig/lib/DIL Chips/EPROMs/28c512.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/EPROMs/28c64.dig b/src/main/dig/lib/DIL Chips/EPROMs/28c64.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/DIL Chips/RAMs/A623308A.dig b/src/main/dig/lib/DIL Chips/RAMs/A623308A.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/RAMs/RAM32Bit.dig b/src/main/dig/lib/RAMs/RAM32Bit.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/RAMs/outDataGen-inc.dig b/src/main/dig/lib/RAMs/outDataGen-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/RAMs/strDataGen-inc.dig b/src/main/dig/lib/RAMs/strDataGen-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/lib/RAMs/strGen-inc.dig b/src/main/dig/lib/RAMs/strGen-inc.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/misc/BillieJean.dig b/src/main/dig/misc/BillieJean.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/misc/DebugExample.dig b/src/main/dig/misc/DebugExample.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/misc/MIDIexample.dig b/src/main/dig/misc/MIDIexample.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/misc/TextFormatExample.dig b/src/main/dig/misc/TextFormatExample.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/nmos/and.dig b/src/main/dig/nmos/and.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/nmos/inverter.dig b/src/main/dig/nmos/inverter.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/nmos/nand.dig b/src/main/dig/nmos/nand.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/nmos/nor.dig b/src/main/dig/nmos/nor.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/nmos/or.dig b/src/main/dig/nmos/or.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/nmos/xnor.dig b/src/main/dig/nmos/xnor.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/nmos/xor.dig b/src/main/dig/nmos/xor.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/pld/GAL2v3.dig b/src/main/dig/pld/GAL2v3.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/pld/PAL.dig b/src/main/dig/pld/PAL.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/pld/PAL2v3.dig b/src/main/dig/pld/PAL2v3.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/pld/PLA.dig b/src/main/dig/pld/PLA.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/pld/WiredAnd.dig b/src/main/dig/pld/WiredAnd.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/pld/WiredOr.dig b/src/main/dig/pld/WiredOr.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/.gitignore b/src/main/dig/processor/.gitignore old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ALU/ALU.dig b/src/main/dig/processor/ALU/ALU.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ALU/ALU.svg b/src/main/dig/processor/ALU/ALU.svg old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ALU/ASR.dig b/src/main/dig/processor/ALU/ASR.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ALU/LSL.dig b/src/main/dig/processor/ALU/LSL.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ALU/LSR.dig b/src/main/dig/processor/ALU/LSR.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ALU/SWAP.dig b/src/main/dig/processor/ALU/SWAP.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ALU/SWAPN.dig b/src/main/dig/processor/ALU/SWAPN.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/HDLExample.dig b/src/main/dig/processor/HDLExample.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IO/GPI.dig b/src/main/dig/processor/IO/GPI.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IO/GPI_HDL.dig b/src/main/dig/processor/IO/GPI_HDL.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IO/GPO.dig b/src/main/dig/processor/IO/GPO.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IO/Graphics.dig b/src/main/dig/processor/IO/Graphics.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IO/Keyboard.dig b/src/main/dig/processor/IO/Keyboard.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IO/LedMatrix.dig b/src/main/dig/processor/IO/LedMatrix.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IO/Terminal.dig b/src/main/dig/processor/IO/Terminal.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IO/readSelect.dig b/src/main/dig/processor/IO/readSelect.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/IntrExample.dig b/src/main/dig/processor/IntrExample.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/Processor.dig b/src/main/dig/processor/Processor.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ProcessorIntr.dig b/src/main/dig/processor/ProcessorIntr.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ProcessorMux.dig b/src/main/dig/processor/ProcessorMux.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/ProcessorVonNeumann.dig b/src/main/dig/processor/ProcessorVonNeumann.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/VGA/JKen.dig b/src/main/dig/processor/VGA/JKen.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/VGA/Palette.dig b/src/main/dig/processor/VGA/Palette.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/VGA/VGA.dig b/src/main/dig/processor/VGA/VGA.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/VGA/core.dig b/src/main/dig/processor/VGA/core.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/VGA/sync.dig b/src/main/dig/processor/VGA/sync.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/VGA/textMode.dig b/src/main/dig/processor/VGA/textMode.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/VGA/vga8x12_extra_chars.png b/src/main/dig/processor/VGA/vga8x12_extra_chars.png old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/VGAExample.dig b/src/main/dig/processor/VGAExample.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/Branch.dig b/src/main/dig/processor/core/Branch.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/ClockDiv.dig b/src/main/dig/processor/core/ClockDiv.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/Control.dig b/src/main/dig/processor/core/Control.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/ControlIntr.dig b/src/main/dig/processor/core/ControlIntr.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/ControlMux.dig b/src/main/dig/processor/core/ControlMux.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/ControlTwoCycle.dig b/src/main/dig/processor/core/ControlTwoCycle.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/Flags.dig b/src/main/dig/processor/core/Flags.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/FlagsRW.dig b/src/main/dig/processor/core/FlagsRW.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/ImReg.dig b/src/main/dig/processor/core/ImReg.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/Interrupt.dig b/src/main/dig/processor/core/Interrupt.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/Memory.dig b/src/main/dig/processor/core/Memory.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/PC-HDL.dig b/src/main/dig/processor/core/PC-HDL.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/PC.dig b/src/main/dig/processor/core/PC.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/PCintr.dig b/src/main/dig/processor/core/PCintr.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/RS.dig b/src/main/dig/processor/core/RS.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/Register.dig b/src/main/dig/processor/core/Register.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/RegisterOpt.dig b/src/main/dig/processor/core/RegisterOpt.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/processor/core/SignExt.dig b/src/main/dig/processor/core/SignExt.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/Counter-D.dig b/src/main/dig/sequential/Counter-D.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/Counter-JK.dig b/src/main/dig/sequential/Counter-JK.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/Counter-T.dig b/src/main/dig/sequential/Counter-T.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/D-MS.dig b/src/main/dig/sequential/D-MS.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/D-T.dig b/src/main/dig/sequential/D-T.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/D-T2.dig b/src/main/dig/sequential/D-T2.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/D-TransmissionGate.dig b/src/main/dig/sequential/D-TransmissionGate.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/D.dig b/src/main/dig/sequential/D.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/D_NAND.dig b/src/main/dig/sequential/D_NAND.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/JK-MS.dig b/src/main/dig/sequential/JK-MS.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/JK-T.dig b/src/main/dig/sequential/JK-T.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/Prescaler.dig b/src/main/dig/sequential/Prescaler.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/RS-C.dig b/src/main/dig/sequential/RS-C.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/RS-MS-Simp.dig b/src/main/dig/sequential/RS-MS-Simp.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/RS-MS.dig b/src/main/dig/sequential/RS-MS.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/RS-T.dig b/src/main/dig/sequential/RS-T.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/RS.dig b/src/main/dig/sequential/RS.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/SPI.dig b/src/main/dig/sequential/SPI.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/T-MS.dig b/src/main/dig/sequential/T-MS.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/T.dig b/src/main/dig/sequential/T.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/async/muller-c.dig b/src/main/dig/sequential/async/muller-c.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/async/muller-pipeline.dig b/src/main/dig/sequential/async/muller-pipeline.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/async/oscillator.dig b/src/main/dig/sequential/async/oscillator.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/conway/Conway.dig b/src/main/dig/sequential/conway/Conway.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/conway/cell.dig b/src/main/dig/sequential/conway/cell.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/conway/cellLUT.dig b/src/main/dig/sequential/conway/cellLUT.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/conway/descrete.dig b/src/main/dig/sequential/conway/descrete.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/multip_D_notWorking.dig b/src/main/dig/sequential/multip_D_notWorking.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/multip_D_working.dig b/src/main/dig/sequential/multip_D_working.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/multip_D_working_T.dig b/src/main/dig/sequential/multip_D_working_T.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/sequential/multip_D_working_detail.dig b/src/main/dig/sequential/multip_D_working_detail.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/test/CounterWithTest.dig b/src/main/dig/test/CounterWithTest.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/test/TafficLight1.dig b/src/main/dig/test/TafficLight1.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/test/TafficLight2.dig b/src/main/dig/test/TafficLight2.dig old mode 100755 new mode 100644 diff --git a/src/main/dig/test/TafficLight3.dig b/src/main/dig/test/TafficLight3.dig old mode 100755 new mode 100644 diff --git a/src/main/fsm/SevenSegCounter.fsm b/src/main/fsm/SevenSegCounter.fsm old mode 100755 new mode 100644 diff --git a/src/main/fsm/counter10.fsm b/src/main/fsm/counter10.fsm old mode 100755 new mode 100644 diff --git a/src/main/fsm/rotDecoderMealy.fsm b/src/main/fsm/rotDecoderMealy.fsm old mode 100755 new mode 100644 diff --git a/src/main/fsm/rotDecoderMoore.fsm b/src/main/fsm/rotDecoderMoore.fsm old mode 100755 new mode 100644 diff --git a/src/main/fsm/stepperHalfStep.fsm b/src/main/fsm/stepperHalfStep.fsm old mode 100755 new mode 100644 diff --git a/src/main/fsm/stepperSimple.fsm b/src/main/fsm/stepperSimple.fsm old mode 100755 new mode 100644 diff --git a/src/main/fsm/trafficLightBlink.fsm b/src/main/fsm/trafficLightBlink.fsm old mode 100755 new mode 100644 diff --git a/src/main/fsm/trafficLightMedwedew.fsm b/src/main/fsm/trafficLightMedwedew.fsm old mode 100755 new mode 100644 diff --git a/src/main/fsm/trafficLightMoore.fsm b/src/main/fsm/trafficLightMoore.fsm old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/FileLocator.java b/src/main/java/de/neemann/digiblock/FileLocator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/Verification/ApplicationIverilogTb.java b/src/main/java/de/neemann/digiblock/Verification/ApplicationIverilogTb.java new file mode 100644 index 0000000..8ff3e11 --- /dev/null +++ b/src/main/java/de/neemann/digiblock/Verification/ApplicationIverilogTb.java @@ -0,0 +1,117 @@ +package de.neemann.digiblock.Verification; + +import de.neemann.digiblock.core.element.Keys; +import de.neemann.digiblock.core.extern.ProcessStarter; +import de.neemann.digiblock.gui.Settings; +import de.neemann.digiblock.lang.Lang; + +import java.io.File; +import java.io.IOException; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; + +public class ApplicationIverilogTb { + private String iverilogFolder; + private String iverilog; + private String vvp; + private final boolean hasIverilog; + + public ApplicationIverilogTb() { + iverilogFolder = ""; + hasIverilog = findIVerilog(); + } + + public String execIvl(File rtl, File tb) throws IOException { + + if (!hasIverilog) { + throw new IOException(Lang.get("err_iverilogNotInstalled")); + } + try { + String testOutputName = "test.out"; + + return ProcessStarter.start(rtl.getParentFile(), iverilog, "-y","","-tvvp", "-o" + testOutputName, rtl.getName(), tb.getName()); + } catch (IOException e) { + if (iverilogNotFound(e)) + throw new IOException(Lang.get("err_iverilogNotInstalled")); + else + throw e; + } + } + + public String execVpp(File rtl) throws IOException { + if(!hasIverilog) { + throw new IOException(Lang.get("err_iverilogNotInstalled")); + } + try { + return ProcessStarter.start(rtl.getParentFile(), vvp, Paths.get(rtl.getAbsolutePath()).getParent().resolve("test.out").toString()); + } catch (IOException e) { + if (iverilogNotFound(e)) + throw new IOException(Lang.get("err_iverilogNotInstalled")); + else + throw e; + } + } + + private boolean findIVerilog() { + Path ivp = null; + File ivDir = Settings.getInstance().get(Keys.SETTINGS_IVERILOG_PATH); + + if (ivDir != null) { + Path p = Paths.get(ivDir.getAbsolutePath()); + + if (Files.isExecutable(p)) { + ivp = p; + if (Files.isSymbolicLink(p)) { + try { + ivp = Files.readSymbolicLink(ivp); + } catch (IOException ex) { + return false; + } + } + } + } + + if (ivp == null) { + // Let's try to find iverilog in the system path + String[] strPaths = System.getenv("PATH").split(File.pathSeparator); + + for (String sp : strPaths) { + Path p = Paths.get(sp, "iverilog"); + + if (Files.isExecutable(p)) { + ivp = p; + if (Files.isSymbolicLink(p)) { + try { + ivp = Files.readSymbolicLink(ivp); + } catch (IOException ex) { + return false; + } + } + break; + } + } + } + + if (ivp != null) { + iverilogFolder = ivp.getParent().getParent().toString(); + iverilog = ivp.getParent().resolve("iverilog").toString(); + vvp = ivp.getParent().resolve("vvp").toString(); + + return true; + } else { + return false; + } + } + + private boolean iverilogNotFound(Throwable e) { + while (e != null) { + if (e instanceof ProcessStarter.CouldNotStartProcessException) + return true; + e = e.getCause(); + } + return false; + } + +} + diff --git a/src/main/java/de/neemann/digiblock/Verification/TestbenchKey.java b/src/main/java/de/neemann/digiblock/Verification/TestbenchKey.java new file mode 100644 index 0000000..d929ba3 --- /dev/null +++ b/src/main/java/de/neemann/digiblock/Verification/TestbenchKey.java @@ -0,0 +1,9 @@ +package de.neemann.digiblock.Verification; + +public class TestbenchKey { + public static boolean ISTESTBENCH = false; + + public static boolean ISCOMBINATION = false; + + public static boolean TIPS = true; +} diff --git a/src/main/java/de/neemann/digiblock/XStreamValid.java b/src/main/java/de/neemann/digiblock/XStreamValid.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/AnalyseException.java b/src/main/java/de/neemann/digiblock/analyse/AnalyseException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/BoolTableExpanded.java b/src/main/java/de/neemann/digiblock/analyse/BoolTableExpanded.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/CycleDetector.java b/src/main/java/de/neemann/digiblock/analyse/CycleDetector.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/DependencyAnalyser.java b/src/main/java/de/neemann/digiblock/analyse/DependencyAnalyser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/DetermineJKStateMachine.java b/src/main/java/de/neemann/digiblock/analyse/DetermineJKStateMachine.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/LabelNumbering.java b/src/main/java/de/neemann/digiblock/analyse/LabelNumbering.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/MinimizerInterface.java b/src/main/java/de/neemann/digiblock/analyse/MinimizerInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/MinimizerQuineMcCluskey.java b/src/main/java/de/neemann/digiblock/analyse/MinimizerQuineMcCluskey.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/MinimizerQuineMcCluskeyExam.java b/src/main/java/de/neemann/digiblock/analyse/MinimizerQuineMcCluskeyExam.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/ModelAnalyser.java b/src/main/java/de/neemann/digiblock/analyse/ModelAnalyser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/ModelAnalyserInfo.java b/src/main/java/de/neemann/digiblock/analyse/ModelAnalyserInfo.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/SplitPinString.java b/src/main/java/de/neemann/digiblock/analyse/SplitPinString.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/SubstituteLibrary.java b/src/main/java/de/neemann/digiblock/analyse/SubstituteLibrary.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/TruthTable.java b/src/main/java/de/neemann/digiblock/analyse/TruthTable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/TruthTableTableModel.java b/src/main/java/de/neemann/digiblock/analyse/TruthTableTableModel.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/BitSetter.java b/src/main/java/de/neemann/digiblock/analyse/expression/BitSetter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/ComplexityInclNotVisitor.java b/src/main/java/de/neemann/digiblock/analyse/expression/ComplexityInclNotVisitor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/ComplexityVisitor.java b/src/main/java/de/neemann/digiblock/analyse/expression/ComplexityVisitor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/Constant.java b/src/main/java/de/neemann/digiblock/analyse/expression/Constant.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/Context.java b/src/main/java/de/neemann/digiblock/analyse/expression/Context.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/ContextFiller.java b/src/main/java/de/neemann/digiblock/analyse/expression/ContextFiller.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/ContextMap.java b/src/main/java/de/neemann/digiblock/analyse/expression/ContextMap.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/Equals.java b/src/main/java/de/neemann/digiblock/analyse/expression/Equals.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/Expression.java b/src/main/java/de/neemann/digiblock/analyse/expression/Expression.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/ExpressionException.java b/src/main/java/de/neemann/digiblock/analyse/expression/ExpressionException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/ExpressionVisitor.java b/src/main/java/de/neemann/digiblock/analyse/expression/ExpressionVisitor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/NamedExpression.java b/src/main/java/de/neemann/digiblock/analyse/expression/NamedExpression.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/Not.java b/src/main/java/de/neemann/digiblock/analyse/expression/Not.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/Operation.java b/src/main/java/de/neemann/digiblock/analyse/expression/Operation.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/Variable.java b/src/main/java/de/neemann/digiblock/analyse/expression/Variable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/VariableVisitor.java b/src/main/java/de/neemann/digiblock/analyse/expression/VariableVisitor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/format/FormatToExpression.java b/src/main/java/de/neemann/digiblock/analyse/expression/format/FormatToExpression.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/format/FormatToTable.java b/src/main/java/de/neemann/digiblock/analyse/expression/format/FormatToTable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/format/FormatToTableLatex.java b/src/main/java/de/neemann/digiblock/analyse/expression/format/FormatToTableLatex.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/format/Formatter.java b/src/main/java/de/neemann/digiblock/analyse/expression/format/Formatter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/format/FormatterException.java b/src/main/java/de/neemann/digiblock/analyse/expression/format/FormatterException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/format/package-info.java b/src/main/java/de/neemann/digiblock/analyse/expression/format/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/modify/ExpressionModifier.java b/src/main/java/de/neemann/digiblock/analyse/expression/modify/ExpressionModifier.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/modify/NAnd.java b/src/main/java/de/neemann/digiblock/analyse/expression/modify/NAnd.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/modify/NOr.java b/src/main/java/de/neemann/digiblock/analyse/expression/modify/NOr.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/modify/ThreeInputs.java b/src/main/java/de/neemann/digiblock/analyse/expression/modify/ThreeInputs.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/modify/TwoInputs.java b/src/main/java/de/neemann/digiblock/analyse/expression/modify/TwoInputs.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/modify/package-info.java b/src/main/java/de/neemann/digiblock/analyse/expression/modify/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/expression/package-info.java b/src/main/java/de/neemann/digiblock/analyse/expression/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/format/TruthTableFormatter.java b/src/main/java/de/neemann/digiblock/analyse/format/TruthTableFormatter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/format/TruthTableFormatterLaTeX.java b/src/main/java/de/neemann/digiblock/analyse/format/TruthTableFormatterLaTeX.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/format/TruthTableFormatterTestCase.java b/src/main/java/de/neemann/digiblock/analyse/format/TruthTableFormatterTestCase.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/format/package-info.java b/src/main/java/de/neemann/digiblock/analyse/format/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/package-info.java b/src/main/java/de/neemann/digiblock/analyse/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/parser/ParseException.java b/src/main/java/de/neemann/digiblock/analyse/parser/ParseException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/parser/Parser.java b/src/main/java/de/neemann/digiblock/analyse/parser/Parser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/parser/Tokenizer.java b/src/main/java/de/neemann/digiblock/analyse/parser/Tokenizer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/parser/package-info.java b/src/main/java/de/neemann/digiblock/analyse/parser/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/BoolTable.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/BoolTable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/BoolTableBoolArray.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/BoolTableBoolArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/BoolTableByteArray.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/BoolTableByteArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/BoolTableExpression.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/BoolTableExpression.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/IndependentChecker.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/IndependentChecker.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskey.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskey.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyExam.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyExam.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/TableReducer.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/TableReducer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/TableRow.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/TableRow.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/TableRows.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/TableRows.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/ThreeStateValue.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/ThreeStateValue.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/package-info.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/BruteForce.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/BruteForce.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/BruteForceGetAll.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/BruteForceGetAll.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/LargestFirst.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/LargestFirst.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/PrimeSelector.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/PrimeSelector.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/PrimeSelectorDefault.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/PrimeSelectorDefault.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/package-info.java b/src/main/java/de/neemann/digiblock/analyse/quinemc/primeselector/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/ATF150x/ATF150xCuplExporter.java b/src/main/java/de/neemann/digiblock/builder/ATF150x/ATF150xCuplExporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/ATF150x/ATFDevice.java b/src/main/java/de/neemann/digiblock/builder/ATF150x/ATFDevice.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/ATF150x/ATFDialog.java b/src/main/java/de/neemann/digiblock/builder/ATF150x/ATFDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/ATF150x/CreateCHN.java b/src/main/java/de/neemann/digiblock/builder/ATF150x/CreateCHN.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/ATF150x/package-info.java b/src/main/java/de/neemann/digiblock/builder/ATF150x/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/BuilderCollector.java b/src/main/java/de/neemann/digiblock/builder/BuilderCollector.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/BuilderException.java b/src/main/java/de/neemann/digiblock/builder/BuilderException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/BuilderInterface.java b/src/main/java/de/neemann/digiblock/builder/BuilderInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/CleanNameBuilder.java b/src/main/java/de/neemann/digiblock/builder/CleanNameBuilder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/ExpressionExporter.java b/src/main/java/de/neemann/digiblock/builder/ExpressionExporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/ExpressionToFileExporter.java b/src/main/java/de/neemann/digiblock/builder/ExpressionToFileExporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/Gal16v8/BuilderCollectorGAL.java b/src/main/java/de/neemann/digiblock/builder/Gal16v8/BuilderCollectorGAL.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/Gal16v8/CuplExporter.java b/src/main/java/de/neemann/digiblock/builder/Gal16v8/CuplExporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/Gal16v8/Gal16v8JEDECExporter.java b/src/main/java/de/neemann/digiblock/builder/Gal16v8/Gal16v8JEDECExporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/Gal16v8/package-info.java b/src/main/java/de/neemann/digiblock/builder/Gal16v8/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/Gal22v10/Gal22v10CuplExporter.java b/src/main/java/de/neemann/digiblock/builder/Gal22v10/Gal22v10CuplExporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/Gal22v10/Gal22v10JEDECExporter.java b/src/main/java/de/neemann/digiblock/builder/Gal22v10/Gal22v10JEDECExporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/Gal22v10/package-info.java b/src/main/java/de/neemann/digiblock/builder/Gal22v10/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/PinMap.java b/src/main/java/de/neemann/digiblock/builder/PinMap.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/PinMapException.java b/src/main/java/de/neemann/digiblock/builder/PinMapException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/Box.java b/src/main/java/de/neemann/digiblock/builder/circuit/Box.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/CircuitBuilder.java b/src/main/java/de/neemann/digiblock/builder/circuit/CircuitBuilder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/Fragment.java b/src/main/java/de/neemann/digiblock/builder/circuit/Fragment.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/FragmentExpression.java b/src/main/java/de/neemann/digiblock/builder/circuit/FragmentExpression.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/FragmentSameInValue.java b/src/main/java/de/neemann/digiblock/builder/circuit/FragmentSameInValue.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/FragmentVariable.java b/src/main/java/de/neemann/digiblock/builder/circuit/FragmentVariable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/FragmentVisitor.java b/src/main/java/de/neemann/digiblock/builder/circuit/FragmentVisitor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/FragmentVisualElement.java b/src/main/java/de/neemann/digiblock/builder/circuit/FragmentVisualElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/circuit/package-info.java b/src/main/java/de/neemann/digiblock/builder/circuit/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/jedec/FuseMap.java b/src/main/java/de/neemann/digiblock/builder/jedec/FuseMap.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/jedec/FuseMapFiller.java b/src/main/java/de/neemann/digiblock/builder/jedec/FuseMapFiller.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/jedec/FuseMapFillerException.java b/src/main/java/de/neemann/digiblock/builder/jedec/FuseMapFillerException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/jedec/JedecWriter.java b/src/main/java/de/neemann/digiblock/builder/jedec/JedecWriter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/jedec/package-info.java b/src/main/java/de/neemann/digiblock/builder/jedec/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/package-info.java b/src/main/java/de/neemann/digiblock/builder/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/tt2/OSExecute.java b/src/main/java/de/neemann/digiblock/builder/tt2/OSExecute.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/tt2/RotationByteArrayOutputStream.java b/src/main/java/de/neemann/digiblock/builder/tt2/RotationByteArrayOutputStream.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/tt2/StartATF150xFitter.java b/src/main/java/de/neemann/digiblock/builder/tt2/StartATF150xFitter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/tt2/TT2Exporter.java b/src/main/java/de/neemann/digiblock/builder/tt2/TT2Exporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/builder/tt2/package-info.java b/src/main/java/de/neemann/digiblock/builder/tt2/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/BacktrackException.java b/src/main/java/de/neemann/digiblock/core/BacktrackException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/Bits.java b/src/main/java/de/neemann/digiblock/core/Bits.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/BitsException.java b/src/main/java/de/neemann/digiblock/core/BitsException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/BurnException.java b/src/main/java/de/neemann/digiblock/core/BurnException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/ExceptionWithOrigin.java b/src/main/java/de/neemann/digiblock/core/ExceptionWithOrigin.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/ExceptionWithOriginInterface.java b/src/main/java/de/neemann/digiblock/core/ExceptionWithOriginInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/GlobalValues.java b/src/main/java/de/neemann/digiblock/core/GlobalValues.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/IntFormat.java b/src/main/java/de/neemann/digiblock/core/IntFormat.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/Model.java b/src/main/java/de/neemann/digiblock/core/Model.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/ModelEvent.java b/src/main/java/de/neemann/digiblock/core/ModelEvent.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/ModelStateObserver.java b/src/main/java/de/neemann/digiblock/core/ModelStateObserver.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/ModelStateObserverTyped.java b/src/main/java/de/neemann/digiblock/core/ModelStateObserverTyped.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/Node.java b/src/main/java/de/neemann/digiblock/core/Node.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/NodeException.java b/src/main/java/de/neemann/digiblock/core/NodeException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/NodeInterface.java b/src/main/java/de/neemann/digiblock/core/NodeInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/NodeWithoutDelay.java b/src/main/java/de/neemann/digiblock/core/NodeWithoutDelay.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/Observable.java b/src/main/java/de/neemann/digiblock/core/Observable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/ObservableValue.java b/src/main/java/de/neemann/digiblock/core/ObservableValue.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/ObservableValues.java b/src/main/java/de/neemann/digiblock/core/ObservableValues.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/Observer.java b/src/main/java/de/neemann/digiblock/core/Observer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/Signal.java b/src/main/java/de/neemann/digiblock/core/Signal.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/SpeedTest.java b/src/main/java/de/neemann/digiblock/core/SpeedTest.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/SyncAccess.java b/src/main/java/de/neemann/digiblock/core/SyncAccess.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/Value.java b/src/main/java/de/neemann/digiblock/core/Value.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/Add.java b/src/main/java/de/neemann/digiblock/core/arithmetic/Add.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/BarrelShifter.java b/src/main/java/de/neemann/digiblock/core/arithmetic/BarrelShifter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/BarrelShifterMode.java b/src/main/java/de/neemann/digiblock/core/arithmetic/BarrelShifterMode.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/BitCount.java b/src/main/java/de/neemann/digiblock/core/arithmetic/BitCount.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/BitExtender.java b/src/main/java/de/neemann/digiblock/core/arithmetic/BitExtender.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/Comparator.java b/src/main/java/de/neemann/digiblock/core/arithmetic/Comparator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/Div.java b/src/main/java/de/neemann/digiblock/core/arithmetic/Div.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/LeftRightFormat.java b/src/main/java/de/neemann/digiblock/core/arithmetic/LeftRightFormat.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/Mul.java b/src/main/java/de/neemann/digiblock/core/arithmetic/Mul.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/Neg.java b/src/main/java/de/neemann/digiblock/core/arithmetic/Neg.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/Sub.java b/src/main/java/de/neemann/digiblock/core/arithmetic/Sub.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/arithmetic/package-info.java b/src/main/java/de/neemann/digiblock/core/arithmetic/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/And.java b/src/main/java/de/neemann/digiblock/core/basic/And.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/FanIn.java b/src/main/java/de/neemann/digiblock/core/basic/FanIn.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/Function.java b/src/main/java/de/neemann/digiblock/core/basic/Function.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/NAnd.java b/src/main/java/de/neemann/digiblock/core/basic/NAnd.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/NOr.java b/src/main/java/de/neemann/digiblock/core/basic/NOr.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/Not.java b/src/main/java/de/neemann/digiblock/core/basic/Not.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/Or.java b/src/main/java/de/neemann/digiblock/core/basic/Or.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/XNOr.java b/src/main/java/de/neemann/digiblock/core/basic/XNOr.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/XOr.java b/src/main/java/de/neemann/digiblock/core/basic/XOr.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/basic/package-info.java b/src/main/java/de/neemann/digiblock/core/basic/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/AttributeListener.java b/src/main/java/de/neemann/digiblock/core/element/AttributeListener.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/Element.java b/src/main/java/de/neemann/digiblock/core/element/Element.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/ElementAttributes.java b/src/main/java/de/neemann/digiblock/core/element/ElementAttributes.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/ElementFactory.java b/src/main/java/de/neemann/digiblock/core/element/ElementFactory.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/ElementTypeDescription.java b/src/main/java/de/neemann/digiblock/core/element/ElementTypeDescription.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/ImmutableList.java b/src/main/java/de/neemann/digiblock/core/element/ImmutableList.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/Key.java b/src/main/java/de/neemann/digiblock/core/element/Key.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/Keys.java b/src/main/java/de/neemann/digiblock/core/element/Keys.java old mode 100755 new mode 100644 index 3f7da69..a9c9ffd --- a/src/main/java/de/neemann/digiblock/core/element/Keys.java +++ b/src/main/java/de/neemann/digiblock/core/element/Keys.java @@ -714,6 +714,25 @@ private static File getATMISPPath() { public static final Key SETTINGS_IVERILOG_PATH = new Key.KeyFile("iverilogPath", new File("iverilog")).setSecondary(); + /** + * Path to gtkwave installation directory + */ + public static final Key SETTINGS_GTKWAVE_PATH + = new Key.KeyFile("gtkwavePath", new File("")).setSecondary(); + + /** + * Path to iverilog source file + */ + public static final Key SETTINGS_IVERILOG_SOURCE_PATH + = new Key.KeyFile("ivlSourcePath", new File("")).setSecondary(); + + /** + * Path to iverilog destination file + */ + public static final Key SETTINGS_IVERILOG_TESTBENCH_PATH + = new Key.KeyFile("ivlTestbenchPath", new File("")).setSecondary(); + + /** * Avoid component tooltips in the main panel */ diff --git a/src/main/java/de/neemann/digiblock/core/element/PinDescription.java b/src/main/java/de/neemann/digiblock/core/element/PinDescription.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/PinDescriptions.java b/src/main/java/de/neemann/digiblock/core/element/PinDescriptions.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/PinInfo.java b/src/main/java/de/neemann/digiblock/core/element/PinInfo.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/Rotation.java b/src/main/java/de/neemann/digiblock/core/element/Rotation.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/element/package-info.java b/src/main/java/de/neemann/digiblock/core/element/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/Application.java b/src/main/java/de/neemann/digiblock/core/extern/Application.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/ApplicationGHDL.java b/src/main/java/de/neemann/digiblock/core/extern/ApplicationGHDL.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/ApplicationGeneric.java b/src/main/java/de/neemann/digiblock/core/extern/ApplicationGeneric.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/ApplicationIVerilog.java b/src/main/java/de/neemann/digiblock/core/extern/ApplicationIVerilog.java old mode 100755 new mode 100644 index 46f8fbe..263c2ff --- a/src/main/java/de/neemann/digiblock/core/extern/ApplicationIVerilog.java +++ b/src/main/java/de/neemann/digiblock/core/extern/ApplicationIVerilog.java @@ -10,6 +10,7 @@ import de.neemann.digiblock.core.extern.handler.StdIOInterface; import de.neemann.digiblock.gui.Settings; import de.neemann.digiblock.lang.Lang; +import sun.misc.IOUtils; import java.io.File; import java.io.IOException; @@ -49,7 +50,7 @@ public ProcessInterface start(String label, String code, PortDefinition inputs, file = createVerilogFile(label, code, inputs, outputs); String testOutputName = label + ".out"; - String m1 = ProcessStarter.start(file.getParentFile(), iverilog, "-tvvp", "-o" + testOutputName, file.getName()); + String m1 = ProcessStarter.start(file.getParentFile(), iverilog, "-y","~/Digital/blockbox","-tvvp", "-o" + testOutputName, file.getName()); ProcessBuilder pb = new ProcessBuilder(vvp, "-M", ivlModuleDir, testOutputName).redirectErrorStream(true).directory(file.getParentFile()); return new IVerilogProcessInterface(pb.start(), file.getParentFile()); } catch (IOException e) { @@ -87,7 +88,7 @@ public String checkCode(String label, String code, PortDefinition inputs, PortDe file = createVerilogFile(label, code, inputs, outputs); String testOutputName = label + ".out"; - return ProcessStarter.start(file.getParentFile(), iverilog, "-tvvp", "-o" + testOutputName, file.getName()); + return ProcessStarter.start(file.getParentFile(), iverilog, "-y","","-tvvp", "-o" + testOutputName, file.getName()); } catch (IOException e) { if (iverilogNotFound(e)) throw new IOException(Lang.get("err_iverilogNotInstalled")); diff --git a/src/main/java/de/neemann/digiblock/core/extern/ApplicationVHDLStdIO.java b/src/main/java/de/neemann/digiblock/core/extern/ApplicationVHDLStdIO.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/ApplicationVerilogStdIO.java b/src/main/java/de/neemann/digiblock/core/extern/ApplicationVerilogStdIO.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/External.java b/src/main/java/de/neemann/digiblock/core/extern/External.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/Port.java b/src/main/java/de/neemann/digiblock/core/extern/Port.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/PortDefinition.java b/src/main/java/de/neemann/digiblock/core/extern/PortDefinition.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/ProcessStarter.java b/src/main/java/de/neemann/digiblock/core/extern/ProcessStarter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/VHDLTokenizer.java b/src/main/java/de/neemann/digiblock/core/extern/VHDLTokenizer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/VerilogTokenizer.java b/src/main/java/de/neemann/digiblock/core/extern/VerilogTokenizer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/handler/ProcessInterface.java b/src/main/java/de/neemann/digiblock/core/extern/handler/ProcessInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/handler/StdIOInterface.java b/src/main/java/de/neemann/digiblock/core/extern/handler/StdIOInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/handler/package-info.java b/src/main/java/de/neemann/digiblock/core/extern/handler/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/extern/package-info.java b/src/main/java/de/neemann/digiblock/core/extern/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopBit.java b/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopBit.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopD.java b/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopD.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopDAsync.java b/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopDAsync.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopJK.java b/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopJK.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopJKAsync.java b/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopJKAsync.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopRS.java b/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopRS.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopRSAsync.java b/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopRSAsync.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopT.java b/src/main/java/de/neemann/digiblock/core/flipflops/FlipflopT.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/Monoflop.java b/src/main/java/de/neemann/digiblock/core/flipflops/Monoflop.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/flipflops/package-info.java b/src/main/java/de/neemann/digiblock/core/flipflops/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/Button.java b/src/main/java/de/neemann/digiblock/core/io/Button.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/ButtonLED.java b/src/main/java/de/neemann/digiblock/core/io/ButtonLED.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/CommonConnectionType.java b/src/main/java/de/neemann/digiblock/core/io/CommonConnectionType.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/Const.java b/src/main/java/de/neemann/digiblock/core/io/Const.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/DipSwitch.java b/src/main/java/de/neemann/digiblock/core/io/DipSwitch.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/Ground.java b/src/main/java/de/neemann/digiblock/core/io/Ground.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/In.java b/src/main/java/de/neemann/digiblock/core/io/In.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/InValue.java b/src/main/java/de/neemann/digiblock/core/io/InValue.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/LightBulb.java b/src/main/java/de/neemann/digiblock/core/io/LightBulb.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/MIDI.java b/src/main/java/de/neemann/digiblock/core/io/MIDI.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/MIDIHelper.java b/src/main/java/de/neemann/digiblock/core/io/MIDIHelper.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/Out.java b/src/main/java/de/neemann/digiblock/core/io/Out.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/PinControl.java b/src/main/java/de/neemann/digiblock/core/io/PinControl.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/PowerSupply.java b/src/main/java/de/neemann/digiblock/core/io/PowerSupply.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/Probe.java b/src/main/java/de/neemann/digiblock/core/io/Probe.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/RGBLED.java b/src/main/java/de/neemann/digiblock/core/io/RGBLED.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/RotEncoder.java b/src/main/java/de/neemann/digiblock/core/io/RotEncoder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/VDD.java b/src/main/java/de/neemann/digiblock/core/io/VDD.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/io/package-info.java b/src/main/java/de/neemann/digiblock/core/io/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/BlockRAMDualPort.java b/src/main/java/de/neemann/digiblock/core/memory/BlockRAMDualPort.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/Counter.java b/src/main/java/de/neemann/digiblock/core/memory/Counter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/CounterPreset.java b/src/main/java/de/neemann/digiblock/core/memory/CounterPreset.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/DataField.java b/src/main/java/de/neemann/digiblock/core/memory/DataField.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/DataFieldConverter.java b/src/main/java/de/neemann/digiblock/core/memory/DataFieldConverter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/EEPROM.java b/src/main/java/de/neemann/digiblock/core/memory/EEPROM.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/EEPROMDualPort.java b/src/main/java/de/neemann/digiblock/core/memory/EEPROMDualPort.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/LookUpTable.java b/src/main/java/de/neemann/digiblock/core/memory/LookUpTable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/ProgramMemory.java b/src/main/java/de/neemann/digiblock/core/memory/ProgramMemory.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/RAMDualAccess.java b/src/main/java/de/neemann/digiblock/core/memory/RAMDualAccess.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/RAMDualPort.java b/src/main/java/de/neemann/digiblock/core/memory/RAMDualPort.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/RAMInterface.java b/src/main/java/de/neemann/digiblock/core/memory/RAMInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/RAMSinglePort.java b/src/main/java/de/neemann/digiblock/core/memory/RAMSinglePort.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/RAMSinglePortSel.java b/src/main/java/de/neemann/digiblock/core/memory/RAMSinglePortSel.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/ROM.java b/src/main/java/de/neemann/digiblock/core/memory/ROM.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/Register.java b/src/main/java/de/neemann/digiblock/core/memory/Register.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/RegisterFile.java b/src/main/java/de/neemann/digiblock/core/memory/RegisterFile.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/BinReader.java b/src/main/java/de/neemann/digiblock/core/memory/importer/BinReader.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/ByteArray.java b/src/main/java/de/neemann/digiblock/core/memory/importer/ByteArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/ByteArrayFromValueArray.java b/src/main/java/de/neemann/digiblock/core/memory/importer/ByteArrayFromValueArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/ByteArrayReader.java b/src/main/java/de/neemann/digiblock/core/memory/importer/ByteArrayReader.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/DataFieldValueArray.java b/src/main/java/de/neemann/digiblock/core/memory/importer/DataFieldValueArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/Importer.java b/src/main/java/de/neemann/digiblock/core/memory/importer/Importer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/IntelHexReader.java b/src/main/java/de/neemann/digiblock/core/memory/importer/IntelHexReader.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/LogisimReader.java b/src/main/java/de/neemann/digiblock/core/memory/importer/LogisimReader.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/MultiValueArray.java b/src/main/java/de/neemann/digiblock/core/memory/importer/MultiValueArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/ValueArray.java b/src/main/java/de/neemann/digiblock/core/memory/importer/ValueArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/ValueArrayReader.java b/src/main/java/de/neemann/digiblock/core/memory/importer/ValueArrayReader.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/importer/package-info.java b/src/main/java/de/neemann/digiblock/core/memory/importer/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/package-info.java b/src/main/java/de/neemann/digiblock/core/memory/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/rom/ROMInterface.java b/src/main/java/de/neemann/digiblock/core/memory/rom/ROMInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/rom/ROMManger.java b/src/main/java/de/neemann/digiblock/core/memory/rom/ROMManger.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/memory/rom/package-info.java b/src/main/java/de/neemann/digiblock/core/memory/rom/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/package-info.java b/src/main/java/de/neemann/digiblock/core/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/pld/Diode.java b/src/main/java/de/neemann/digiblock/core/pld/Diode.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/pld/DiodeBackward.java b/src/main/java/de/neemann/digiblock/core/pld/DiodeBackward.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/pld/DiodeForward.java b/src/main/java/de/neemann/digiblock/core/pld/DiodeForward.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/pld/PullDown.java b/src/main/java/de/neemann/digiblock/core/pld/PullDown.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/pld/PullUp.java b/src/main/java/de/neemann/digiblock/core/pld/PullUp.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/pld/package-info.java b/src/main/java/de/neemann/digiblock/core/pld/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/stats/Countable.java b/src/main/java/de/neemann/digiblock/core/stats/Countable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/stats/Statistics.java b/src/main/java/de/neemann/digiblock/core/stats/Statistics.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/stats/package-info.java b/src/main/java/de/neemann/digiblock/core/stats/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/FGNFET.java b/src/main/java/de/neemann/digiblock/core/switching/FGNFET.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/FGPFET.java b/src/main/java/de/neemann/digiblock/core/switching/FGPFET.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/Fuse.java b/src/main/java/de/neemann/digiblock/core/switching/Fuse.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/NFET.java b/src/main/java/de/neemann/digiblock/core/switching/NFET.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/PFET.java b/src/main/java/de/neemann/digiblock/core/switching/PFET.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/PlainSwitch.java b/src/main/java/de/neemann/digiblock/core/switching/PlainSwitch.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/PlainSwitchDT.java b/src/main/java/de/neemann/digiblock/core/switching/PlainSwitchDT.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/Relay.java b/src/main/java/de/neemann/digiblock/core/switching/Relay.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/RelayDT.java b/src/main/java/de/neemann/digiblock/core/switching/RelayDT.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/Switch.java b/src/main/java/de/neemann/digiblock/core/switching/Switch.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/SwitchDT.java b/src/main/java/de/neemann/digiblock/core/switching/SwitchDT.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/TransGate.java b/src/main/java/de/neemann/digiblock/core/switching/TransGate.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/switching/package-info.java b/src/main/java/de/neemann/digiblock/core/switching/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/AsyncSeq.java b/src/main/java/de/neemann/digiblock/core/wiring/AsyncSeq.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/BitSelector.java b/src/main/java/de/neemann/digiblock/core/wiring/BitSelector.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Break.java b/src/main/java/de/neemann/digiblock/core/wiring/Break.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/BusSplitter.java b/src/main/java/de/neemann/digiblock/core/wiring/BusSplitter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Clock.java b/src/main/java/de/neemann/digiblock/core/wiring/Clock.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Decoder.java b/src/main/java/de/neemann/digiblock/core/wiring/Decoder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Delay.java b/src/main/java/de/neemann/digiblock/core/wiring/Delay.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Demultiplexer.java b/src/main/java/de/neemann/digiblock/core/wiring/Demultiplexer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Driver.java b/src/main/java/de/neemann/digiblock/core/wiring/Driver.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/DriverInvSel.java b/src/main/java/de/neemann/digiblock/core/wiring/DriverInvSel.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Multiplexer.java b/src/main/java/de/neemann/digiblock/core/wiring/Multiplexer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/PriorityEncoder.java b/src/main/java/de/neemann/digiblock/core/wiring/PriorityEncoder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Reset.java b/src/main/java/de/neemann/digiblock/core/wiring/Reset.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/Splitter.java b/src/main/java/de/neemann/digiblock/core/wiring/Splitter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/bus/AbstractBusHandler.java b/src/main/java/de/neemann/digiblock/core/wiring/bus/AbstractBusHandler.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/bus/BusModelStateObserver.java b/src/main/java/de/neemann/digiblock/core/wiring/bus/BusModelStateObserver.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/bus/CommonBusValue.java b/src/main/java/de/neemann/digiblock/core/wiring/bus/CommonBusValue.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/bus/ConnectedBusHandler.java b/src/main/java/de/neemann/digiblock/core/wiring/bus/ConnectedBusHandler.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/bus/DataBus.java b/src/main/java/de/neemann/digiblock/core/wiring/bus/DataBus.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/bus/SingleBusHandler.java b/src/main/java/de/neemann/digiblock/core/wiring/bus/SingleBusHandler.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/bus/package-info.java b/src/main/java/de/neemann/digiblock/core/wiring/bus/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/core/wiring/package-info.java b/src/main/java/de/neemann/digiblock/core/wiring/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/data/DataPlotter.java b/src/main/java/de/neemann/digiblock/data/DataPlotter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/data/Value.java b/src/main/java/de/neemann/digiblock/data/Value.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/data/ValueTable.java b/src/main/java/de/neemann/digiblock/data/ValueTable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/data/ValueTableModel.java b/src/main/java/de/neemann/digiblock/data/ValueTableModel.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/data/package-info.java b/src/main/java/de/neemann/digiblock/data/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/Circuit.java b/src/main/java/de/neemann/digiblock/draw/elements/Circuit.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/DotCreator.java b/src/main/java/de/neemann/digiblock/draw/elements/DotCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/ElementOrder.java b/src/main/java/de/neemann/digiblock/draw/elements/ElementOrder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/IOState.java b/src/main/java/de/neemann/digiblock/draw/elements/IOState.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/Movable.java b/src/main/java/de/neemann/digiblock/draw/elements/Movable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/Pin.java b/src/main/java/de/neemann/digiblock/draw/elements/Pin.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/PinException.java b/src/main/java/de/neemann/digiblock/draw/elements/PinException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/Pins.java b/src/main/java/de/neemann/digiblock/draw/elements/Pins.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/Tunnel.java b/src/main/java/de/neemann/digiblock/draw/elements/Tunnel.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/VisualElement.java b/src/main/java/de/neemann/digiblock/draw/elements/VisualElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/Wire.java b/src/main/java/de/neemann/digiblock/draw/elements/Wire.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/WireConsistencyChecker.java b/src/main/java/de/neemann/digiblock/draw/elements/WireConsistencyChecker.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/WireMerger.java b/src/main/java/de/neemann/digiblock/draw/elements/WireMerger.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/elements/package-info.java b/src/main/java/de/neemann/digiblock/draw/elements/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/gif/GifExporter.java b/src/main/java/de/neemann/digiblock/draw/gif/GifExporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/gif/GifSequenceWriter.java b/src/main/java/de/neemann/digiblock/draw/gif/GifSequenceWriter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/gif/package-info.java b/src/main/java/de/neemann/digiblock/draw/gif/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/ColorStyleHighContrast.java b/src/main/java/de/neemann/digiblock/draw/graphics/ColorStyleHighContrast.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/ColorStyleMonochrome.java b/src/main/java/de/neemann/digiblock/draw/graphics/ColorStyleMonochrome.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/Export.java b/src/main/java/de/neemann/digiblock/draw/graphics/Export.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/ExportFactory.java b/src/main/java/de/neemann/digiblock/draw/graphics/ExportFactory.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/Graphic.java b/src/main/java/de/neemann/digiblock/draw/graphics/Graphic.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/GraphicMinMax.java b/src/main/java/de/neemann/digiblock/draw/graphics/GraphicMinMax.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/GraphicSVG.java b/src/main/java/de/neemann/digiblock/draw/graphics/GraphicSVG.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/GraphicSwing.java b/src/main/java/de/neemann/digiblock/draw/graphics/GraphicSwing.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/GraphicTransform.java b/src/main/java/de/neemann/digiblock/draw/graphics/GraphicTransform.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/GraphicsImage.java b/src/main/java/de/neemann/digiblock/draw/graphics/GraphicsImage.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/Orientation.java b/src/main/java/de/neemann/digiblock/draw/graphics/Orientation.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/Polygon.java b/src/main/java/de/neemann/digiblock/draw/graphics/Polygon.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/PolygonConverter.java b/src/main/java/de/neemann/digiblock/draw/graphics/PolygonConverter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/PolygonParser.java b/src/main/java/de/neemann/digiblock/draw/graphics/PolygonParser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/SVGSettings.java b/src/main/java/de/neemann/digiblock/draw/graphics/SVGSettings.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/SVGTokenizer.java b/src/main/java/de/neemann/digiblock/draw/graphics/SVGTokenizer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/Style.java b/src/main/java/de/neemann/digiblock/draw/graphics/Style.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/TextFormatLaTeX.java b/src/main/java/de/neemann/digiblock/draw/graphics/TextFormatLaTeX.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/TextFormatSVG.java b/src/main/java/de/neemann/digiblock/draw/graphics/TextFormatSVG.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/Transform.java b/src/main/java/de/neemann/digiblock/draw/graphics/Transform.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/TransformMatrix.java b/src/main/java/de/neemann/digiblock/draw/graphics/TransformMatrix.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/TransformRotate.java b/src/main/java/de/neemann/digiblock/draw/graphics/TransformRotate.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/TransformTranslate.java b/src/main/java/de/neemann/digiblock/draw/graphics/TransformTranslate.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/Vector.java b/src/main/java/de/neemann/digiblock/draw/graphics/Vector.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/VectorFloat.java b/src/main/java/de/neemann/digiblock/draw/graphics/VectorFloat.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/VectorInterface.java b/src/main/java/de/neemann/digiblock/draw/graphics/VectorInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/linemerger/GraphicLineCollector.java b/src/main/java/de/neemann/digiblock/draw/graphics/linemerger/GraphicLineCollector.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/linemerger/GraphicSkipLines.java b/src/main/java/de/neemann/digiblock/draw/graphics/linemerger/GraphicSkipLines.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/linemerger/package-info.java b/src/main/java/de/neemann/digiblock/draw/graphics/linemerger/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/package-info.java b/src/main/java/de/neemann/digiblock/draw/graphics/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/ParseException.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/ParseException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/Parser.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/Parser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/GraphicsFormatter.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/GraphicsFormatter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/LaTeXFormatter.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/LaTeXFormatter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/PlainTextFormatter.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/PlainTextFormatter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/SVGFormatter.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/SVGFormatter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/package-info.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/formatter/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/package-info.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Blank.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Blank.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Character.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Character.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Decorate.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Decorate.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/ExpressionToText.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/ExpressionToText.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Index.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Index.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Sentence.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Sentence.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Simple.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Simple.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Text.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/Text.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/graphics/text/text/package-info.java b/src/main/java/de/neemann/digiblock/draw/graphics/text/text/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/ComponentManager.java b/src/main/java/de/neemann/digiblock/draw/library/ComponentManager.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/ComponentSource.java b/src/main/java/de/neemann/digiblock/draw/library/ComponentSource.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/CustomElement.java b/src/main/java/de/neemann/digiblock/draw/library/CustomElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/ElementLibrary.java b/src/main/java/de/neemann/digiblock/draw/library/ElementLibrary.java old mode 100755 new mode 100644 index f052f4a..a33ad6b --- a/src/main/java/de/neemann/digiblock/draw/library/ElementLibrary.java +++ b/src/main/java/de/neemann/digiblock/draw/library/ElementLibrary.java @@ -31,6 +31,7 @@ import de.neemann.digiblock.gui.components.graphics.LedMatrix; import de.neemann.digiblock.gui.components.graphics.VGA; import de.neemann.digiblock.gui.components.terminal.Keyboard; +import de.neemann.digiblock.gui.components.terminal.Serial.Bus; import de.neemann.digiblock.gui.components.terminal.Terminal; import de.neemann.digiblock.lang.Lang; import de.neemann.digiblock.plugin.lattice.*; @@ -146,7 +147,8 @@ public ElementLibrary(File jarFile) { .add(Terminal.DESCRIPTION) .add(VGA.DESCRIPTION) .add(MIDI.DESCRIPTION) - .add(PinControl.DESCRIPTION))) + .add(PinControl.DESCRIPTION) + .add(Bus.DESCRIPTION))) .add(new LibraryNode(Lang.get("lib_wires")) .add(Ground.DESCRIPTION) .add(VDD.DESCRIPTION) @@ -221,16 +223,17 @@ public ElementLibrary(File jarFile) { .add(Reset.DESCRIPTION) .add(Break.DESCRIPTION) .add(AsyncSeq.DESCRIPTION) - .add(External.DESCRIPTION)) - .add(new LibraryNode(Lang.get("lib_ip")) - .add(new LibraryNode(Lang.get("lib_lattice")) - .add(new LibraryNode(Lang.get("lib_machXO2")) - .add(LRamDPTrue.DESCRIPTION) - .add(LRamDQ.DESCRIPTION) - .add(LRom.DESCRIPTION) - .add(LRamDP.DESCRIPTION) -// .add(RegsFile.DESCRIPTION) - .add(PLL.DESCRIPTION)))); + .add(External.DESCRIPTION)); +// .add(new LibraryNode(Lang.get("lib_ip")) +// .add(new LibraryNode(Lang.get("lib_lattice")) +// .add(new LibraryNode(Lang.get("lib_machXO2")) +// .add(LRamDPTrue.DESCRIPTION) +// .add(LRamDQ.DESCRIPTION) +// .add(LRom.DESCRIPTION) +// .add(LRamDP.DESCRIPTION) +//// .add(RegsFile.DESCRIPTION) +// .add(PLL.DESCRIPTION) +// .add(EFB.DESCRIPTION)))); addExternalJarComponents(jarFile); diff --git a/src/main/java/de/neemann/digiblock/draw/library/ElementLibraryFolder.java b/src/main/java/de/neemann/digiblock/draw/library/ElementLibraryFolder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/ElementNotFoundException.java b/src/main/java/de/neemann/digiblock/draw/library/ElementNotFoundException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/ElementNotFoundNotification.java b/src/main/java/de/neemann/digiblock/draw/library/ElementNotFoundNotification.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/ElementTypeDescriptionCustom.java b/src/main/java/de/neemann/digiblock/draw/library/ElementTypeDescriptionCustom.java old mode 100755 new mode 100644 index deaae3c..7ae862e --- a/src/main/java/de/neemann/digiblock/draw/library/ElementTypeDescriptionCustom.java +++ b/src/main/java/de/neemann/digiblock/draw/library/ElementTypeDescriptionCustom.java @@ -6,10 +6,7 @@ package de.neemann.digiblock.draw.library; import de.neemann.digiblock.core.NodeException; -import de.neemann.digiblock.core.element.ElementAttributes; -import de.neemann.digiblock.core.element.ElementFactory; -import de.neemann.digiblock.core.element.ElementTypeDescription; -import de.neemann.digiblock.core.element.Keys; +import de.neemann.digiblock.core.element.*; import de.neemann.digiblock.draw.elements.Circuit; import de.neemann.digiblock.draw.elements.PinException; import de.neemann.digiblock.draw.elements.VisualElement; @@ -55,6 +52,7 @@ public final class ElementTypeDescriptionCustom extends ElementTypeDescription { setShortName(file.getName()); addAttribute(Keys.ROTATE); addAttribute(Keys.LABEL); + addAttribute(Keys.WIDTH); addAttribute(Keys.SHAPE_TYPE); if (isGeneric()) addAttribute(Keys.GENERIC); diff --git a/src/main/java/de/neemann/digiblock/draw/library/InvalidNodeException.java b/src/main/java/de/neemann/digiblock/draw/library/InvalidNodeException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/JarComponentManager.java b/src/main/java/de/neemann/digiblock/draw/library/JarComponentManager.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/LibraryInterface.java b/src/main/java/de/neemann/digiblock/draw/library/LibraryInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/LibraryListener.java b/src/main/java/de/neemann/digiblock/draw/library/LibraryListener.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/LibraryNode.java b/src/main/java/de/neemann/digiblock/draw/library/LibraryNode.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/NumStringComparator.java b/src/main/java/de/neemann/digiblock/draw/library/NumStringComparator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/ResolveGenerics.java b/src/main/java/de/neemann/digiblock/draw/library/ResolveGenerics.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/Visitor.java b/src/main/java/de/neemann/digiblock/draw/library/Visitor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/library/package-info.java b/src/main/java/de/neemann/digiblock/draw/library/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/model/AsyncSequentialClock.java b/src/main/java/de/neemann/digiblock/draw/model/AsyncSequentialClock.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/model/InverterConfig.java b/src/main/java/de/neemann/digiblock/draw/model/InverterConfig.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/model/ModelCreator.java b/src/main/java/de/neemann/digiblock/draw/model/ModelCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/model/ModelEntry.java b/src/main/java/de/neemann/digiblock/draw/model/ModelEntry.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/model/Net.java b/src/main/java/de/neemann/digiblock/draw/model/Net.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/model/NetList.java b/src/main/java/de/neemann/digiblock/draw/model/NetList.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/model/RealTimeClock.java b/src/main/java/de/neemann/digiblock/draw/model/RealTimeClock.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/model/package-info.java b/src/main/java/de/neemann/digiblock/draw/model/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/package-info.java b/src/main/java/de/neemann/digiblock/draw/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/AsyncClockShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/AsyncClockShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/BitSelShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/BitSelShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/BreakShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/BreakShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/BusSplitterShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/BusSplitterShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ButtonLEDShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ButtonLEDShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ButtonShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ButtonShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ClockShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ClockShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ConstShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ConstShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/CustomCircuitShapeType.java b/src/main/java/de/neemann/digiblock/draw/shapes/CustomCircuitShapeType.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DILShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DILShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DataShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DataShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DelayShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DelayShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DemuxerShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DemuxerShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DiodeBackwardShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DiodeBackwardShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DiodeForewardShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DiodeForewardShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DiodeShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DiodeShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DipSwitchShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DipSwitchShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/Drawable.java b/src/main/java/de/neemann/digiblock/draw/shapes/Drawable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/DriverShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/DriverShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/FETShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/FETShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/FETShapeN.java b/src/main/java/de/neemann/digiblock/draw/shapes/FETShapeN.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/FETShapeP.java b/src/main/java/de/neemann/digiblock/draw/shapes/FETShapeP.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/FGFETShapeN.java b/src/main/java/de/neemann/digiblock/draw/shapes/FGFETShapeN.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/FGFETShapeP.java b/src/main/java/de/neemann/digiblock/draw/shapes/FGFETShapeP.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/FuseShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/FuseShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/GenericShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/GenericShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/GroundShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/GroundShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/InOutShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/InOutShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/InputShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/InputShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/Interactor.java b/src/main/java/de/neemann/digiblock/draw/shapes/Interactor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/InteractorInterface.java b/src/main/java/de/neemann/digiblock/draw/shapes/InteractorInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/LEDShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/LEDShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/LayoutShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/LayoutShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/LightBulbShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/LightBulbShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/MissingShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/MissingShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/MuxerShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/MuxerShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ObservableValueReader.java b/src/main/java/de/neemann/digiblock/draw/shapes/ObservableValueReader.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/OutputShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/OutputShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/PinControlShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/PinControlShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/PolarityAwareLEDShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/PolarityAwareLEDShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ProbeShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ProbeShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/PullDownShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/PullDownShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/PullUpShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/PullUpShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/RAMShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/RAMShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/RGBLEDShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/RGBLEDShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/RectShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/RectShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/RelayDTShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/RelayDTShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/RelayShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/RelayShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ResetShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ResetShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/RotEncoderShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/RotEncoderShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/SevenSegHexShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/SevenSegHexShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/SevenSegShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/SevenSegShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/SevenShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/SevenShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/Shape.java b/src/main/java/de/neemann/digiblock/draw/shapes/Shape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ShapeFactory.java b/src/main/java/de/neemann/digiblock/draw/shapes/ShapeFactory.java old mode 100755 new mode 100644 index 1a9840b..7f524ea --- a/src/main/java/de/neemann/digiblock/draw/shapes/ShapeFactory.java +++ b/src/main/java/de/neemann/digiblock/draw/shapes/ShapeFactory.java @@ -7,10 +7,7 @@ import de.neemann.digiblock.core.NodeException; import de.neemann.digiblock.core.basic.*; -import de.neemann.digiblock.core.element.ElementAttributes; -import de.neemann.digiblock.core.element.ElementTypeDescription; -import de.neemann.digiblock.core.element.Keys; -import de.neemann.digiblock.core.element.PinDescriptions; +import de.neemann.digiblock.core.element.*; import de.neemann.digiblock.core.extern.External; import de.neemann.digiblock.core.io.*; import de.neemann.digiblock.core.memory.*; @@ -175,6 +172,7 @@ public ShapeFactory(ElementLibrary library, boolean ieee) { map.put(RegsFile.DESCRIPTION.getName(), RectShape::new); map.put(PLL.DESCRIPTION.getName(), ((attributes, inputs, outputs) -> new GenericShape(PLL.DESCRIPTION.getName(), inputs, outputs, attributes.getLabel(), true, 6))); + // disables string formatting for external components, see #272 map.put(External.DESCRIPTION.getName(), (attributes, inputs, outputs) -> @@ -239,7 +237,8 @@ public Shape getShape(String elementName, ElementAttributes elementAttributes) { pt.getOutputDescriptions(elementAttributes), elementAttributes.getLabel(), true, - customDescr.getAttributes().get(Keys.WIDTH)) + elementAttributes.get(Keys.WIDTH)) + // customDescr.getAttributes().get(Keys.WIDTH)) .setTopBottomBorder(SIZE2 + Style.MAXLINETHICK) .setColor(customDescr.getAttributes().get(Keys.BACKGROUND_COLOR)); } diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/SixteenShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/SixteenShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/SplitterShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/SplitterShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/SwitchDTShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/SwitchDTShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/SwitchShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/SwitchShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/TestCaseShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/TestCaseShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/TextShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/TextShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/TransGateShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/TransGateShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/TunnelShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/TunnelShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/VDDShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/VDDShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/CustomShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/CustomShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/CustomShapeDescription.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/CustomShapeDescription.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/package-info.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/Context.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/Context.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/SvgException.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/SvgException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/SvgImporter.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/SvgImporter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/SvgTemplate.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/SvgTemplate.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/TransformParser.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/TransformParser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/package-info.java b/src/main/java/de/neemann/digiblock/draw/shapes/custom/svg/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEEAndShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEEAndShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEEGenericShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEEGenericShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEENotShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEENotShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEEOrShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEEOrShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEEXOrShape.java b/src/main/java/de/neemann/digiblock/draw/shapes/ieee/IEEEXOrShape.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/ieee/package-info.java b/src/main/java/de/neemann/digiblock/draw/shapes/ieee/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/draw/shapes/package-info.java b/src/main/java/de/neemann/digiblock/draw/shapes/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/FSM.java b/src/main/java/de/neemann/digiblock/fsm/FSM.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/FSMDemos.java b/src/main/java/de/neemann/digiblock/fsm/FSMDemos.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/FiniteStateMachineException.java b/src/main/java/de/neemann/digiblock/fsm/FiniteStateMachineException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/Movable.java b/src/main/java/de/neemann/digiblock/fsm/Movable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/State.java b/src/main/java/de/neemann/digiblock/fsm/State.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/Transition.java b/src/main/java/de/neemann/digiblock/fsm/Transition.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/TransitionTableCreator.java b/src/main/java/de/neemann/digiblock/fsm/TransitionTableCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/ValueParser.java b/src/main/java/de/neemann/digiblock/fsm/ValueParser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/gui/FSMComponent.java b/src/main/java/de/neemann/digiblock/fsm/gui/FSMComponent.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/gui/FSMFrame.java b/src/main/java/de/neemann/digiblock/fsm/gui/FSMFrame.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/gui/package-info.java b/src/main/java/de/neemann/digiblock/fsm/gui/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/fsm/package-info.java b/src/main/java/de/neemann/digiblock/fsm/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/DigitalRemoteInterface.java b/src/main/java/de/neemann/digiblock/gui/DigitalRemoteInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/DigitalUncaughtExceptionHandler.java b/src/main/java/de/neemann/digiblock/gui/DigitalUncaughtExceptionHandler.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/DocumentationLocator.java b/src/main/java/de/neemann/digiblock/gui/DocumentationLocator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/ErrorStopper.java b/src/main/java/de/neemann/digiblock/gui/ErrorStopper.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/ExportZipAction.java b/src/main/java/de/neemann/digiblock/gui/ExportZipAction.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/FileHistory.java b/src/main/java/de/neemann/digiblock/gui/FileHistory.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/GuiModelObserver.java b/src/main/java/de/neemann/digiblock/gui/GuiModelObserver.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/InsertAction.java b/src/main/java/de/neemann/digiblock/gui/InsertAction.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/InsertHistory.java b/src/main/java/de/neemann/digiblock/gui/InsertHistory.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/IverilogSettings.java b/src/main/java/de/neemann/digiblock/gui/IverilogSettings.java new file mode 100644 index 0000000..fd84f50 --- /dev/null +++ b/src/main/java/de/neemann/digiblock/gui/IverilogSettings.java @@ -0,0 +1,54 @@ +package de.neemann.digiblock.gui; + +import de.neemann.digiblock.core.element.ElementAttributes; +import de.neemann.digiblock.core.element.Key; +import de.neemann.digiblock.core.element.Keys; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +/** + * The settings of iverilog + */ +public final class IverilogSettings extends SettingsBase{ + + private static final class Holder { + static final IverilogSettings INSTANCE = new IverilogSettings(); + } + + /** + * Returns the settings instance + * + * @return the Settings + */ + public static IverilogSettings getInstance() { + return Holder.INSTANCE; + } + + private IverilogSettings() { super(createKeyList(), ".iverilog.cfg");} + + private static List createKeyList() { + List intList = new ArrayList<>(); + intList.add(Keys.SETTINGS_IVERILOG_SOURCE_PATH); + intList.add(Keys.SETTINGS_IVERILOG_TESTBENCH_PATH); + + return Collections.unmodifiableList(intList); + } + + /** + * Returns true if the given modification requires a restart. + * + * @param modified the modified settings + * @return true if the modification requires a restart + */ + public boolean requiresRestart(ElementAttributes modified) { + for (Key key : getKeys()) + if (key.getRequiresRestart() && !getAttributes().equalsKey(key, modified)) + return true; + + return false; + } + +} + diff --git a/src/main/java/de/neemann/digiblock/gui/LibrarySelector.java b/src/main/java/de/neemann/digiblock/gui/LibrarySelector.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/Main.java b/src/main/java/de/neemann/digiblock/gui/Main.java old mode 100755 new mode 100644 index 97eefeb..3356f10 --- a/src/main/java/de/neemann/digiblock/gui/Main.java +++ b/src/main/java/de/neemann/digiblock/gui/Main.java @@ -5,6 +5,8 @@ */ package de.neemann.digiblock.gui; +import de.neemann.digiblock.Verification.ApplicationIverilogTb; +import de.neemann.digiblock.Verification.TestbenchKey; import de.neemann.digiblock.analyse.AnalyseException; import de.neemann.digiblock.analyse.ModelAnalyser; import de.neemann.digiblock.analyse.SubstituteLibrary; @@ -39,6 +41,8 @@ import de.neemann.digiblock.gui.components.table.TableDialog; import de.neemann.digiblock.gui.components.terminal.Keyboard; import de.neemann.digiblock.gui.components.terminal.KeyboardDialog; +import de.neemann.digiblock.gui.components.terminal.Serial.Bus; +import de.neemann.digiblock.gui.components.terminal.Serial.SerialDialog; import de.neemann.digiblock.gui.components.testing.TestAllDialog; import de.neemann.digiblock.gui.components.testing.ValueTableDialog; import de.neemann.digiblock.gui.components.tree.LibraryTreeModel; @@ -150,6 +154,9 @@ public static boolean isExperimentalMode() { private File baseFilename; private File filename; private File rarsTempFile; + private File marsTempFile; + private File armv8TempFile; + private File gtkwaveTempFile; private FileHistory fileHistory; private boolean modifiedPrefixVisible = false; @@ -204,6 +211,33 @@ private Main(MainBuilder builder) { e.printStackTrace(); } + try { + marsTempFile = File.createTempFile("mars", ".jar"); + marsTempFile.deleteOnExit(); + try (FileOutputStream out = new FileOutputStream(marsTempFile); + InputStream in = ClassLoader.getSystemResourceAsStream("Mars4_5.jar")) { + if (in != null) + IOUtils.copy(in, out); + } + } catch (IOException e) { + e.printStackTrace(); + } + + try { + armv8TempFile = File.createTempFile("armv8", ".jar"); + armv8TempFile.deleteOnExit(); + try (FileOutputStream out = new FileOutputStream(armv8TempFile); + InputStream in = ClassLoader.getSystemResourceAsStream("ARMv8_Assembler.jar")) { + if (in != null) + IOUtils.copy(in, out); + } + } catch (IOException e) { + e.printStackTrace(); + } + + + + circuitComponent = new CircuitComponent(this, library, shapeFactory); circuitComponent.addListener(this); if (builder.circuit != null) { @@ -265,27 +299,7 @@ private Main(MainBuilder builder) { menuBar.add(WindowManager.getInstance().registerAndCreateMenu(this)); - /* - * 在菜单栏中添加 TestBench 选项 - */ - JMenu testBenchMenu = new JMenu(Lang.get("menu_testBench")); - menuBar.add(testBenchMenu); - testBenchMenu.add(new ToolTipAction(Lang.get("menu_testBench_create")) { - @Override - public void actionPerformed(ActionEvent e) { - try { - Path target = Paths.get("java.io.tmpdir"); - loadRecourseFromJarByFolder("/testbench", target.toFile().getAbsolutePath()); - target.toFile().deleteOnExit(); - URI uri = target.resolve("testbench/index.html").toUri(); - Desktop desktop = Desktop.isDesktopSupported() ? Desktop.getDesktop() : null; - if (desktop != null && desktop.isSupported(Desktop.Action.BROWSE)) - desktop.browse(uri); - } catch (Exception ex) { - ex.printStackTrace(); - } - } - }.setToolTip(Lang.get("menu_testBench_create_tt")).createJMenuItem()); + createTestbench(menuBar); JMenu helpMenu = new JMenu(Lang.get("menu_help")); helpMenu.add(new ToolTipAction(Lang.get("menu_help_elements")) { @@ -1409,6 +1423,125 @@ public void actionPerformed(ActionEvent actionEvent) { } .setToolTip(Lang.get("menu_RARS_tt")) .createJMenuItem()); + assembly.add(new ToolTipAction("MARS") { + @Override + public void actionPerformed(ActionEvent actionEvent) { + try { + String cmd = "java -jar " + marsTempFile.getAbsolutePath(); + Runtime.getRuntime().exec(cmd); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + .setToolTip(Lang.get("menu_Mars_tt")) + .createJMenuItem()); + + assembly.add(new ToolTipAction("ARMv8") { + @Override + public void actionPerformed(ActionEvent actionEvent) { + try { + String cmd = "java -jar " + armv8TempFile.getAbsolutePath(); + Runtime.getRuntime().exec(cmd); + } catch (IOException e) { + e.printStackTrace(); + } + } + } + .setToolTip(Lang.get("menu_ARMv8_tt")) + .createJMenuItem()); + + + } + + /** + * Create the TestBench menu + * + * @param menuBar the menu bar + */ + private void createTestbench(JMenuBar menuBar) { + + JMenu verificationMenu = new JMenu(Lang.get("menu_verification")); + menuBar.add(verificationMenu); + + verificationMenu.add((new ToolTipAction(Lang.get("menu_instantiation_create")) { + public void actionPerformed(ActionEvent e) { + TestbenchKey.ISTESTBENCH = true; + try { + (new ModelCreator(Main.this.circuitComponent.getCircuit(), Main.this.library)).createModel(false); + } catch (PinException|NodeException|ElementNotFoundException ei) { + Main.this.showErrorWithoutARunningModel(Lang.get("msg_modelHasErrors"), ei); + return; + } + if (TestbenchKey.TIPS) { + JOptionPane.showMessageDialog(Main.this, "导出Testbench Verilog代码模版,文件名需要按以下规范命名:模块名_tb.v \n例子:模块RTL文件为adder.v,导出的Testbench 模版文件命名为adder_tb.v", "提示", -1); + TestbenchKey.TIPS = false; + } + + + JFileChooser fc = new MyFileChooser(); + if (filename != null) + fc.setSelectedFile(SaveAsHelper.checkSuffix(filename, "v")); + ElementAttributes settings = Settings.getInstance().getAttributes(); + File exportDir = settings.getFile("exportDirectory"); + if (exportDir != null) + fc.setCurrentDirectory(exportDir); + fc.addChoosableFileFilter(new FileNameExtensionFilter("Verilog", "v")); + (new SaveAsHelper(Main.this, fc, "v")).checkOverwrite( + file -> { + settings.setFile("exportDirectory", file.getParentFile()); + try (VerilogGenerator vlog = new VerilogGenerator(library, new CodePrinter(file))) { + vlog.export(circuitComponent.getCircuit()); + } + }); + TestbenchKey.ISTESTBENCH = false; + } + }).setToolTip(Lang.get("menu_instantiation_create_tt")).createJMenuItem()); + + verificationMenu.add((new ToolTipAction(Lang.get("menu_iverilog_create")) { + public void actionPerformed(ActionEvent e) { + + AttributeDialog adg = new AttributeDialog(Main.this, IverilogSettings.getInstance().getKeys(), IverilogSettings.getInstance().getAttributes()); + ElementAttributes modified = adg.setDialogTitle(Lang.get("menu_iverilog_create")).showDialog(); + ApplicationIverilogTb app = new ApplicationIverilogTb(); + File rtlDir = IverilogSettings.getInstance().get(Keys.SETTINGS_IVERILOG_SOURCE_PATH); + File tbDir = IverilogSettings.getInstance().get(Keys.SETTINGS_IVERILOG_TESTBENCH_PATH); + System.out.println(rtlDir.toString()); + System.out.println(tbDir.toString()); + + try { + if (!rtlDir.getName().isEmpty()) { + String message = app.execIvl(rtlDir, tbDir); + if (message != null && !message.isEmpty()) + createError(true, Lang.get("msg_checkResult") + "\n\n" + message).show(); + String str1 = app.execVpp(rtlDir); + } + } catch (IOException ei) { + createError(true, Lang.get("msg_checkResult")).addCause(ei).show(); + } finally { + IverilogSettings.getInstance().getAttributes().getValuesFrom(modified); + } + } + + private ErrorMessage createError(boolean consistent, String message) { + if (!consistent) + message = Lang.get("msg_codeNotConsistent") + "\n\n" + message; + return new ErrorMessage(message); + } + }).setToolTip(Lang.get("menu_iverilog_create_tt")).createJMenuItem()); + + verificationMenu.add((new ToolTipAction(Lang.get("menu_gtkWave_create")) { + public void actionPerformed(ActionEvent e) { + try { + File gtkDir = Settings.getInstance().get(Keys.SETTINGS_GTKWAVE_PATH); + Path p = Paths.get(gtkDir.getAbsolutePath()); + String gtk = p.getParent().resolve("gtkwave.exe").toString(); + Runtime.getRuntime().exec(gtk); + } catch (IOException ei) { + ei.printStackTrace(); + } + } + }).setToolTip(Lang.get("menu_gtkWave_create_tt")).createJMenuItem()); } @@ -1654,6 +1787,9 @@ private void handleKeyboardComponent(ModelEvent updateEvent) { windowPosManager.register("keyboard_" + k.getLabel(), new KeyboardDialog(this, k, handler)); } + for (Bus s: model.findNode(Bus.class)) { + windowPosManager.register("bus", new SerialDialog(s)); + } } private void showMeasurementGraph(ModelEvent updateEvent) { diff --git a/src/main/java/de/neemann/digiblock/gui/ModelModifier.java b/src/main/java/de/neemann/digiblock/gui/ModelModifier.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/NumberingWizard.java b/src/main/java/de/neemann/digiblock/gui/NumberingWizard.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/ProgramMemoryLoader.java b/src/main/java/de/neemann/digiblock/gui/ProgramMemoryLoader.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/SaveAsHelper.java b/src/main/java/de/neemann/digiblock/gui/SaveAsHelper.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/Settings.java b/src/main/java/de/neemann/digiblock/gui/Settings.java old mode 100755 new mode 100644 index 94872b3..a5195a2 --- a/src/main/java/de/neemann/digiblock/gui/Settings.java +++ b/src/main/java/de/neemann/digiblock/gui/Settings.java @@ -53,6 +53,7 @@ private static List createKeyList() { intList.add(Keys.SETTINGS_ATMISP); intList.add(Keys.SETTINGS_GHDL_PATH); intList.add(Keys.SETTINGS_IVERILOG_PATH); + intList.add(Keys.SETTINGS_GTKWAVE_PATH); intList.add(Keys.SETTINGS_TOOLCHAIN_CONFIG); intList.add(Keys.SETTINGS_FONT_SCALING); intList.add(Keys.SETTINGS_MAC_MOUSE); diff --git a/src/main/java/de/neemann/digiblock/gui/SettingsBase.java b/src/main/java/de/neemann/digiblock/gui/SettingsBase.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/StatsDialog.java b/src/main/java/de/neemann/digiblock/gui/StatsDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/StatusInterface.java b/src/main/java/de/neemann/digiblock/gui/StatusInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/WindowManager.java b/src/main/java/de/neemann/digiblock/gui/WindowManager.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/AttributeDialog.java b/src/main/java/de/neemann/digiblock/gui/components/AttributeDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/CircuitComponent.java b/src/main/java/de/neemann/digiblock/gui/components/CircuitComponent.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/CircuitScrollPanel.java b/src/main/java/de/neemann/digiblock/gui/components/CircuitScrollPanel.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/CircuitTransferable.java b/src/main/java/de/neemann/digiblock/gui/components/CircuitTransferable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/ConstraintsBuilder.java b/src/main/java/de/neemann/digiblock/gui/components/ConstraintsBuilder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/CopiedElementLabelRenamer.java b/src/main/java/de/neemann/digiblock/gui/components/CopiedElementLabelRenamer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/CustomShapeEditor.java b/src/main/java/de/neemann/digiblock/gui/components/CustomShapeEditor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/DataEditor.java b/src/main/java/de/neemann/digiblock/gui/components/DataEditor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/Editor.java b/src/main/java/de/neemann/digiblock/gui/components/Editor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/EditorFactory.java b/src/main/java/de/neemann/digiblock/gui/components/EditorFactory.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/ElementHelpDialog.java b/src/main/java/de/neemann/digiblock/gui/components/ElementHelpDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/ElementOrderer.java b/src/main/java/de/neemann/digiblock/gui/components/ElementOrderer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/ItemPicker.java b/src/main/java/de/neemann/digiblock/gui/components/ItemPicker.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/LabelGenerator.java b/src/main/java/de/neemann/digiblock/gui/components/LabelGenerator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/OrderMerger.java b/src/main/java/de/neemann/digiblock/gui/components/OrderMerger.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/ProbeDialog.java b/src/main/java/de/neemann/digiblock/gui/components/ProbeDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/ROMEditorDialog.java b/src/main/java/de/neemann/digiblock/gui/components/ROMEditorDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/SingleValueDialog.java b/src/main/java/de/neemann/digiblock/gui/components/SingleValueDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/TextLineNumber.java b/src/main/java/de/neemann/digiblock/gui/components/TextLineNumber.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/TransformHolder.java b/src/main/java/de/neemann/digiblock/gui/components/TransformHolder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/WindowPosManager.java b/src/main/java/de/neemann/digiblock/gui/components/WindowPosManager.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/data/DummyElement.java b/src/main/java/de/neemann/digiblock/gui/components/data/DummyElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/data/GraphComponent.java b/src/main/java/de/neemann/digiblock/gui/components/data/GraphComponent.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/data/GraphDialog.java b/src/main/java/de/neemann/digiblock/gui/components/data/GraphDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/data/ValueTableObserver.java b/src/main/java/de/neemann/digiblock/gui/components/data/ValueTableObserver.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/data/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/data/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/expression/ExpressionDialog.java b/src/main/java/de/neemann/digiblock/gui/components/expression/ExpressionDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/expression/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/expression/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/GraphicCard.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/GraphicCard.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/GraphicComponent.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/GraphicComponent.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/GraphicDialog.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/GraphicDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/LedMatrix.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/LedMatrix.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/LedMatrixComponent.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/LedMatrixComponent.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/LedMatrixDialog.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/LedMatrixDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/MoveFocusTo.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/MoveFocusTo.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/VGA.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/VGA.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/VGADialog.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/VGADialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/graphics/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/graphics/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughException.java b/src/main/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughMap.java b/src/main/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughMap.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughMapComponent.java b/src/main/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughMapComponent.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughMapDialog.java b/src/main/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughMapDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/karnaugh/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/karnaugh/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModificationOfVisualElement.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModificationOfVisualElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModificationOfWire.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModificationOfWire.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyAttribute.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyAttribute.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyAttributes.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyAttributes.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyCircuitAttributes.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyCircuitAttributes.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyDeleteElement.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyDeleteElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyDeleteRect.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyDeleteRect.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyDeleteWire.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyDeleteWire.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyInsertElement.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyInsertElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyInsertWire.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyInsertWire.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyMeasurementOrdering.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyMeasurementOrdering.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyMoveAndRotElement.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyMoveAndRotElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyMoveSelected.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyMoveSelected.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyMoveWire.java b/src/main/java/de/neemann/digiblock/gui/components/modification/ModifyMoveWire.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/modification/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/modification/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/AllSolutionsDialog.java b/src/main/java/de/neemann/digiblock/gui/components/table/AllSolutionsDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/BuilderExpressionCreator.java b/src/main/java/de/neemann/digiblock/gui/components/table/BuilderExpressionCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/CheckResultListener.java b/src/main/java/de/neemann/digiblock/gui/components/table/CheckResultListener.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionComponent.java b/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionComponent.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionCreator.java b/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionListener.java b/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionListener.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionListenerJK.java b/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionListenerJK.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionListenerOptimizeJK.java b/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionListenerOptimizeJK.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionListenerStore.java b/src/main/java/de/neemann/digiblock/gui/components/table/ExpressionListenerStore.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/LaTeXExpressionListener.java b/src/main/java/de/neemann/digiblock/gui/components/table/LaTeXExpressionListener.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ProgressDialog.java b/src/main/java/de/neemann/digiblock/gui/components/table/ProgressDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ReorderInputs.java b/src/main/java/de/neemann/digiblock/gui/components/table/ReorderInputs.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ReorderOutputs.java b/src/main/java/de/neemann/digiblock/gui/components/table/ReorderOutputs.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/ShowStringDialog.java b/src/main/java/de/neemann/digiblock/gui/components/table/ShowStringDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/TableDialog.java b/src/main/java/de/neemann/digiblock/gui/components/table/TableDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/TableReorderManager.java b/src/main/java/de/neemann/digiblock/gui/components/table/TableReorderManager.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/hardware/GenerateCUPL.java b/src/main/java/de/neemann/digiblock/gui/components/table/hardware/GenerateCUPL.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/hardware/GenerateFile.java b/src/main/java/de/neemann/digiblock/gui/components/table/hardware/GenerateFile.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/hardware/HardwareDescriptionGenerator.java b/src/main/java/de/neemann/digiblock/gui/components/table/hardware/HardwareDescriptionGenerator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/hardware/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/table/hardware/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/table/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/table/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/CharDeleter.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/CharDeleter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/Keyboard.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/Keyboard.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/KeyboardDialog.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/KeyboardDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Bus.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Bus.java new file mode 100644 index 0000000..64dea63 --- /dev/null +++ b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Bus.java @@ -0,0 +1,96 @@ +package de.neemann.digiblock.gui.components.terminal.Serial; + +import de.neemann.digiblock.core.Node; +import de.neemann.digiblock.core.NodeException; +import de.neemann.digiblock.core.ObservableValue; +import de.neemann.digiblock.core.ObservableValues; +import de.neemann.digiblock.core.element.Element; +import de.neemann.digiblock.core.element.ElementAttributes; +import de.neemann.digiblock.core.element.ElementTypeDescription; +import de.neemann.digiblock.core.element.Keys; +import de.neemann.digiblock.core.io.In; +import de.neemann.digiblock.draw.elements.PinException; +import de.neemann.digiblock.gui.components.terminal.Serial.Utils.ArrayUtils; +import de.neemann.digiblock.gui.components.terminal.Serial.Utils.ByteUtils; +import de.neemann.digiblock.gui.components.terminal.Terminal; +import de.neemann.digiblock.gui.components.terminal.TerminalDialog; + +import javax.swing.*; +import java.awt.*; +import java.nio.charset.StandardCharsets; + +import static de.neemann.digiblock.core.element.PinInfo.input; + +public class Bus extends Node implements Element { + + /** + * The serialport description + */ + public static final ElementTypeDescription DESCRIPTION + = new ElementTypeDescription(Bus.class, + input("C").setClock(), + input("DI")) + .addAttribute(Keys.ROTATE) + .addAttribute(Keys.LABEL); + + private final String label; + private final ElementAttributes attr; + private SerialDialog serialDialog; + private ObservableValue clock; + private boolean lastClock; + private ObservableValue dataIn; + private ObservableValue dataOut; + + public Bus(ElementAttributes attributes) { + attr = attributes; + label = attributes.getLabel(); + dataOut = new ObservableValue("DO", 32) + .setToHighZ() + .setPinDescription(DESCRIPTION); + } + + @Override + public void readInputs() throws NodeException { + boolean clockVal = clock.getBool(); + if (!lastClock && clockVal) { + int value = (int) this.dataIn.getValue(); + String hexStr = Integer.toHexString(value); + int len = hexStr.length(); + for (int i = 0; i < 32 - len; i++) { + hexStr = "0" + hexStr; + } + if (serialDialog != null) { + serialDialog.sendData(ByteUtils.hexStr2Byte(hexStr)); + } + } + lastClock = clockVal; + } + + @Override + public void writeOutputs() throws NodeException { + if (serialDialog != null) { + dataOut.setValue(serialDialog.getReadData()); + } else { + dataOut.setValue(0L); + } + } + + @Override + public void setInputs(ObservableValues inputs) throws NodeException { + clock = inputs.get(0).addObserverToValue(this).checkBits(1, this); + dataIn = inputs.get(1).addObserverToValue(this).checkBits(32, this); + } + + @Override + public ObservableValues getOutputs() throws PinException { + return new ObservableValues(dataOut); + } + public void setSerial(SerialDialog serialDialog) { + this.serialDialog = serialDialog; + } + protected void finalize() throws Throwable { + if (serialDialog.isOpen()) { + serialDialog.close(); + } + } +} diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/SerialDialog.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/SerialDialog.java new file mode 100644 index 0000000..9a2a978 --- /dev/null +++ b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/SerialDialog.java @@ -0,0 +1,467 @@ +package de.neemann.digiblock.gui.components.terminal.Serial; + +import java.awt.Color; +import java.awt.GraphicsEnvironment; +import java.awt.Point; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.util.List; + +import javax.swing.*; +import javax.swing.event.PopupMenuEvent; +import javax.swing.event.PopupMenuListener; + +import de.neemann.digiblock.gui.components.terminal.Serial.Utils.ByteUtils; +import de.neemann.digiblock.gui.components.terminal.Serial.Utils.ShowUtils; +import gnu.io.PortInUseException; +import gnu.io.SerialPort; + +/** + * 主界面 + * + * @author yangle + */ +@SuppressWarnings("all") +public class SerialDialog extends JFrame { + + // 程序界面宽度 + public final int WIDTH = 400; + // 程序界面高度 + public final int HEIGHT = 390; + + // 数据显示区 + private JTextArea mDataView = new JTextArea(); + private JScrollPane mScrollDataView = new JScrollPane(mDataView); + + // 串口设置面板 + private JPanel mSerialPortPanel = new JPanel(); + private JLabel mSerialPortLabel = new JLabel("串口"); + private JLabel mBaudrateLabel = new JLabel("波特率"); + private JComboBox mCommChoice = new JComboBox(); + private JComboBox mBaudrateChoice = new JComboBox(); + private ButtonGroup mDataChoice = new ButtonGroup(); + private JRadioButton mDataASCIIChoice = new JRadioButton("ASCII", true); + private JRadioButton mDataHexChoice = new JRadioButton("Hex"); + + // 操作面板 + private JButton mSerialPortOperate = new JButton("打开串口"); + + // 串口列表 + private List mCommList = null; + // 串口对象 + private SerialPort mSerialport; + + private int readData; + + public SerialDialog(de.neemann.digiblock.gui.components.terminal.Serial.Bus serial) { + initView(); + initComponents(); + actionListener(); + initData(); + setVisible(true); + serial.setSerial(this); + } + + /** + * 初始化窗口 + */ + private void initView() { + // 关闭程序 + setDefaultCloseOperation(WindowConstants.DISPOSE_ON_CLOSE); + // 禁止窗口最大化 + setResizable(false); + + // 设置程序窗口居中显示 + Point p = GraphicsEnvironment.getLocalGraphicsEnvironment().getCenterPoint(); + setBounds(p.x - WIDTH / 2, p.y - HEIGHT / 2, WIDTH, HEIGHT); + this.setLayout(null); + + setTitle("串口通信"); + } + + /** + * 初始化控件 + */ + private void initComponents() { + // 数据显示 + mDataView.setFocusable(false); + mScrollDataView.setBounds(10, 10, 375, 200); + add(mScrollDataView); + + // 串口设置 + mSerialPortPanel.setBorder(BorderFactory.createTitledBorder("串口设置")); + mSerialPortPanel.setBounds(10, 220, 375, 200); + mSerialPortPanel.setLayout(null); + add(mSerialPortPanel); + + mSerialPortLabel.setForeground(Color.gray); + mSerialPortLabel.setBounds(10, 25, 60, 20); + mSerialPortPanel.add(mSerialPortLabel); + + mCommChoice.setFocusable(false); + mCommChoice.setBounds(60, 25, 100, 20); + mSerialPortPanel.add(mCommChoice); + + mBaudrateLabel.setForeground(Color.gray); + mBaudrateLabel.setBounds(10, 60, 60, 20); + mSerialPortPanel.add(mBaudrateLabel); + + mBaudrateChoice.setFocusable(false); + mBaudrateChoice.setBounds(60, 60, 100, 20); + mSerialPortPanel.add(mBaudrateChoice); + + //mDataASCIIChoice.setBounds(20, 95, 55, 20); + //mDataHexChoice.setBounds(95, 95, 55, 20); + //mDataChoice.add(mDataASCIIChoice); + //mDataChoice.add(mDataHexChoice); + // mSerialPortPanel.add(mDataASCIIChoice); + //mSerialPortPanel.add(mDataHexChoice); + + // 操作 + + + + mSerialPortOperate.setFocusable(false); + mSerialPortOperate.setBounds(20, 95, 120, 20); + mSerialPortPanel.add(mSerialPortOperate); + + } + + /** + * 初始化数据 + */ + private void initData() { + mCommList = SerialPortManager.findPorts(); + // 检查是否有可用串口,有则加入选项中 + if (mCommList == null || mCommList.size() < 1) { + ShowUtils.warningMessage("没有搜索到有效串口!"); + } else { + for (String s : mCommList) { + mCommChoice.addItem(s); + } + } + + mBaudrateChoice.addItem("9600"); + mBaudrateChoice.addItem("19200"); + mBaudrateChoice.addItem("38400"); + mBaudrateChoice.addItem("57600"); + mBaudrateChoice.addItem("115200"); + } + + /** + * 按钮监听事件 + */ + private void actionListener() { + // 串口 + mCommChoice.addPopupMenuListener(new PopupMenuListener() { + + @Override + public void popupMenuWillBecomeVisible(PopupMenuEvent e) { + mCommList = SerialPortManager.findPorts(); + // 检查是否有可用串口,有则加入选项中 + if (mCommList == null || mCommList.size() < 1) { + ShowUtils.warningMessage("没有搜索到有效串口!"); + } else { + int index = mCommChoice.getSelectedIndex(); + mCommChoice.removeAllItems(); + for (String s : mCommList) { + mCommChoice.addItem(s); + } + mCommChoice.setSelectedIndex(index); + } + } + + @Override + public void popupMenuWillBecomeInvisible(PopupMenuEvent e) { + // NO OP + } + + @Override + public void popupMenuCanceled(PopupMenuEvent e) { + // NO OP + } + }); + + // 打开|关闭串口 + mSerialPortOperate.addActionListener(new ActionListener() { + + @Override + public void actionPerformed(ActionEvent e) { + if ("打开串口".equals(mSerialPortOperate.getText()) && mSerialport == null) { + openSerialPort(e); + } else { + closeSerialPort(e); + } + } + }); + + } + + /** + * 打开串口 + * + * @param evt + * 点击事件 + */ + private void openSerialPort(java.awt.event.ActionEvent evt) { + // 获取串口名称 + String commName = (String) mCommChoice.getSelectedItem(); + // 获取波特率,默认为9600 + int baudrate = 9600; + String bps = (String) mBaudrateChoice.getSelectedItem(); + baudrate = Integer.parseInt(bps); + + // 检查串口名称是否获取正确 + if (commName == null || commName.equals("")) { + ShowUtils.warningMessage("没有搜索到有效串口!"); + } else { + try { + mSerialport = SerialPortManager.openPort(commName, baudrate); + if (mSerialport != null) { + mDataView.setText("串口已打开" + "\r\n"); + mSerialPortOperate.setText("关闭串口"); + } + } catch (PortInUseException e) { + ShowUtils.warningMessage("串口已被占用!"); + } + } + + // 添加串口监听 + SerialPortManager.addListener(mSerialport, new SerialPortManager.DataAvailableListener() { + + @Override + public void dataAvailable() { + byte[] data = null; + try { + if (mSerialport == null) { + ShowUtils.errorMessage("串口对象为空,监听失败!"); + } else { + // 读取串口数据 + data = SerialPortManager.readFromPort(mSerialport); +// readData = 0; +// for (int i = data.length - 1, y = 0; i >= 0; i--, y++) { +// int val = data[i] & 0xf; +// val <<= (y * 4); +// readData = readData | val; +// } + for (int i = 0; i < data.length; i++) { + int val = 0; + int pos = select((byte) (data[i] & 0xf0)); + int maskVal = mask(pos); + if (pos == -1) continue; + else val = (data[i] & 0xf) << (pos * 4); + readData = readData & maskVal; + readData = readData | val; + } + // 以字符串的形式接收数据 + if (mDataASCIIChoice.isSelected()) { + mDataView.append(new String(data) + "\r\n"); + } + + // 以十六进制的形式接收数据 + if (mDataHexChoice.isSelected()) { + mDataView.append(ByteUtils.byteArrayToHexString(data) + "\r\n"); + } + } + } catch (Exception e) { + ShowUtils.errorMessage(e.toString()); + // 发生读取错误时显示错误信息后退出系统 + System.exit(0); + } + } + }); + } + + private int select(byte val) { + if (val == 0) { + return 0; + } else if (val == 16) { + return 1; + } else if (val == 32) { + return 2; + } else if (val == 48) { + return 3; + } else if (val == 64) { + return 4; + } else if (val == 80) { + return 5; + } else if (val == 96) { + return 6; + } else if (val == 112) { + return 7; + } + return -1; + } + + private int mask(int pos) { + if (pos == 0) { + return 0xfffffff0; + } else if (pos == 1) { + return 0xffffff0f; + } else if (pos == 2) { + return 0xfffff0ff; + } else if (pos == 3) { + return 0xffff0fff; + } else if (pos == 4) { + return 0xfff0ffff; + } else if (pos == 5) { + return 0xff0fffff; + } else if (pos == 6) { + return 0xf0ffffff; + } else if (pos == 7) { + return 0x0fffffff; + } + return 0xffffffff; + } + + /** + * 关闭串口 + * + * @param evt + * 点击事件 + */ + private void closeSerialPort(java.awt.event.ActionEvent evt) { + SerialPortManager.closePort(mSerialport); + mDataView.setText("串口已关闭" + "\r\n"); + mSerialPortOperate.setText("打开串口"); + mSerialport = null; + } + + /** + * 发送数据 + * + * @param evt + * 点击事件 + */ + private void sendData(java.awt.event.ActionEvent evt) { + String data = ""; + + if (mSerialport == null) { + ShowUtils.warningMessage("请先打开串口!"); + return; + } + + if ("".equals(data) || data == null) { + ShowUtils.warningMessage("请输入要发送的数据!"); + return; + } + SerialPortManager.sendToPort(mSerialport, ByteUtils.hexStr2Byte(data)); + } + public void sendData(byte[] data) { + if (mSerialport == null) { + ShowUtils.warningMessage("请先打开串口!"); + return; + } +// byte[] ldata = new byte[8]; +// ldata[0] = (byte) (0x00 | (data[0] & 0xf)); +// ldata[1] = (byte) (0x10 | ((data[0] & 0xf0) >> 4)); +// ldata[2] = (byte) (0x20 | (data[1] & 0xf)); +// ldata[3] = (byte) (0x30 | ((data[1] & 0xf0) >> 4)); +// ldata[4] = (byte) (0x40 | (data[2] & 0xf)); +// ldata[5] = (byte) (0x50 | ((data[2] & 0xf0) >> 4)); +// ldata[6] = (byte) (0x60 | (data[3] & 0xf)); +// ldata[7] = (byte) (0x70 | ((data[3] & 0xf0) >> 4)); + int len = data.length; + byte[] ldata = new byte[len * 2]; + for (int i = len - 1, j = len * 2 - 1, k = 0; i >= 0; i--) { + ldata[j] = (byte) ((data[i] & 0xf) | k << 4); + j--; + k++; + ldata[j] = (byte) (((data[i] & 0xf0) >> 4) | k << 4); + k++; + j--; + } + SerialPortManager.sendToPort(mSerialport, ldata); + } + public int getReadData() { + return readData; + } + public boolean isOpen() { + return mSerialport != null; + } + public void close() { + SerialPortManager.closePort(mSerialport); + mDataView.setText("串口已关闭\r\n"); + mSerialport = null; + } + + public void openSerialPort() { + // 获取串口名称 + String commName = (String) mCommChoice.getSelectedItem(); + // 获取波特率,默认为9600 + int baudrate = 9600; + String bps = (String) mBaudrateChoice.getSelectedItem(); + baudrate = Integer.parseInt(bps); + + // 检查串口名称是否获取正确 + if (commName == null || commName.equals("")) { + ShowUtils.warningMessage("没有搜索到有效串口!"); + } else { + try { + mSerialport = SerialPortManager.openPort(commName, baudrate); + if (mSerialport != null) { + mDataView.setText("串口已打开" + "\r\n"); + mSerialPortOperate.setText("关闭串口"); + } + } catch (PortInUseException e) { + ShowUtils.warningMessage("串口已被占用!"); + } + } + + // 添加串口监听 + SerialPortManager.addListener(mSerialport, new SerialPortManager.DataAvailableListener() { + + @Override + public void dataAvailable() { + byte[] data = null; + try { + if (mSerialport == null) { + ShowUtils.errorMessage("串口对象为空,监听失败!"); + } else { + // 读取串口数据 + data = SerialPortManager.readFromPort(mSerialport); +// readData = 0; +// for (int i = data.length - 1, y = 0; i >= 0; i--, y++) { +// int val = data[i] & 0xf; +// val <<= (y * 4); +// readData = readData | val; +// } + for (int i = 0; i < data.length; i++) { + int val = 0; + int pos = select((byte) (data[i] & 0xf0)); + int maskVal = mask(pos); + if (pos == -1) continue; + else val = (data[i] & 0xf) << (pos * 4); + readData = readData & maskVal; + readData = readData | val; + } + // 以字符串的形式接收数据 + if (mDataASCIIChoice.isSelected()) { + mDataView.append(new String(data) + "\r\n"); + } + + // 以十六进制的形式接收数据 + if (mDataHexChoice.isSelected()) { + mDataView.append(ByteUtils.byteArrayToHexString(data) + "\r\n"); + } + } + } catch (Exception e) { + ShowUtils.errorMessage(e.toString()); + // 发生读取错误时显示错误信息后退出系统 + System.exit(0); + } + } + }); + } + + + +// public static void main(String args[]) { +// java.awt.EventQueue.invokeLater(new Runnable() { +// public void run() { +// new SerialDialog().setVisible(true); +// } +// }); +// } +} + diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/SerialPortManager.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/SerialPortManager.java new file mode 100644 index 0000000..1355f46 --- /dev/null +++ b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/SerialPortManager.java @@ -0,0 +1,242 @@ +package de.neemann.digiblock.gui.components.terminal.Serial; + +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; +import java.util.ArrayList; +import java.util.Enumeration; +import java.util.TooManyListenersException; + + +import de.neemann.digiblock.gui.components.terminal.Serial.Utils.ArrayUtils; +import de.neemann.digiblock.gui.components.terminal.Serial.Utils.ShowUtils; +import gnu.io.CommPort; +import gnu.io.CommPortIdentifier; +import gnu.io.NoSuchPortException; +import gnu.io.PortInUseException; +import gnu.io.SerialPort; +import gnu.io.SerialPortEvent; +import gnu.io.SerialPortEventListener; +import gnu.io.UnsupportedCommOperationException; + +/** + * 串口管理 + * + * @author yangle + */ +@SuppressWarnings("all") +public class SerialPortManager { + + /** + * 查找所有可用端口 + * + * @return 可用端口名称列表 + */ + public static final ArrayList findPorts() { + // 获得当前所有可用串口 + Enumeration portList = CommPortIdentifier.getPortIdentifiers(); + ArrayList portNameList = new ArrayList(); + // 将可用串口名添加到List并返回该List + while (portList.hasMoreElements()) { + String portName = portList.nextElement().getName(); + portNameList.add(portName); + } + return portNameList; + } + + /** + * 打开串口 + * + * @param portName + * 端口名称 + * @param baudrate + * 波特率 + * @return 串口对象 + * @throws PortInUseException + * 串口已被占用 + */ + public static final SerialPort openPort(String portName, int baudrate) throws PortInUseException { + try { + // 通过端口名识别端口 + CommPortIdentifier portIdentifier = CommPortIdentifier.getPortIdentifier(portName); + // 打开端口,并给端口名字和一个timeout(打开操作的超时时间) + CommPort commPort = portIdentifier.open(portName, 2000); + // 判断是不是串口 + if (commPort instanceof SerialPort) { + SerialPort serialPort = (SerialPort) commPort; + try { + // 设置一下串口的波特率等参数 + // 数据位:8 + // 停止位:1 + // 校验位:None + serialPort.setSerialPortParams(baudrate, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, + SerialPort.PARITY_NONE); + } catch (UnsupportedCommOperationException e) { + e.printStackTrace(); + } + return serialPort; + } + } catch (NoSuchPortException e1) { + e1.printStackTrace(); + } + return null; + } + + /** + * 关闭串口 + * + * @param serialport + * 待关闭的串口对象 + */ + public static void closePort(SerialPort serialPort) { + if (serialPort != null) { + serialPort.close(); + } + } + + /** + * 往串口发送数据 + * + * @param serialPort + * 串口对象 + * @param order + * 待发送数据 + */ + public static void sendToPort(SerialPort serialPort, byte[] order) { + OutputStream out = null; + try { + out = serialPort.getOutputStream(); + out.write(order); + out.flush(); + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (out != null) { + out.close(); + out = null; + } + } catch (IOException e) { + e.printStackTrace(); + } + } + } + + /** + * 从串口读取数据 + * + * @param serialPort + * 当前已建立连接的SerialPort对象 + * @return 读取到的数据 + */ + public static byte[] readFromPort(SerialPort serialPort) { + InputStream in = null; + byte[] bytes = {}; + try { + in = serialPort.getInputStream(); + // 缓冲区大小为一个字节 + byte[] readBuffer = new byte[1]; + int bytesNum = in.read(readBuffer); + while (bytesNum > 0) { + bytes = ArrayUtils.concat(bytes, readBuffer); + bytesNum = in.read(readBuffer); + } + } catch (IOException e) { + e.printStackTrace(); + } finally { + try { + if (in != null) { + in.close(); + in = null; + } + } catch (IOException e) { + e.printStackTrace(); + } + } + return bytes; + } + + /** + * 添加监听器 + * + * @param port + * 串口对象 + * @param listener + * 串口存在有效数据监听 + */ + public static void addListener(SerialPort serialPort, DataAvailableListener listener) { + try { + // 给串口添加监听器 + serialPort.addEventListener(new SerialPortListener(listener)); + // 设置当有数据到达时唤醒监听接收线程 + serialPort.notifyOnDataAvailable(true); + // 设置当通信中断时唤醒中断线程 + serialPort.notifyOnBreakInterrupt(true); + } catch (TooManyListenersException e) { + e.printStackTrace(); + } + } + + /** + * 串口监听 + */ + public static class SerialPortListener implements SerialPortEventListener { + + private DataAvailableListener mDataAvailableListener; + + public SerialPortListener(DataAvailableListener mDataAvailableListener) { + this.mDataAvailableListener = mDataAvailableListener; + } + + public void serialEvent(SerialPortEvent serialPortEvent) { + switch (serialPortEvent.getEventType()) { + case SerialPortEvent.DATA_AVAILABLE: // 1.串口存在有效数据 + if (mDataAvailableListener != null) { + mDataAvailableListener.dataAvailable(); + } + break; + + case SerialPortEvent.OUTPUT_BUFFER_EMPTY: // 2.输出缓冲区已清空 + break; + + case SerialPortEvent.CTS: // 3.清除待发送数据 + break; + + case SerialPortEvent.DSR: // 4.待发送数据准备好了 + break; + + case SerialPortEvent.RI: // 5.振铃指示 + break; + + case SerialPortEvent.CD: // 6.载波检测 + break; + + case SerialPortEvent.OE: // 7.溢位(溢出)错误 + break; + + case SerialPortEvent.PE: // 8.奇偶校验错误 + break; + + case SerialPortEvent.FE: // 9.帧错误 + break; + + case SerialPortEvent.BI: // 10.通讯中断 + ShowUtils.errorMessage("与串口设备通讯中断"); + break; + + default: + break; + } + } + } + + /** + * 串口存在有效数据监听 + */ + public interface DataAvailableListener { + /** + * 串口存在有效数据 + */ + void dataAvailable(); + } +} \ No newline at end of file diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ArrayUtils.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ArrayUtils.java new file mode 100644 index 0000000..257d34a --- /dev/null +++ b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ArrayUtils.java @@ -0,0 +1,35 @@ +package de.neemann.digiblock.gui.components.terminal.Serial.Utils; + +import de.neemann.digiblock.core.io.In; + +public class ArrayUtils { + + /** + * 合并数组 + * + * @param firstArray + * 第一个数组 + * @param secondArray + * 第二个数组 + * @return 合并后的数组 + */ + public static byte[] concat(byte[] firstArray, byte[] secondArray) { + if (firstArray == null || secondArray == null) { + return null; + } + byte[] bytes = new byte[firstArray.length + secondArray.length]; + System.arraycopy(firstArray, 0, bytes, 0, firstArray.length); + System.arraycopy(secondArray, 0, bytes, firstArray.length, secondArray.length); + return bytes; + } + + public static byte[] intToByte(int number) { + int temp = number; + byte[] b = new byte[4]; + for (int i = 0; i < b.length; i++) { + b[i] = new Integer(temp & 0xff).byteValue(); + temp = temp >> 8; + } + return b; + } +} diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ByteUtils.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ByteUtils.java new file mode 100644 index 0000000..cc79875 --- /dev/null +++ b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ByteUtils.java @@ -0,0 +1,69 @@ +package de.neemann.digiblock.gui.components.terminal.Serial.Utils; + +import java.nio.ByteBuffer; +import java.util.Locale; + +public class ByteUtils { + + /** + * 十六进制字符串转byte[] + * + * @param hex + * 十六进制字符串 + * @return byte[] + */ + public static byte[] hexStr2Byte(String hex) { + if (hex == null) { + return new byte[] {}; + } + + // 奇数位补0 + if (hex.length() % 2 != 0) { + hex = "0" + hex; + } + + int length = hex.length(); + ByteBuffer buffer = ByteBuffer.allocate(length / 2); + for (int i = 0; i < length; i++) { + String hexStr = hex.charAt(i) + ""; + i++; + hexStr += hex.charAt(i); + byte b = (byte) Integer.parseInt(hexStr, 16); + buffer.put(b); + } + return buffer.array(); + } + + /** + * byte[]转十六进制字符串 + * + * @param array + * byte[] + * @return 十六进制字符串 + */ + public static String byteArrayToHexString(byte[] array) { + if (array == null) { + return ""; + } + StringBuffer buffer = new StringBuffer(); + for (int i = 0; i < array.length; i++) { + buffer.append(byteToHex(array[i])); + } + return buffer.toString(); + } + + /** + * byte转十六进制字符 + * + * @param b + * byte + * @return 十六进制字符 + */ + public static String byteToHex(byte b) { + String hex = Integer.toHexString(b & 0xFF); + if (hex.length() == 1) { + hex = '0' + hex; + } + return hex.toUpperCase(Locale.getDefault()); + } +} \ No newline at end of file diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ShowUtils.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ShowUtils.java new file mode 100644 index 0000000..2cceb7b --- /dev/null +++ b/src/main/java/de/neemann/digiblock/gui/components/terminal/Serial/Utils/ShowUtils.java @@ -0,0 +1,69 @@ +package de.neemann.digiblock.gui.components.terminal.Serial.Utils; + +import javax.swing.*; + +public class ShowUtils { + + /** + * 消息提示 + * + * @param message + * 消息内容 + */ + public static void message(String message) { + JOptionPane.showMessageDialog(null, message); + } + + /** + * 警告消息提示 + * + * @param message + * 消息内容 + */ + public static void warningMessage(String message) { + JOptionPane.showMessageDialog(null, message, "警告", + JOptionPane.WARNING_MESSAGE); + } + + /** + * 错误消息提示 + * + * @param message + * 消息内容 + */ + public static void errorMessage(String message) { + JOptionPane.showMessageDialog(null, message, "错误", + JOptionPane.ERROR_MESSAGE); + } + + /** + * 自定义的消息提示 + * + * @param title + * 标题 + * @param message + * 消息内容 + */ + public static void plainMessage(String title, String message) { + JOptionPane.showMessageDialog(null, message, title, + JOptionPane.PLAIN_MESSAGE); + } + + /** + * 带有选择功能的提示 + * + * @param title + * 标题 + * @param message + * 消息内容 + * @return 是/否 0/1 + */ + public static boolean selectMessage(String title, String message) { + int isConfirm = JOptionPane.showConfirmDialog(null, message, title, + JOptionPane.YES_NO_OPTION); + if (0 == isConfirm) { + return true; + } + return false; + } +} \ No newline at end of file diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/Terminal.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/Terminal.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/TerminalDialog.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/TerminalDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/terminal/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/terminal/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/testing/TestAllDialog.java b/src/main/java/de/neemann/digiblock/gui/components/testing/TestAllDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/testing/TestCaseDescriptionDialog.java b/src/main/java/de/neemann/digiblock/gui/components/testing/TestCaseDescriptionDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/testing/TestCaseDescriptionEditor.java b/src/main/java/de/neemann/digiblock/gui/components/testing/TestCaseDescriptionEditor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/testing/ValueTableDialog.java b/src/main/java/de/neemann/digiblock/gui/components/testing/ValueTableDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/testing/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/testing/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/tree/LibraryTreeModel.java b/src/main/java/de/neemann/digiblock/gui/components/tree/LibraryTreeModel.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/tree/SelectTree.java b/src/main/java/de/neemann/digiblock/gui/components/tree/SelectTree.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/components/tree/package-info.java b/src/main/java/de/neemann/digiblock/gui/components/tree/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/package-info.java b/src/main/java/de/neemann/digiblock/gui/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/release/CheckForNewRelease.java b/src/main/java/de/neemann/digiblock/gui/release/CheckForNewRelease.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/release/ReleaseInfo.java b/src/main/java/de/neemann/digiblock/gui/release/ReleaseInfo.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/release/package-info.java b/src/main/java/de/neemann/digiblock/gui/release/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/remote/DigitalHandler.java b/src/main/java/de/neemann/digiblock/gui/remote/DigitalHandler.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/remote/HandlerInterface.java b/src/main/java/de/neemann/digiblock/gui/remote/HandlerInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/remote/RemoteException.java b/src/main/java/de/neemann/digiblock/gui/remote/RemoteException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/remote/RemoteSever.java b/src/main/java/de/neemann/digiblock/gui/remote/RemoteSever.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/remote/package-info.java b/src/main/java/de/neemann/digiblock/gui/remote/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/state/State.java b/src/main/java/de/neemann/digiblock/gui/state/State.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/state/StateInterface.java b/src/main/java/de/neemann/digiblock/gui/state/StateInterface.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/state/StateManager.java b/src/main/java/de/neemann/digiblock/gui/state/StateManager.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/state/package-info.java b/src/main/java/de/neemann/digiblock/gui/state/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/tutorial/InitialTutorial.java b/src/main/java/de/neemann/digiblock/gui/tutorial/InitialTutorial.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/gui/tutorial/package-info.java b/src/main/java/de/neemann/digiblock/gui/tutorial/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/Context.java b/src/main/java/de/neemann/digiblock/hdl/hgs/Context.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/Expression.java b/src/main/java/de/neemann/digiblock/hdl/hgs/Expression.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/HGSArray.java b/src/main/java/de/neemann/digiblock/hdl/hgs/HGSArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/HGSEvalException.java b/src/main/java/de/neemann/digiblock/hdl/hgs/HGSEvalException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/HGSMap.java b/src/main/java/de/neemann/digiblock/hdl/hgs/HGSMap.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/Parser.java b/src/main/java/de/neemann/digiblock/hdl/hgs/Parser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/ParserException.java b/src/main/java/de/neemann/digiblock/hdl/hgs/ParserException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/Statement.java b/src/main/java/de/neemann/digiblock/hdl/hgs/Statement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/Statements.java b/src/main/java/de/neemann/digiblock/hdl/hgs/Statements.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/Tokenizer.java b/src/main/java/de/neemann/digiblock/hdl/hgs/Tokenizer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/Value.java b/src/main/java/de/neemann/digiblock/hdl/hgs/Value.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/function/FirstClassFunction.java b/src/main/java/de/neemann/digiblock/hdl/hgs/function/FirstClassFunction.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/function/FirstClassFunctionCall.java b/src/main/java/de/neemann/digiblock/hdl/hgs/function/FirstClassFunctionCall.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/function/Func.java b/src/main/java/de/neemann/digiblock/hdl/hgs/function/Func.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/function/Function.java b/src/main/java/de/neemann/digiblock/hdl/hgs/function/Function.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/function/InnerFunction.java b/src/main/java/de/neemann/digiblock/hdl/hgs/function/InnerFunction.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/function/JavaClass.java b/src/main/java/de/neemann/digiblock/hdl/hgs/function/JavaClass.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/function/package-info.java b/src/main/java/de/neemann/digiblock/hdl/hgs/function/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/package-info.java b/src/main/java/de/neemann/digiblock/hdl/hgs/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/refs/Reference.java b/src/main/java/de/neemann/digiblock/hdl/hgs/refs/Reference.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/refs/ReferenceToArray.java b/src/main/java/de/neemann/digiblock/hdl/hgs/refs/ReferenceToArray.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/refs/ReferenceToFunc.java b/src/main/java/de/neemann/digiblock/hdl/hgs/refs/ReferenceToFunc.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/refs/ReferenceToStruct.java b/src/main/java/de/neemann/digiblock/hdl/hgs/refs/ReferenceToStruct.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/refs/ReferenceToVar.java b/src/main/java/de/neemann/digiblock/hdl/hgs/refs/ReferenceToVar.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/hgs/refs/package-info.java b/src/main/java/de/neemann/digiblock/hdl/hgs/refs/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLCircuit.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLCircuit.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLException.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLModel.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLModel.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLNet.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLNet.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLNode.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLNode.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeAssignment.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeAssignment.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeBuildIn.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeBuildIn.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeCustom.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeCustom.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeSplitterManyToOne.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeSplitterManyToOne.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeSplitterOneToMany.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLNodeSplitterOneToMany.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HDLPort.java b/src/main/java/de/neemann/digiblock/hdl/model2/HDLPort.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/HasName.java b/src/main/java/de/neemann/digiblock/hdl/model2/HasName.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/Printable.java b/src/main/java/de/neemann/digiblock/hdl/model2/Printable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/clock/ClockInfo.java b/src/main/java/de/neemann/digiblock/hdl/model2/clock/ClockInfo.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/clock/ClockIntegratorGeneric.java b/src/main/java/de/neemann/digiblock/hdl/model2/clock/ClockIntegratorGeneric.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/clock/HDLClockIntegrator.java b/src/main/java/de/neemann/digiblock/hdl/model2/clock/HDLClockIntegrator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/clock/package-info.java b/src/main/java/de/neemann/digiblock/hdl/model2/clock/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprConstant.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprConstant.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprNot.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprNot.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprOperate.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprOperate.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprUsingNet.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprUsingNet.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprVar.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprVar.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprVarRange.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/ExprVarRange.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/Expression.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/Expression.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/Visitor.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/Visitor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/expression/package-info.java b/src/main/java/de/neemann/digiblock/hdl/model2/expression/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/InlineManyToOne.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/InlineManyToOne.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/MergeAssignments.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/MergeAssignments.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/MergeConstants.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/MergeConstants.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/NameConstantSignals.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/NameConstantSignals.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/NodeSorterExpressionBased.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/NodeSorterExpressionBased.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/Optimization.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/Optimization.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/RemoveConstantSignals.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/RemoveConstantSignals.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/ReplaceOneToMany.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/ReplaceOneToMany.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/package-info.java b/src/main/java/de/neemann/digiblock/hdl/model2/optimizations/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/model2/package-info.java b/src/main/java/de/neemann/digiblock/hdl/model2/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/printer/CodePrinter.java b/src/main/java/de/neemann/digiblock/hdl/printer/CodePrinter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/printer/CodePrinterStr.java b/src/main/java/de/neemann/digiblock/hdl/printer/CodePrinterStr.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/printer/package-info.java b/src/main/java/de/neemann/digiblock/hdl/printer/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogCreator.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogGenerator.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogGenerator.java old mode 100755 new mode 100644 index 592f992..aa67d30 --- a/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogGenerator.java +++ b/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogGenerator.java @@ -5,6 +5,7 @@ */ package de.neemann.digiblock.hdl.verilog2; +import de.neemann.digiblock.Verification.TestbenchKey; import de.neemann.digiblock.core.NodeException; import de.neemann.digiblock.core.element.Keys; import de.neemann.digiblock.draw.elements.Circuit; @@ -78,17 +79,22 @@ public VerilogGenerator export(Circuit circuit) throws IOException { for (HDLCircuit hdlCircuit : model) checkForUniqueNetNames(hdlCircuit); - out.println("/*"); - out.println(" * Generated by Digital. Don't modify this file!"); - out.println(" * Any changes will be lost if this file is regenerated."); - out.println(" */"); + if (!TestbenchKey.ISTESTBENCH) { + out.println("/*"); + out.println(" * Generated by Digiblock. Don't modify this file!"); + out.println(" * Any changes will be lost if this file is regenerated."); + out.println(" */"); + } + String fileName = out.getFile() != null ? out.getFile().getName() : circuit.getOrigin().getName(); String[] tokens = fileName.split("(?=(\\.[^\\.]+)$)"); // The power of regex :) String topModuleName = vrename.checkName(tokens[0]); - new VerilogCreator(out, library).printHDLCircuit(model.getMain(), topModuleName); + if (!TestbenchKey.ISTESTBENCH) + new VerilogCreator(out, library).printHDLCircuit(model.getMain(), topModuleName); + File outFile = out.getFile(); if (outFile != null) { diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogLibrary.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogLibrary.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogRenaming.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogRenaming.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogTestBenchCreator.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogTestBenchCreator.java old mode 100755 new mode 100644 index d3f9f74..de46be4 --- a/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogTestBenchCreator.java +++ b/src/main/java/de/neemann/digiblock/hdl/verilog2/VerilogTestBenchCreator.java @@ -5,6 +5,7 @@ */ package de.neemann.digiblock.hdl.verilog2; +import de.neemann.digiblock.Verification.TestbenchKey; import de.neemann.digiblock.hdl.vhdl2.*; import de.neemann.digiblock.core.element.ElementAttributes; import de.neemann.digiblock.data.Value; @@ -32,6 +33,7 @@ import static de.neemann.digiblock.testing.TestCaseElement.TESTDATA; import java.util.logging.Level; import java.util.logging.Logger; +import java.util.regex.Pattern; /** * Creates a test bench for a model. @@ -56,7 +58,7 @@ public VerilogTestBenchCreator(Circuit circuit, HDLModel model, String topModule this.topModuleName = topModuleName; testCases = new ArrayList<>(); for (VisualElement ve : circuit.getElements()) - if (ve.equalsDescription(TestCaseElement.TESTCASEDESCRIPTION)) + if (TestbenchKey.ISTESTBENCH) testCases.add(ve.getElementAttributes()); testFileWritten = new ArrayList<>(); renaming = model.getRenaming(); @@ -78,10 +80,7 @@ public VerilogTestBenchCreator write(File file) throws IOException, HDLException for (ElementAttributes tc : testCases) { String testName = tc.getLabel(); - if (testName.length() > 0) - testName = filename + "_" + testName + "_tb"; - else - testName = filename + "_tb"; + testName = filename; //testName = HDLPort.getHDLName(testName); @@ -112,125 +111,52 @@ private void writeTestBench(CodePrinter out, String moduleName, String testName, out.print("// A testbench for ").println(testName); out.println("`timescale 1us/1ns").println(); out.print("module ").print(testName).println(";"); - - // Write local port declaration out.inc(); - - for (HDLPort p : main.getPorts()) { + for (HDLPort p : this.main.getPorts()) out.print(" ").print(getSignalDeclarationCode(p)).println(";"); - } - out.println(); - out.print(moduleName).print(" ").print(moduleName).print("0 (").println(); + String pmoduleName = null; + if (moduleName.substring(moduleName.lastIndexOf('_')).toLowerCase().equals("_tb")) { + pmoduleName = moduleName.substring(0, moduleName.lastIndexOf('_')); + } else { + throw new IOException(Lang.get("err_testbenchModuleName")); + } + out.print(pmoduleName).print(" ").print(moduleName).print("0 (").println(); out.inc(); - Separator comma = new Separator(out, ",\n"); - - for (HDLPort p : main.getPorts()) { + for (HDLPort p : this.main.getPorts()) { comma.check(); out.print(".").print(p.getName()).print("(").print(p.getName()).print(")"); } out.dec().println().print(");").println().println(); - - TestCaseDescription testdata = tc.get(TESTDATA); - - ArrayList dataOrder = new ArrayList<>(); - ArrayList inputsInOrder = new ArrayList<>(); - ArrayList outputsInOrder = new ArrayList<>(); - for (String name : testdata.getNames()) { - String saveName = renaming.checkName(name); - boolean found = false; - for (HDLPort p : main.getPorts()) { - if (p.getName().equals(saveName)) { - dataOrder.add(p); - - if (p.getDirection() == HDLPort.Direction.OUT) { - inputsInOrder.add(p); - } else { - outputsInOrder.add(p); - } - - found = true; - break; - } + out.print("parameter PERIOD = 10;").println().println(); + String pattern = ".*(clk|clock).*"; + String clkName = ""; + for (HDLPort p : this.main.getPorts()) { + if (Pattern.matches(pattern, getSignalDeclarationCode(p))) { + clkName = p.getName(); + TestbenchKey.ISCOMBINATION = true; } - if (!found) - throw new TestingDataException(Lang.get("err_testSignal_N_notFound", name)); - } - - int rowBits = 0; - for (HDLPort p : dataOrder) { - rowBits += p.getBits(); } - - CodePrinterStr outTmp = new CodePrinterStr(); - - outTmp.inc(); - LineListener parent = new LineListenerVerilog(outTmp, dataOrder, rowBits); - testdata.getLines().emitLines(parent, new Context()); - int lineCount = ((LineListenerVerilog) parent).getLineCount(); - - String patternRange1 = rowBits == 1? "" : String.format("[%d:0] ", rowBits - 1); - String patternRange2 = lineCount == 1? "" : String.format("[0:%d]", lineCount - 1); - - out.inc(); - out.print("reg ").print(patternRange1).print("patterns").print(patternRange2).println(";"); - - String loopVar = "i"; - int lv = 0; - while (loopVarExists(loopVar, main.getPorts())) - loopVar = "i" + (lv++); - - out.print("integer ").print(loopVar).println(";"); - out.println().println("initial begin"); - out.println(outTmp.toString()); - - out.inc(); - out.print(String.format("for (%1$s = 0; %1$s < %2$d; %1$s = %1$s + 1)\n", loopVar, lineCount)); - out.println("begin").inc(); - - int rangeStart = rowBits - 1; - for (HDLPort p : inputsInOrder) { - int rangeEnd = rangeStart - p.getBits() + 1; - String rangeStr = (rangeStart != rangeEnd)? ("[" + rangeStart + ":" + rangeEnd + "]") : ("[" + rangeStart + "]"); - - out.print(p.getName()).print(" = patterns[").print(loopVar).print("]").print(rangeStr).println(";"); - rangeStart -= p.getBits(); + out.print(" $dumpfile(\"db_").print(moduleName).print(".vcd\");").println(); + out.print(" $dumpvars(0, ").print(moduleName).print(");").println(); + out.print(" /*").println(); + out.print(" * Please insert your code as fellow.").println(); + out.print(" */").println().println(); + if (TestbenchKey.ISCOMBINATION) { + out.print(" " + clkName + " = 1'b0;").println(); + out.print(" #(PERIOD/2);\n"); + out.print(" forever").println(); + out.print(" #(PERIOD/2) " + clkName + " =~ " + clkName + ";").println(); } - out.println("#10;"); - - for (HDLPort p : outputsInOrder) { - String dontCareValue = (p.getBits()) + "'hx"; - int rangeEnd = rangeStart - p.getBits() + 1; - String rangeStr = (rangeStart != rangeEnd)? ("[" + rangeStart + ":" + rangeEnd + "]") : ("[" + rangeStart + "]"); - - out.print("if (patterns[").print(loopVar).print("]").print(rangeStr).print(" !== ").print(dontCareValue).println(")") - .println("begin"); - out.inc(); - out.print("if (").print(p.getName()).print(" !== patterns[").print(loopVar).print("]").print(rangeStr).println(")") - .println("begin"); - out.inc(); - out.print("$display(\"%d:") - .print(p.getName()).print(": (assertion error). Expected %h, found %h\", ") - .print(loopVar).print(", ").print("patterns[").print(loopVar).print("]").print(rangeStr).print(", ") - .print(p.getName()).print(");") - .println(); - out.println("$finish;"); - out.dec().println("end"); - out.dec().println("end"); - - rangeStart -= p.getBits(); - } - out.dec(); - out.println("end"); - - out.println().println("$display(\"All tests passed.\");"); - - out.dec().println("end"); - out.println("endmodule"); + out.print("end").println().println(); + out.print("initial").println(); + out.print(" #100000 $finish;").println(); + out.print("endmodule"); } + private boolean loopVarExists(String loopVar, ArrayList ports) { for (HDLPort p : ports) if (p.getName().equals(loopVar)) diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/lib/VerilogElement.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/lib/VerilogElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/lib/VerilogTemplate.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/lib/VerilogTemplate.java old mode 100755 new mode 100644 index 510687e..565f2a7 --- a/src/main/java/de/neemann/digiblock/hdl/verilog2/lib/VerilogTemplate.java +++ b/src/main/java/de/neemann/digiblock/hdl/verilog2/lib/VerilogTemplate.java @@ -72,7 +72,7 @@ public String print(CodePrinter out, HDLNode node) throws HGSEvalException, IOEx Module m = getModule(node); if (!m.isWritten) { - out.println(m.code); + out.println(m.code.trim()); m.setWritten(); } @@ -100,12 +100,18 @@ public void writeGenericMap(CodePrinter out, HDLNode node) throws IOException { keyName = Value.toString(objv); - Object keyVal = node.getElementAttributes().hgsMapGet(keyName); String kvs; - if (keyVal instanceof Boolean) { - kvs = ((Boolean) keyVal) ? "1" : "0"; + if (keyName.equals("shiftBits")) { // shiftBits is not the attribute of barrel shift, but it's needed. + int val = node.getInputs().get(1).getBits(); + kvs = String.valueOf(val); } else { - kvs = keyVal.toString(); + Object keyVal = node.getElementAttributes().hgsMapGet(keyName); + + if (keyVal instanceof Boolean) { + kvs = ((Boolean) keyVal) ? "1" : "0"; + } else { + kvs = keyVal.toString(); + } } comma.check(); out.print(".").print(keyName).print("(").print(kvs).print(")"); diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/lib/package-info.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/lib/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/verilog2/package-info.java b/src/main/java/de/neemann/digiblock/hdl/verilog2/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/Separator.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/Separator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLCreator.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLGenerator.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLGenerator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLLibrary.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLLibrary.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLRenaming.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLRenaming.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLTestBenchCreator.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/VHDLTestBenchCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/entities/VHDLEntity.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/entities/VHDLEntity.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/entities/VHDLTemplate.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/entities/VHDLTemplate.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/entities/VHDLTemplateFunctions.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/entities/VHDLTemplateFunctions.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/entities/package-info.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/entities/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/hdl/vhdl2/package-info.java b/src/main/java/de/neemann/digiblock/hdl/vhdl2/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/lang/Lang.java b/src/main/java/de/neemann/digiblock/lang/Lang.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/lang/package-info.java b/src/main/java/de/neemann/digiblock/lang/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/package-info.java b/src/main/java/de/neemann/digiblock/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/PluginFun.java b/src/main/java/de/neemann/digiblock/plugin/PluginFun.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/PluginKeys.java b/src/main/java/de/neemann/digiblock/plugin/PluginKeys.java old mode 100755 new mode 100644 index 220dfbf..2e6c3bf --- a/src/main/java/de/neemann/digiblock/plugin/PluginKeys.java +++ b/src/main/java/de/neemann/digiblock/plugin/PluginKeys.java @@ -48,4 +48,28 @@ private PluginKeys() {} public static final Key INT_FORMAT = new Key.KeyEnum<>("intFormat", IntFormat.def, IntFormat.values()) .setSecondary(); + + /** + * set the mode to primary i2c + */ + public static final Key Primary_I2C + = new Key<>("primary_i2c",false) + .setName("primary i2c mode") + .setSecondary(); + + + /** + * set the mode to secondary i2c + */ + public static final Key Secondary_I2C + = new Key<>("secondary_i2c",false) + .setName("secondary i2c mode") + .setSecondary(); + /** + * set the mode to spi + */ + public static final Key SPI + = new Key<>("spi",false) + .setName("spi mode") + .setSecondary(); } diff --git a/src/main/java/de/neemann/digiblock/plugin/lattice/LRamDP.java b/src/main/java/de/neemann/digiblock/plugin/lattice/LRamDP.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/lattice/LRamDPTrue.java b/src/main/java/de/neemann/digiblock/plugin/lattice/LRamDPTrue.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/lattice/LRamDQ.java b/src/main/java/de/neemann/digiblock/plugin/lattice/LRamDQ.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/lattice/LRom.java b/src/main/java/de/neemann/digiblock/plugin/lattice/LRom.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/lattice/PLL.java b/src/main/java/de/neemann/digiblock/plugin/lattice/PLL.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/lattice/RegsFile.java b/src/main/java/de/neemann/digiblock/plugin/lattice/RegsFile.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/lattice/package-info.java b/src/main/java/de/neemann/digiblock/plugin/lattice/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/plugin/package-info.java b/src/main/java/de/neemann/digiblock/plugin/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/CommandLineTester.java b/src/main/java/de/neemann/digiblock/testing/CommandLineTester.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/FolderTestRunner.java b/src/main/java/de/neemann/digiblock/testing/FolderTestRunner.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/LineListenerResolveDontCare.java b/src/main/java/de/neemann/digiblock/testing/LineListenerResolveDontCare.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/MatchedValue.java b/src/main/java/de/neemann/digiblock/testing/MatchedValue.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/TestCaseDescription.java b/src/main/java/de/neemann/digiblock/testing/TestCaseDescription.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/TestCaseElement.java b/src/main/java/de/neemann/digiblock/testing/TestCaseElement.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/TestExecutor.java b/src/main/java/de/neemann/digiblock/testing/TestExecutor.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/TestingDataException.java b/src/main/java/de/neemann/digiblock/testing/TestingDataException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/Transitions.java b/src/main/java/de/neemann/digiblock/testing/Transitions.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/UnitTester.java b/src/main/java/de/neemann/digiblock/testing/UnitTester.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/package-info.java b/src/main/java/de/neemann/digiblock/testing/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/Context.java b/src/main/java/de/neemann/digiblock/testing/parser/Context.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/Expression.java b/src/main/java/de/neemann/digiblock/testing/parser/Expression.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/LineEmitter.java b/src/main/java/de/neemann/digiblock/testing/parser/LineEmitter.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/LineEmitterList.java b/src/main/java/de/neemann/digiblock/testing/parser/LineEmitterList.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/LineEmitterRepeat.java b/src/main/java/de/neemann/digiblock/testing/parser/LineEmitterRepeat.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/LineEmitterSimple.java b/src/main/java/de/neemann/digiblock/testing/parser/LineEmitterSimple.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/LineListener.java b/src/main/java/de/neemann/digiblock/testing/parser/LineListener.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/Parser.java b/src/main/java/de/neemann/digiblock/testing/parser/Parser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/ParserException.java b/src/main/java/de/neemann/digiblock/testing/parser/ParserException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/TestRow.java b/src/main/java/de/neemann/digiblock/testing/parser/TestRow.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/Tokenizer.java b/src/main/java/de/neemann/digiblock/testing/parser/Tokenizer.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/ValueAppender.java b/src/main/java/de/neemann/digiblock/testing/parser/ValueAppender.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/ValueAppenderBits.java b/src/main/java/de/neemann/digiblock/testing/parser/ValueAppenderBits.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/functions/Function.java b/src/main/java/de/neemann/digiblock/testing/parser/functions/Function.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/functions/IfThenElse.java b/src/main/java/de/neemann/digiblock/testing/parser/functions/IfThenElse.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/functions/Random.java b/src/main/java/de/neemann/digiblock/testing/parser/functions/Random.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/functions/SignExtend.java b/src/main/java/de/neemann/digiblock/testing/parser/functions/SignExtend.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/functions/package-info.java b/src/main/java/de/neemann/digiblock/testing/parser/functions/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/testing/parser/package-info.java b/src/main/java/de/neemann/digiblock/testing/parser/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/toolchain/Command.java b/src/main/java/de/neemann/digiblock/toolchain/Command.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/toolchain/ConfigCache.java b/src/main/java/de/neemann/digiblock/toolchain/ConfigCache.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/toolchain/Configuration.java b/src/main/java/de/neemann/digiblock/toolchain/Configuration.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/toolchain/FileToCreate.java b/src/main/java/de/neemann/digiblock/toolchain/FileToCreate.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/toolchain/package-info.java b/src/main/java/de/neemann/digiblock/toolchain/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/undo/ChangedListener.java b/src/main/java/de/neemann/digiblock/undo/ChangedListener.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/undo/Copyable.java b/src/main/java/de/neemann/digiblock/undo/Copyable.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/undo/Modification.java b/src/main/java/de/neemann/digiblock/undo/Modification.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/undo/Modifications.java b/src/main/java/de/neemann/digiblock/undo/Modifications.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/undo/ModifyException.java b/src/main/java/de/neemann/digiblock/undo/ModifyException.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/undo/UndoManager.java b/src/main/java/de/neemann/digiblock/undo/UndoManager.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/digiblock/undo/package-info.java b/src/main/java/de/neemann/digiblock/undo/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/ClosingWindowListener.java b/src/main/java/de/neemann/gui/ClosingWindowListener.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/ConfirmDialogBuilder.java b/src/main/java/de/neemann/gui/ConfirmDialogBuilder.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/ErrorMessage.java b/src/main/java/de/neemann/gui/ErrorMessage.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/IconCreator.java b/src/main/java/de/neemann/gui/IconCreator.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/InfoDialog.java b/src/main/java/de/neemann/gui/InfoDialog.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/LineBreaker.java b/src/main/java/de/neemann/gui/LineBreaker.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/Mouse.java b/src/main/java/de/neemann/gui/Mouse.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/MyFileChooser.java b/src/main/java/de/neemann/gui/MyFileChooser.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/Screen.java b/src/main/java/de/neemann/gui/Screen.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/ToolTipAction.java b/src/main/java/de/neemann/gui/ToolTipAction.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/ToolTipProvider.java b/src/main/java/de/neemann/gui/ToolTipProvider.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/WindowSizeStorage.java b/src/main/java/de/neemann/gui/WindowSizeStorage.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/language/Bundle.java b/src/main/java/de/neemann/gui/language/Bundle.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/language/Language.java b/src/main/java/de/neemann/gui/language/Language.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/language/Resources.java b/src/main/java/de/neemann/gui/language/Resources.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/language/package-info.java b/src/main/java/de/neemann/gui/language/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/java/de/neemann/gui/package-info.java b/src/main/java/de/neemann/gui/package-info.java old mode 100755 new mode 100644 diff --git a/src/main/resources/ARMv8_Assembler.jar b/src/main/resources/ARMv8_Assembler.jar new file mode 100644 index 0000000..3d7d45b Binary files /dev/null and b/src/main/resources/ARMv8_Assembler.jar differ diff --git a/src/main/resources/AbsoluteLayout.jar b/src/main/resources/AbsoluteLayout.jar new file mode 100644 index 0000000..b51cba7 Binary files /dev/null and b/src/main/resources/AbsoluteLayout.jar differ diff --git a/src/main/resources/Mars4_5.jar b/src/main/resources/Mars4_5.jar new file mode 100644 index 0000000..0021281 Binary files /dev/null and b/src/main/resources/Mars4_5.jar differ diff --git a/src/main/resources/RXTXcomm.jar b/src/main/resources/RXTXcomm.jar new file mode 100644 index 0000000..e1e7503 Binary files /dev/null and b/src/main/resources/RXTXcomm.jar differ diff --git a/src/main/resources/analyser/Counter.dig b/src/main/resources/analyser/Counter.dig old mode 100755 new mode 100644 diff --git a/src/main/resources/analyser/CounterPreset.dig b/src/main/resources/analyser/CounterPreset.dig old mode 100755 new mode 100644 diff --git a/src/main/resources/analyser/JK_FF.dig b/src/main/resources/analyser/JK_FF.dig old mode 100755 new mode 100644 diff --git a/src/main/resources/analyser/Register.dig b/src/main/resources/analyser/Register.dig old mode 100755 new mode 100644 diff --git a/src/main/resources/analyser/T_FF.dig b/src/main/resources/analyser/T_FF.dig old mode 100755 new mode 100644 diff --git a/src/main/resources/analyser/T_FF_EN.dig b/src/main/resources/analyser/T_FF_EN.dig old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/View-zoom-fit.png b/src/main/resources/icons/View-zoom-fit.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/View-zoom-fit_hi.png b/src/main/resources/icons/View-zoom-fit_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/View-zoom-in.png b/src/main/resources/icons/View-zoom-in.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/View-zoom-in_hi.png b/src/main/resources/icons/View-zoom-in_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/View-zoom-out.png b/src/main/resources/icons/View-zoom-out.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/View-zoom-out_hi.png b/src/main/resources/icons/View-zoom-out_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/delete.png b/src/main/resources/icons/delete.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/delete_hi.png b/src/main/resources/icons/delete_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/dialog-error.png b/src/main/resources/icons/dialog-error.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/dialog-error_hi.png b/src/main/resources/icons/dialog-error_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-new-sub.png b/src/main/resources/icons/document-new-sub.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-new-sub_hi.png b/src/main/resources/icons/document-new-sub_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-new.png b/src/main/resources/icons/document-new.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-new_hi.png b/src/main/resources/icons/document-new_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-open-new.png b/src/main/resources/icons/document-open-new.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-open-new_hi.png b/src/main/resources/icons/document-open-new_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-open.png b/src/main/resources/icons/document-open.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-open_hi.png b/src/main/resources/icons/document-open_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-save-as.png b/src/main/resources/icons/document-save-as.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-save-as_hi.png b/src/main/resources/icons/document-save-as_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-save.png b/src/main/resources/icons/document-save.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/document-save_hi.png b/src/main/resources/icons/document-save_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/edit-redo.png b/src/main/resources/icons/edit-redo.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/edit-redo_hi.png b/src/main/resources/icons/edit-redo_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/edit-undo.png b/src/main/resources/icons/edit-undo.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/edit-undo_hi.png b/src/main/resources/icons/edit-undo_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/help.png b/src/main/resources/icons/help.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/help_hi.png b/src/main/resources/icons/help_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/icon128.png b/src/main/resources/icons/icon128.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/icon32.png b/src/main/resources/icons/icon32.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/icon48.ico b/src/main/resources/icons/icon48.ico old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/icon48.png b/src/main/resources/icons/icon48.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/icon64.png b/src/main/resources/icons/icon64.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/measurement-graph.png b/src/main/resources/icons/measurement-graph.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/measurement-graph_hi.png b/src/main/resources/icons/measurement-graph_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-playback-start-2.png b/src/main/resources/icons/media-playback-start-2.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-playback-start-2_hi.png b/src/main/resources/icons/media-playback-start-2_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-playback-start-T.png b/src/main/resources/icons/media-playback-start-T.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-playback-start-T_hi.png b/src/main/resources/icons/media-playback-start-T_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-playback-start.png b/src/main/resources/icons/media-playback-start.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-playback-start_hi.png b/src/main/resources/icons/media-playback-start_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-playback-stop.png b/src/main/resources/icons/media-playback-stop.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-playback-stop_hi.png b/src/main/resources/icons/media-playback-stop_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-seek-forward-f.png b/src/main/resources/icons/media-seek-forward-f.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-seek-forward-f_hi.png b/src/main/resources/icons/media-seek-forward-f_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-seek-forward.png b/src/main/resources/icons/media-seek-forward.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-seek-forward_hi.png b/src/main/resources/icons/media-seek-forward_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-skip-forward.png b/src/main/resources/icons/media-skip-forward.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/media-skip-forward_hi.png b/src/main/resources/icons/media-skip-forward_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/splash(o).png b/src/main/resources/icons/splash(o).png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/splash.png b/src/main/resources/icons/splash.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/testFailed.png b/src/main/resources/icons/testFailed.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/testFailed_hi.png b/src/main/resources/icons/testFailed_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/testPassed.png b/src/main/resources/icons/testPassed.png old mode 100755 new mode 100644 diff --git a/src/main/resources/icons/testPassed_hi.png b/src/main/resources/icons/testPassed_hi.png old mode 100755 new mode 100644 diff --git a/src/main/resources/lang/howTo.md b/src/main/resources/lang/howTo.md old mode 100755 new mode 100644 diff --git a/src/main/resources/lang/lang.xml b/src/main/resources/lang/lang.xml old mode 100755 new mode 100644 diff --git a/src/main/resources/lang/lang_de.xml b/src/main/resources/lang/lang_de.xml old mode 100755 new mode 100644 diff --git a/src/main/resources/lang/lang_en.xml b/src/main/resources/lang/lang_en.xml old mode 100755 new mode 100644 index b6ded59..93e939a --- a/src/main/resources/lang/lang_en.xml +++ b/src/main/resources/lang/lang_en.xml @@ -52,7 +52,7 @@ a SVG template and then edit it. Warning Cancel - Digital + Digiblock Expression Inputs Outputs @@ -1299,6 +1299,12 @@ IVerilog Path to the Icarus verilog installation folder. Only necessary if you want to use iverilog to simulate components defined with verilog. + Gtkwave + Path to the Gtkwave installaton folder. + Source + Path to the rtl folder + Testbench + Path to the testbench folder Maximum Value If a zero is entered, the maximum possible value is used (all bits are one). @@ -1493,9 +1499,13 @@ Run to Break Runs the circuit until a break is detected by a BRK component. File - TestBench - BlockTB - Create testbench in browser. + Verification + Export to Testbench + Auto generate the trl file as well as testbench file. If the circut is Sequential logic circut, the name of clk input should contain clk or clock. + Gtkwave + open gtkwave + Iverilog + open iverilog Help Update Updates the components menu. @@ -2120,4 +2130,4 @@ Therefore, the signal 'D_out' is also available to check the value in this case. Skip Tutorial - \ No newline at end of file + diff --git a/src/main/resources/lang/lang_es.xml b/src/main/resources/lang/lang_es.xml old mode 100755 new mode 100644 diff --git a/src/main/resources/lang/lang_es_ref.xml b/src/main/resources/lang/lang_es_ref.xml old mode 100755 new mode 100644 diff --git a/src/main/resources/lang/lang_pt.xml b/src/main/resources/lang/lang_pt.xml old mode 100755 new mode 100644 diff --git a/src/main/resources/lang/lang_pt_ref.xml b/src/main/resources/lang/lang_pt_ref.xml old mode 100755 new mode 100644 diff --git a/src/main/resources/rars1_3_1.jar b/src/main/resources/rars1_3_1.jar old mode 100755 new mode 100644 diff --git a/src/main/resources/swing-layout-1.0.3.jar b/src/main/resources/swing-layout-1.0.3.jar new file mode 100644 index 0000000..6e1b43b Binary files /dev/null and b/src/main/resources/swing-layout-1.0.3.jar differ diff --git a/src/main/resources/testbench/README.md b/src/main/resources/testbench/README.md old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/bitwise.PNG b/src/main/resources/testbench/assets/bitwise.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/bitwise2.PNG b/src/main/resources/testbench/assets/bitwise2.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/conditionExamplesVV.PNG b/src/main/resources/testbench/assets/conditionExamplesVV.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/conditionVCode.PNG b/src/main/resources/testbench/assets/conditionVCode.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/dataFlowModule.PNG b/src/main/resources/testbench/assets/dataFlowModule.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/gateLeve;ModulePNG.PNG b/src/main/resources/testbench/assets/gateLeve;ModulePNG.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/gateLevel1.PNG b/src/main/resources/testbench/assets/gateLevel1.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/gateLevelCirc.PNG b/src/main/resources/testbench/assets/gateLevelCirc.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/helloWorld.PNG b/src/main/resources/testbench/assets/helloWorld.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/helloWorldR.PNG b/src/main/resources/testbench/assets/helloWorldR.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/helloWorldV.PNG b/src/main/resources/testbench/assets/helloWorldV.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/logic.PNG b/src/main/resources/testbench/assets/logic.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/logic2.PNG b/src/main/resources/testbench/assets/logic2.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/loops.PNG b/src/main/resources/testbench/assets/loops.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/loops1.PNG b/src/main/resources/testbench/assets/loops1.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/loops3.PNG b/src/main/resources/testbench/assets/loops3.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/numbers.PNG b/src/main/resources/testbench/assets/numbers.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/numbers1.PNG b/src/main/resources/testbench/assets/numbers1.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/numbersResult.PNG b/src/main/resources/testbench/assets/numbersResult.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/operators.PNG b/src/main/resources/testbench/assets/operators.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/orGateDataFlow.PNG b/src/main/resources/testbench/assets/orGateDataFlow.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/orGateVisualVerilog.PNG b/src/main/resources/testbench/assets/orGateVisualVerilog.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/simulation1.PNG b/src/main/resources/testbench/assets/simulation1.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/simulation2.PNG b/src/main/resources/testbench/assets/simulation2.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/simulation3.PNG b/src/main/resources/testbench/assets/simulation3.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/simulation4.PNG b/src/main/resources/testbench/assets/simulation4.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/assets/variables.PNG b/src/main/resources/testbench/assets/variables.PNG old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/documentation.html b/src/main/resources/testbench/documentation.html old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/generators/verilog.js b/src/main/resources/testbench/generators/verilog.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/generators/verilog/custom.js b/src/main/resources/testbench/generators/verilog/custom.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/generators/verilog/logic.js b/src/main/resources/testbench/generators/verilog/logic.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/generators/verilog/loops.js b/src/main/resources/testbench/generators/verilog/loops.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/generators/verilog/math.js b/src/main/resources/testbench/generators/verilog/math.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/generators/verilog/text.js b/src/main/resources/testbench/generators/verilog/text.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/generators/verilog/variables.js b/src/main/resources/testbench/generators/verilog/variables.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/generators/verilog/variables_dynamic.js b/src/main/resources/testbench/generators/verilog/variables_dynamic.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/index.html b/src/main/resources/testbench/index.html old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/blockly_compressed.js b/src/main/resources/testbench/js/blockly_compressed.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/blocks_compressed.js b/src/main/resources/testbench/js/blocks_compressed.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/customBlocks.js b/src/main/resources/testbench/js/customBlocks.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/en.js b/src/main/resources/testbench/js/en.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/lists.js b/src/main/resources/testbench/js/lists.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/logic.js b/src/main/resources/testbench/js/logic.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/loops.js b/src/main/resources/testbench/js/loops.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/math.js b/src/main/resources/testbench/js/math.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/text.js b/src/main/resources/testbench/js/text.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/js/variables.js b/src/main/resources/testbench/js/variables.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ab.js b/src/main/resources/testbench/msg/js/ab.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ar.js b/src/main/resources/testbench/msg/js/ar.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/az.js b/src/main/resources/testbench/msg/js/az.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ba.js b/src/main/resources/testbench/msg/js/ba.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/bcc.js b/src/main/resources/testbench/msg/js/bcc.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/be-tarask.js b/src/main/resources/testbench/msg/js/be-tarask.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/be.js b/src/main/resources/testbench/msg/js/be.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/bg.js b/src/main/resources/testbench/msg/js/bg.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/bn.js b/src/main/resources/testbench/msg/js/bn.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/br.js b/src/main/resources/testbench/msg/js/br.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ca.js b/src/main/resources/testbench/msg/js/ca.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/cs.js b/src/main/resources/testbench/msg/js/cs.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/da.js b/src/main/resources/testbench/msg/js/da.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/de.js b/src/main/resources/testbench/msg/js/de.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/diq.js b/src/main/resources/testbench/msg/js/diq.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/dty.js b/src/main/resources/testbench/msg/js/dty.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/el.js b/src/main/resources/testbench/msg/js/el.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/en-gb.js b/src/main/resources/testbench/msg/js/en-gb.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/en.js b/src/main/resources/testbench/msg/js/en.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/eo.js b/src/main/resources/testbench/msg/js/eo.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/es.js b/src/main/resources/testbench/msg/js/es.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/et.js b/src/main/resources/testbench/msg/js/et.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/eu.js b/src/main/resources/testbench/msg/js/eu.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/fa.js b/src/main/resources/testbench/msg/js/fa.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/fi.js b/src/main/resources/testbench/msg/js/fi.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/fr.js b/src/main/resources/testbench/msg/js/fr.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/gl.js b/src/main/resources/testbench/msg/js/gl.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/gor.js b/src/main/resources/testbench/msg/js/gor.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ha.js b/src/main/resources/testbench/msg/js/ha.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/he.js b/src/main/resources/testbench/msg/js/he.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/hi.js b/src/main/resources/testbench/msg/js/hi.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/hrx.js b/src/main/resources/testbench/msg/js/hrx.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/hu.js b/src/main/resources/testbench/msg/js/hu.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/hy.js b/src/main/resources/testbench/msg/js/hy.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ia.js b/src/main/resources/testbench/msg/js/ia.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/id.js b/src/main/resources/testbench/msg/js/id.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/is.js b/src/main/resources/testbench/msg/js/is.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/it.js b/src/main/resources/testbench/msg/js/it.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ja.js b/src/main/resources/testbench/msg/js/ja.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/kab.js b/src/main/resources/testbench/msg/js/kab.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ko.js b/src/main/resources/testbench/msg/js/ko.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/lb.js b/src/main/resources/testbench/msg/js/lb.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/lki.js b/src/main/resources/testbench/msg/js/lki.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/lo.js b/src/main/resources/testbench/msg/js/lo.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/lrc.js b/src/main/resources/testbench/msg/js/lrc.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/lt.js b/src/main/resources/testbench/msg/js/lt.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/lv.js b/src/main/resources/testbench/msg/js/lv.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/mk.js b/src/main/resources/testbench/msg/js/mk.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/mnw.js b/src/main/resources/testbench/msg/js/mnw.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ms.js b/src/main/resources/testbench/msg/js/ms.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/nb.js b/src/main/resources/testbench/msg/js/nb.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/nl.js b/src/main/resources/testbench/msg/js/nl.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/oc.js b/src/main/resources/testbench/msg/js/oc.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/pl.js b/src/main/resources/testbench/msg/js/pl.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/pms.js b/src/main/resources/testbench/msg/js/pms.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/pt-br.js b/src/main/resources/testbench/msg/js/pt-br.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/pt.js b/src/main/resources/testbench/msg/js/pt.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ro.js b/src/main/resources/testbench/msg/js/ro.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ru.js b/src/main/resources/testbench/msg/js/ru.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/sc.js b/src/main/resources/testbench/msg/js/sc.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/sd.js b/src/main/resources/testbench/msg/js/sd.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/shn.js b/src/main/resources/testbench/msg/js/shn.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/sk.js b/src/main/resources/testbench/msg/js/sk.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/skr-arab.js b/src/main/resources/testbench/msg/js/skr-arab.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/sl.js b/src/main/resources/testbench/msg/js/sl.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/sq.js b/src/main/resources/testbench/msg/js/sq.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/sr-latn.js b/src/main/resources/testbench/msg/js/sr-latn.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/sr.js b/src/main/resources/testbench/msg/js/sr.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/sv.js b/src/main/resources/testbench/msg/js/sv.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ta.js b/src/main/resources/testbench/msg/js/ta.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/tcy.js b/src/main/resources/testbench/msg/js/tcy.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/te.js b/src/main/resources/testbench/msg/js/te.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/th.js b/src/main/resources/testbench/msg/js/th.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/tl.js b/src/main/resources/testbench/msg/js/tl.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/tlh.js b/src/main/resources/testbench/msg/js/tlh.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/tr.js b/src/main/resources/testbench/msg/js/tr.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ug-arab.js b/src/main/resources/testbench/msg/js/ug-arab.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/uk.js b/src/main/resources/testbench/msg/js/uk.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/ur.js b/src/main/resources/testbench/msg/js/ur.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/vi.js b/src/main/resources/testbench/msg/js/vi.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/xmf.js b/src/main/resources/testbench/msg/js/xmf.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/zh-hans.js b/src/main/resources/testbench/msg/js/zh-hans.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/js/zh-hant.js b/src/main/resources/testbench/msg/js/zh-hant.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ab.json b/src/main/resources/testbench/msg/json/ab.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ar.json b/src/main/resources/testbench/msg/json/ar.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/az.json b/src/main/resources/testbench/msg/json/az.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ba.json b/src/main/resources/testbench/msg/json/ba.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/bcc.json b/src/main/resources/testbench/msg/json/bcc.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/be-tarask.json b/src/main/resources/testbench/msg/json/be-tarask.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/be.json b/src/main/resources/testbench/msg/json/be.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/bg.json b/src/main/resources/testbench/msg/json/bg.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/bn.json b/src/main/resources/testbench/msg/json/bn.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/br.json b/src/main/resources/testbench/msg/json/br.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ca.json b/src/main/resources/testbench/msg/json/ca.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/constants.json b/src/main/resources/testbench/msg/json/constants.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/cs.json b/src/main/resources/testbench/msg/json/cs.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/da.json b/src/main/resources/testbench/msg/json/da.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/de.json b/src/main/resources/testbench/msg/json/de.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/diq.json b/src/main/resources/testbench/msg/json/diq.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/dty.json b/src/main/resources/testbench/msg/json/dty.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/el.json b/src/main/resources/testbench/msg/json/el.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/en-gb.json b/src/main/resources/testbench/msg/json/en-gb.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/en.json b/src/main/resources/testbench/msg/json/en.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/eo.json b/src/main/resources/testbench/msg/json/eo.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/es.json b/src/main/resources/testbench/msg/json/es.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/et.json b/src/main/resources/testbench/msg/json/et.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/eu.json b/src/main/resources/testbench/msg/json/eu.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/fa.json b/src/main/resources/testbench/msg/json/fa.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/fi.json b/src/main/resources/testbench/msg/json/fi.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/fr.json b/src/main/resources/testbench/msg/json/fr.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/gl.json b/src/main/resources/testbench/msg/json/gl.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/gor.json b/src/main/resources/testbench/msg/json/gor.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ha.json b/src/main/resources/testbench/msg/json/ha.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/he.json b/src/main/resources/testbench/msg/json/he.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/hi.json b/src/main/resources/testbench/msg/json/hi.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/hrx.json b/src/main/resources/testbench/msg/json/hrx.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/hu.json b/src/main/resources/testbench/msg/json/hu.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/hy.json b/src/main/resources/testbench/msg/json/hy.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ia.json b/src/main/resources/testbench/msg/json/ia.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/id.json b/src/main/resources/testbench/msg/json/id.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/is.json b/src/main/resources/testbench/msg/json/is.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/it.json b/src/main/resources/testbench/msg/json/it.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ja.json b/src/main/resources/testbench/msg/json/ja.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/kab.json b/src/main/resources/testbench/msg/json/kab.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ko.json b/src/main/resources/testbench/msg/json/ko.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/lb.json b/src/main/resources/testbench/msg/json/lb.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/lki.json b/src/main/resources/testbench/msg/json/lki.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/lo.json b/src/main/resources/testbench/msg/json/lo.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/lrc.json b/src/main/resources/testbench/msg/json/lrc.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/lt.json b/src/main/resources/testbench/msg/json/lt.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/lv.json b/src/main/resources/testbench/msg/json/lv.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/mk.json b/src/main/resources/testbench/msg/json/mk.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/mnw.json b/src/main/resources/testbench/msg/json/mnw.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ms.json b/src/main/resources/testbench/msg/json/ms.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/nb.json b/src/main/resources/testbench/msg/json/nb.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/nl.json b/src/main/resources/testbench/msg/json/nl.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/oc.json b/src/main/resources/testbench/msg/json/oc.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/pl.json b/src/main/resources/testbench/msg/json/pl.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/pms.json b/src/main/resources/testbench/msg/json/pms.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/pt-br.json b/src/main/resources/testbench/msg/json/pt-br.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/pt.json b/src/main/resources/testbench/msg/json/pt.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/qqq.json b/src/main/resources/testbench/msg/json/qqq.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ro.json b/src/main/resources/testbench/msg/json/ro.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ru.json b/src/main/resources/testbench/msg/json/ru.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/sc.json b/src/main/resources/testbench/msg/json/sc.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/sd.json b/src/main/resources/testbench/msg/json/sd.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/shn.json b/src/main/resources/testbench/msg/json/shn.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/sk.json b/src/main/resources/testbench/msg/json/sk.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/skr-arab.json b/src/main/resources/testbench/msg/json/skr-arab.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/sl.json b/src/main/resources/testbench/msg/json/sl.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/sq.json b/src/main/resources/testbench/msg/json/sq.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/sr-latn.json b/src/main/resources/testbench/msg/json/sr-latn.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/sr.json b/src/main/resources/testbench/msg/json/sr.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/sv.json b/src/main/resources/testbench/msg/json/sv.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/synonyms.json b/src/main/resources/testbench/msg/json/synonyms.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ta.json b/src/main/resources/testbench/msg/json/ta.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/tcy.json b/src/main/resources/testbench/msg/json/tcy.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/te.json b/src/main/resources/testbench/msg/json/te.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/th.json b/src/main/resources/testbench/msg/json/th.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/tl.json b/src/main/resources/testbench/msg/json/tl.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/tlh.json b/src/main/resources/testbench/msg/json/tlh.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/tr.json b/src/main/resources/testbench/msg/json/tr.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ug-arab.json b/src/main/resources/testbench/msg/json/ug-arab.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/uk.json b/src/main/resources/testbench/msg/json/uk.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/ur.json b/src/main/resources/testbench/msg/json/ur.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/vi.json b/src/main/resources/testbench/msg/json/vi.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/xmf.json b/src/main/resources/testbench/msg/json/xmf.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/zh-hans.json b/src/main/resources/testbench/msg/json/zh-hans.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/json/zh-hant.json b/src/main/resources/testbench/msg/json/zh-hant.json old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/msg/messages.js b/src/main/resources/testbench/msg/messages.js old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/save.png b/src/main/resources/testbench/save.png old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/styles_documentation.css b/src/main/resources/testbench/styles_documentation.css old mode 100755 new mode 100644 diff --git a/src/main/resources/testbench/styles_index.css b/src/main/resources/testbench/styles_index.css old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Add.v b/src/main/resources/verilog/DIG_Add.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_BarrelShifter.v b/src/main/resources/verilog/DIG_BarrelShifter.v new file mode 100644 index 0000000..7e95bbe --- /dev/null +++ b/src/main/resources/verilog/DIG_BarrelShifter.v @@ -0,0 +1,164 @@ + +module #( +parameter Bits = 4, +parameter shiftBits=3 +) +( + input [(Bits-1):0] in, + input [(shiftBits-1):0] shift, + output [(Bits - 1):0] out +); + +assign out = (in << shift); + +endmodule + + +module #( +parameter Bits = 4, +parameter shiftBits=3 +) +( + input [(Bits-1):0] in, + input [(shiftBits-1):0] shift, + output [(Bits - 1):0] out +); + +assign out = (in >> shift); + +endmodule + + +module #( +parameter Bits = 4, +parameter shiftBits=3 +) +( + input [(Bits-1):0] in, + input [(shiftBits-1):0] shift, + output [(Bits - 1):0] out +); + +assign out=($signed(in)<< + +module #( +parameter Bits = 4, +parameter shiftBits=3 +) +( + input [(Bits-1):0] in, + input [(shiftBits-1):0] shift, + output [(Bits - 1):0] out +); + +assign out=($signed(in)>>>shift); + +endmodule + + 1)) { + generics[0] := "Bits"; + generics[1] := "shiftBits"; + moduleName = "RotateLeft"; +-?> +module #( +parameter Bits = 4, +parameter shiftBits=3 +) +( + input [(Bits-1):0] in, + input [(shiftBits-1):0] shift, + output [(Bits - 1):0] out +); + +wire [(shiftBits-2):0] num; +assign num=shift[(shiftBits-2):0]; +assign out = (in >> (Bits-num)| (in< + +module #( +parameter Bits = 4, +parameter shiftBits=3 +) +( + input [(Bits-1):0] in, + input [(shiftBits-1):0] shift, + output [(Bits - 1):0] out +); + +assign out = (in >> (Bits-shift)| (in< + 1)) { + generics[0] := "Bits"; + generics[1] := "shiftBits"; + moduleName = "RotateRight"; +-?> +module #( +parameter Bits = 4, +parameter shiftBits=3 +) +( + input [(Bits-1):0] in, + input [(shiftBits-1):0] shift, + output [(Bits - 1):0] out +); + +wire [(shiftBits-2):0] num; +assign num=shift[(shiftBits-2):0]; +assign out = (in << (Bits-num)| (in>>num)); + +endmodule + + +module #( +parameter Bits = 4, +parameter shiftBits=3 +) +( + input [(Bits-1):0] in, + input [(shiftBits-1):0] shift, + output [(Bits - 1):0] out +); + +assign out = (in << (Bits-shift)| (in>>shift)); + +endmodule + diff --git a/src/main/resources/verilog/DIG_BitExtender.v b/src/main/resources/verilog/DIG_BitExtender.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_BitSelector.v b/src/main/resources/verilog/DIG_BitSelector.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_BlockRAMDualPort.v b/src/main/resources/verilog/DIG_BlockRAMDualPort.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Comparator.v b/src/main/resources/verilog/DIG_Comparator.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Counter.v b/src/main/resources/verilog/DIG_Counter.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_CounterPreset.v b/src/main/resources/verilog/DIG_CounterPreset.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_DCM_SP.v b/src/main/resources/verilog/DIG_DCM_SP.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_D_FF.v b/src/main/resources/verilog/DIG_D_FF.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_D_FF_AS.v b/src/main/resources/verilog/DIG_D_FF_AS.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Decoder.v b/src/main/resources/verilog/DIG_Decoder.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Demultiplexer.v b/src/main/resources/verilog/DIG_Demultiplexer.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Driver.v b/src/main/resources/verilog/DIG_Driver.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_DriverInvSel.v b/src/main/resources/verilog/DIG_DriverInvSel.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_EFB.v b/src/main/resources/verilog/DIG_EFB.v new file mode 100644 index 0000000..c4fa42f --- /dev/null +++ b/src/main/resources/verilog/DIG_EFB.v @@ -0,0 +1,3 @@ + \ No newline at end of file diff --git a/src/main/resources/verilog/DIG_External.v b/src/main/resources/verilog/DIG_External.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_JK_FF.v b/src/main/resources/verilog/DIG_JK_FF.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_JK_FF_AS.v b/src/main/resources/verilog/DIG_JK_FF_AS.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_LRamDP.v b/src/main/resources/verilog/DIG_LRamDP.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_LRamDPTrue.v b/src/main/resources/verilog/DIG_LRamDPTrue.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_LRamDQ.v b/src/main/resources/verilog/DIG_LRamDQ.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_LRom.v b/src/main/resources/verilog/DIG_LRom.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_LookUpTable.v b/src/main/resources/verilog/DIG_LookUpTable.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Mul.v b/src/main/resources/verilog/DIG_Mul.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Multiplexer.v b/src/main/resources/verilog/DIG_Multiplexer.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_PLL.v b/src/main/resources/verilog/DIG_PLL.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_PinControl.v b/src/main/resources/verilog/DIG_PinControl.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_PriorityEncoder.v b/src/main/resources/verilog/DIG_PriorityEncoder.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_RAMDualAccess.v b/src/main/resources/verilog/DIG_RAMDualAccess.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_RAMDualPort.v b/src/main/resources/verilog/DIG_RAMDualPort.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_ROM.v b/src/main/resources/verilog/DIG_ROM.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Register.v b/src/main/resources/verilog/DIG_Register.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_RegisterFile.v b/src/main/resources/verilog/DIG_RegisterFile.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_RegsFile.v b/src/main/resources/verilog/DIG_RegsFile.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Reset.v b/src/main/resources/verilog/DIG_Reset.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_Sub.v b/src/main/resources/verilog/DIG_Sub.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/DIG_simpleClockDivider.v b/src/main/resources/verilog/DIG_simpleClockDivider.v old mode 100755 new mode 100644 diff --git a/src/main/resources/verilog/VerilogStdIOTemplate.vtpl b/src/main/resources/verilog/VerilogStdIOTemplate.vtpl old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Add.tem b/src/main/resources/vhdl/DIG_Add.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_BitExtender.tem b/src/main/resources/vhdl/DIG_BitExtender.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_BitSelector.tem b/src/main/resources/vhdl/DIG_BitSelector.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_BlockRAMDualPort.tem b/src/main/resources/vhdl/DIG_BlockRAMDualPort.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Comparator.tem b/src/main/resources/vhdl/DIG_Comparator.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Counter.tem b/src/main/resources/vhdl/DIG_Counter.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_CounterPreset.tem b/src/main/resources/vhdl/DIG_CounterPreset.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_DCM_SP.tem b/src/main/resources/vhdl/DIG_DCM_SP.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_D_FF.tem b/src/main/resources/vhdl/DIG_D_FF.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_D_FF_AS.tem b/src/main/resources/vhdl/DIG_D_FF_AS.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Decoder.tem b/src/main/resources/vhdl/DIG_Decoder.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Demultiplexer.tem b/src/main/resources/vhdl/DIG_Demultiplexer.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Driver.tem b/src/main/resources/vhdl/DIG_Driver.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_DriverInvSel.tem b/src/main/resources/vhdl/DIG_DriverInvSel.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_External.tem b/src/main/resources/vhdl/DIG_External.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_JK_FF.tem b/src/main/resources/vhdl/DIG_JK_FF.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_JK_FF_AS.tem b/src/main/resources/vhdl/DIG_JK_FF_AS.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_LookUpTable.tem b/src/main/resources/vhdl/DIG_LookUpTable.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_MMCME2_BASE.tem b/src/main/resources/vhdl/DIG_MMCME2_BASE.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Mul.tem b/src/main/resources/vhdl/DIG_Mul.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Multiplexer.tem b/src/main/resources/vhdl/DIG_Multiplexer.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_PinControl.tem b/src/main/resources/vhdl/DIG_PinControl.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_PriorityEncoder.tem b/src/main/resources/vhdl/DIG_PriorityEncoder.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_RAMDualAccess.tem b/src/main/resources/vhdl/DIG_RAMDualAccess.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_RAMDualPort.tem b/src/main/resources/vhdl/DIG_RAMDualPort.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_ROM.tem b/src/main/resources/vhdl/DIG_ROM.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Register.tem b/src/main/resources/vhdl/DIG_Register.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_RegisterFile.tem b/src/main/resources/vhdl/DIG_RegisterFile.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Reset.tem b/src/main/resources/vhdl/DIG_Reset.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_Sub.tem b/src/main/resources/vhdl/DIG_Sub.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/DIG_simpleClockDivider.tem b/src/main/resources/vhdl/DIG_simpleClockDivider.tem old mode 100755 new mode 100644 diff --git a/src/main/resources/vhdl/VHDLStdIOTemplate.tem b/src/main/resources/vhdl/VHDLStdIOTemplate.tem old mode 100755 new mode 100644 diff --git a/src/main/svg/View-zoom-fit.svg b/src/main/svg/View-zoom-fit.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/View-zoom-in.svg b/src/main/svg/View-zoom-in.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/View-zoom-out.svg b/src/main/svg/View-zoom-out.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/delete.svg b/src/main/svg/delete.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/dialog-error.svg b/src/main/svg/dialog-error.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/document-new-sub.svg b/src/main/svg/document-new-sub.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/document-new.svg b/src/main/svg/document-new.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/document-open-new.svg b/src/main/svg/document-open-new.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/document-open.svg b/src/main/svg/document-open.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/document-save-as.svg b/src/main/svg/document-save-as.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/document-save.svg b/src/main/svg/document-save.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/edit-redo.svg b/src/main/svg/edit-redo.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/edit-undo.svg b/src/main/svg/edit-undo.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/help.svg b/src/main/svg/help.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/icon.svg b/src/main/svg/icon.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/measurement-graph.svg b/src/main/svg/measurement-graph.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/media-playback-start-2.svg b/src/main/svg/media-playback-start-2.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/media-playback-start-T.svg b/src/main/svg/media-playback-start-T.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/media-playback-start.svg b/src/main/svg/media-playback-start.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/media-playback-stop.svg b/src/main/svg/media-playback-stop.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/media-seek-forward-f.svg b/src/main/svg/media-seek-forward-f.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/media-seek-forward.svg b/src/main/svg/media-seek-forward.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/media-skip-forward.svg b/src/main/svg/media-skip-forward.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/splash.dig b/src/main/svg/splash.dig old mode 100755 new mode 100644 diff --git a/src/main/svg/splash.svg b/src/main/svg/splash.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/testFailed.svg b/src/main/svg/testFailed.svg old mode 100755 new mode 100644 diff --git a/src/main/svg/testPassed.svg b/src/main/svg/testPassed.svg old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/FlipFlopsTest.java b/src/test/java/de/neemann/digiblock/FlipFlopsTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/TestExecuter.java b/src/test/java/de/neemann/digiblock/TestExecuter.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/BoolTableExpandedTest.java b/src/test/java/de/neemann/digiblock/analyse/BoolTableExpandedTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/CycleDetectorTest.java b/src/test/java/de/neemann/digiblock/analyse/CycleDetectorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/DependencyAnalyserTest.java b/src/test/java/de/neemann/digiblock/analyse/DependencyAnalyserTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/DetermineJKStateMachineTest.java b/src/test/java/de/neemann/digiblock/analyse/DetermineJKStateMachineTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/LabelNumberingTest.java b/src/test/java/de/neemann/digiblock/analyse/LabelNumberingTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/ModelAnalyserTest.java b/src/test/java/de/neemann/digiblock/analyse/ModelAnalyserTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/SplitPinStringTest.java b/src/test/java/de/neemann/digiblock/analyse/SplitPinStringTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/TruthTableTest.java b/src/test/java/de/neemann/digiblock/analyse/TruthTableTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/BitSetterTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/BitSetterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/CopyTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/CopyTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/EqualsTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/EqualsTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/ExpressionTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/ExpressionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/NotTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/NotTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/OperationTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/OperationTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/ToStringTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/ToStringTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/VariableTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/VariableTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/expression/format/FormatToExpressionTest.java b/src/test/java/de/neemann/digiblock/analyse/expression/format/FormatToExpressionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/format/TruthTableFormatterLaTeXTest.java b/src/test/java/de/neemann/digiblock/analyse/format/TruthTableFormatterLaTeXTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/format/TruthTableFormatterTestCaseTest.java b/src/test/java/de/neemann/digiblock/analyse/format/TruthTableFormatterTestCaseTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/parser/ParserTest.java b/src/test/java/de/neemann/digiblock/analyse/parser/ParserTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/FullVariantDontCareCreator.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/FullVariantDontCareCreator.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/IndependentCheckerTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/IndependentCheckerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/MinimizerRegressionTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/MinimizerRegressionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyExactCoverTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyExactCoverTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyExamTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyExamTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyRegressionTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyRegressionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyRowTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyRowTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/QuineMcCluskeyTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/SimplifyTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/SimplifyTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/TableReducerTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/TableReducerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/analyse/quinemc/primeselector/BruteForceGetAllTest.java b/src/test/java/de/neemann/digiblock/analyse/quinemc/primeselector/BruteForceGetAllTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/ATF150x/ATF1502CuplExporterTest.java b/src/test/java/de/neemann/digiblock/builder/ATF150x/ATF1502CuplExporterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/CleanNameBuilderTest.java b/src/test/java/de/neemann/digiblock/builder/CleanNameBuilderTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/Gal16v8/Gal16V8CuplExporterTest.java b/src/test/java/de/neemann/digiblock/builder/Gal16v8/Gal16V8CuplExporterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/Gal16v8/Gal16V8JEDECExporterTest.java b/src/test/java/de/neemann/digiblock/builder/Gal16v8/Gal16V8JEDECExporterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/Gal22v10/Gal22V10CuplExporterTest.java b/src/test/java/de/neemann/digiblock/builder/Gal22v10/Gal22V10CuplExporterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/Gal22v10/Gal22v10JEDECExporterTest.java b/src/test/java/de/neemann/digiblock/builder/Gal22v10/Gal22v10JEDECExporterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/PinMapTest.java b/src/test/java/de/neemann/digiblock/builder/PinMapTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/circuit/CircuitBuilderTest.java b/src/test/java/de/neemann/digiblock/builder/circuit/CircuitBuilderTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/circuit/FragmentExpressionTest.java b/src/test/java/de/neemann/digiblock/builder/circuit/FragmentExpressionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/circuit/FragmentVisualElementTest.java b/src/test/java/de/neemann/digiblock/builder/circuit/FragmentVisualElementTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/jedec/FuseMapFillerTest.java b/src/test/java/de/neemann/digiblock/builder/jedec/FuseMapFillerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/jedec/FuseMapTest.java b/src/test/java/de/neemann/digiblock/builder/jedec/FuseMapTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/jedec/JedecWriterTest.java b/src/test/java/de/neemann/digiblock/builder/jedec/JedecWriterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/tt2/RotationByteArrayOutputStreamTest.java b/src/test/java/de/neemann/digiblock/builder/tt2/RotationByteArrayOutputStreamTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/builder/tt2/TT2ExporterTest.java b/src/test/java/de/neemann/digiblock/builder/tt2/TT2ExporterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/BitsTest.java b/src/test/java/de/neemann/digiblock/core/BitsTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/IntFormatTest.java b/src/test/java/de/neemann/digiblock/core/IntFormatTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/ObservableValueTest.java b/src/test/java/de/neemann/digiblock/core/ObservableValueTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/ValueTest.java b/src/test/java/de/neemann/digiblock/core/ValueTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/AddTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/AddTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/BarrelShifterTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/BarrelShifterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/BitCountTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/BitCountTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/BitExtenderTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/BitExtenderTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/ComparatorTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/ComparatorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/DivTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/DivTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/MulTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/MulTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/NegTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/NegTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/arithmetic/SubTest.java b/src/test/java/de/neemann/digiblock/core/arithmetic/SubTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/basic/AndTest.java b/src/test/java/de/neemann/digiblock/core/basic/AndTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/basic/DelayTest.java b/src/test/java/de/neemann/digiblock/core/basic/DelayTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/basic/NAndTest.java b/src/test/java/de/neemann/digiblock/core/basic/NAndTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/basic/NOrTest.java b/src/test/java/de/neemann/digiblock/core/basic/NOrTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/basic/NotTest.java b/src/test/java/de/neemann/digiblock/core/basic/NotTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/basic/OrTest.java b/src/test/java/de/neemann/digiblock/core/basic/OrTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/basic/XNOrTest.java b/src/test/java/de/neemann/digiblock/core/basic/XNOrTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/basic/XOrTest.java b/src/test/java/de/neemann/digiblock/core/basic/XOrTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/element/ElementAttributesTest.java b/src/test/java/de/neemann/digiblock/core/element/ElementAttributesTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/extern/ApplicationVHDLStdIOTest.java b/src/test/java/de/neemann/digiblock/core/extern/ApplicationVHDLStdIOTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/extern/ApplicationVerilogStdIOTest.java b/src/test/java/de/neemann/digiblock/core/extern/ApplicationVerilogStdIOTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/extern/VHDLTokenizerTest.java b/src/test/java/de/neemann/digiblock/core/extern/VHDLTokenizerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/extern/handler/ProcessStarterTest.java b/src/test/java/de/neemann/digiblock/core/extern/handler/ProcessStarterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopDAsyncTest.java b/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopDAsyncTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopDTest.java b/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopDTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopJKAsyncTest.java b/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopJKAsyncTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopJKTest.java b/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopJKTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopRSAsyncTest.java b/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopRSAsyncTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopRSTest.java b/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopRSTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopTTest.java b/src/test/java/de/neemann/digiblock/core/flipflops/FlipflopTTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/io/ProbeTest.java b/src/test/java/de/neemann/digiblock/core/io/ProbeTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/CounterTest.java b/src/test/java/de/neemann/digiblock/core/memory/CounterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/DataFieldConverterTest.java b/src/test/java/de/neemann/digiblock/core/memory/DataFieldConverterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/DataFieldTest.java b/src/test/java/de/neemann/digiblock/core/memory/DataFieldTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/LUTTest.java b/src/test/java/de/neemann/digiblock/core/memory/LUTTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/RAMDualPortTest.java b/src/test/java/de/neemann/digiblock/core/memory/RAMDualPortTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/RAMSinglePortTest.java b/src/test/java/de/neemann/digiblock/core/memory/RAMSinglePortTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/ROMTest.java b/src/test/java/de/neemann/digiblock/core/memory/ROMTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/RegisterFileTest.java b/src/test/java/de/neemann/digiblock/core/memory/RegisterFileTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/RegisterTest.java b/src/test/java/de/neemann/digiblock/core/memory/RegisterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/importer/ByteArrayFromValueArrayTest.java b/src/test/java/de/neemann/digiblock/core/memory/importer/ByteArrayFromValueArrayTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/importer/IntegrationTest.java b/src/test/java/de/neemann/digiblock/core/memory/importer/IntegrationTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/importer/IntelHexReaderTest.java b/src/test/java/de/neemann/digiblock/core/memory/importer/IntelHexReaderTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/importer/LogisimReaderTest.java b/src/test/java/de/neemann/digiblock/core/memory/importer/LogisimReaderTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/memory/importer/MultiValueArrayTest.java b/src/test/java/de/neemann/digiblock/core/memory/importer/MultiValueArrayTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/pld/DiodeTest.java b/src/test/java/de/neemann/digiblock/core/pld/DiodeTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/BitSelectorTest.java b/src/test/java/de/neemann/digiblock/core/wiring/BitSelectorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/BusSplitterTest.java b/src/test/java/de/neemann/digiblock/core/wiring/BusSplitterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/DataBusTest.java b/src/test/java/de/neemann/digiblock/core/wiring/DataBusTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/DecoderTest.java b/src/test/java/de/neemann/digiblock/core/wiring/DecoderTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/DemultiplexerTest.java b/src/test/java/de/neemann/digiblock/core/wiring/DemultiplexerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/DriverTest.java b/src/test/java/de/neemann/digiblock/core/wiring/DriverTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/MultiplexerTest.java b/src/test/java/de/neemann/digiblock/core/wiring/MultiplexerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/PortsTest.java b/src/test/java/de/neemann/digiblock/core/wiring/PortsTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/PriorityEncoderTest.java b/src/test/java/de/neemann/digiblock/core/wiring/PriorityEncoderTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/Splitter1Test.java b/src/test/java/de/neemann/digiblock/core/wiring/Splitter1Test.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/Splitter2Test.java b/src/test/java/de/neemann/digiblock/core/wiring/Splitter2Test.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/Splitter64BitTest.java b/src/test/java/de/neemann/digiblock/core/wiring/Splitter64BitTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/SplitterHighZTest.java b/src/test/java/de/neemann/digiblock/core/wiring/SplitterHighZTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/SplitterMixTest.java b/src/test/java/de/neemann/digiblock/core/wiring/SplitterMixTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/core/wiring/bus/ConnectedBusHandlerTest.java b/src/test/java/de/neemann/digiblock/core/wiring/bus/ConnectedBusHandlerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/data/ValueTableTest.java b/src/test/java/de/neemann/digiblock/data/ValueTableTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/docu/DocuTest.java b/src/test/java/de/neemann/digiblock/docu/DocuTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/docu/ScreenShots.java b/src/test/java/de/neemann/digiblock/docu/ScreenShots.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/elements/CircuitTest.java b/src/test/java/de/neemann/digiblock/draw/elements/CircuitTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/elements/StatsTest.java b/src/test/java/de/neemann/digiblock/draw/elements/StatsTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/elements/WireConsistencyCheckerTest.java b/src/test/java/de/neemann/digiblock/draw/elements/WireConsistencyCheckerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/elements/WireContainsTest.java b/src/test/java/de/neemann/digiblock/draw/elements/WireContainsTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/elements/WireMergerTest.java b/src/test/java/de/neemann/digiblock/draw/elements/WireMergerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/elements/WireTest.java b/src/test/java/de/neemann/digiblock/draw/elements/WireTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/GraphicSVGIndexTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/GraphicSVGIndexTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/GraphicSVGLaTeXTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/GraphicSVGLaTeXTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/GraphicSVGTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/GraphicSVGTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/PolygonTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/PolygonTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/SVGExportTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/SVGExportTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/SVGTokenizerTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/SVGTokenizerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/TransformMatrixTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/TransformMatrixTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/linemerger/GraphicLineCollectorTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/linemerger/GraphicLineCollectorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/text/ParserTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/text/ParserTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/text/formatter/GraphicsFormatterTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/text/formatter/GraphicsFormatterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/text/formatter/LaTeXFormatterTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/text/formatter/LaTeXFormatterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/graphics/text/formatter/PlainTextFormatterTest.java b/src/test/java/de/neemann/digiblock/draw/graphics/text/formatter/PlainTextFormatterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/library/JarComponentManagerTest.java b/src/test/java/de/neemann/digiblock/draw/library/JarComponentManagerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/library/NumStringComparatorTest.java b/src/test/java/de/neemann/digiblock/draw/library/NumStringComparatorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/model/NetListTest.java b/src/test/java/de/neemann/digiblock/draw/model/NetListTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/shapes/SevenSegShapeTest.java b/src/test/java/de/neemann/digiblock/draw/shapes/SevenSegShapeTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/shapes/custom/CustomShapeDescriptionTest.java b/src/test/java/de/neemann/digiblock/draw/shapes/custom/CustomShapeDescriptionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/shapes/custom/SvgImporterTest.java b/src/test/java/de/neemann/digiblock/draw/shapes/custom/SvgImporterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/shapes/custom/svg/ContextTest.java b/src/test/java/de/neemann/digiblock/draw/shapes/custom/svg/ContextTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/draw/shapes/custom/svg/TransformParserTest.java b/src/test/java/de/neemann/digiblock/draw/shapes/custom/svg/TransformParserTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/fsm/IntegrationTest.java b/src/test/java/de/neemann/digiblock/fsm/IntegrationTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/fsm/StateTest.java b/src/test/java/de/neemann/digiblock/fsm/StateTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/fsm/TransitionTableCreatorTest.java b/src/test/java/de/neemann/digiblock/fsm/TransitionTableCreatorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/fsm/TransitionTest.java b/src/test/java/de/neemann/digiblock/fsm/TransitionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/fsm/ValueParserTest.java b/src/test/java/de/neemann/digiblock/fsm/ValueParserTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/ProgramMemoryLoaderTest.java b/src/test/java/de/neemann/digiblock/gui/ProgramMemoryLoaderTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/SaveAsHelperTest.java b/src/test/java/de/neemann/digiblock/gui/SaveAsHelperTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/CopiedElementLabelRenamerTest.java b/src/test/java/de/neemann/digiblock/gui/components/CopiedElementLabelRenamerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/EditorFactoryTest.java b/src/test/java/de/neemann/digiblock/gui/components/EditorFactoryTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/LabelGeneratorTest.java b/src/test/java/de/neemann/digiblock/gui/components/LabelGeneratorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/OrderMergerTest.java b/src/test/java/de/neemann/digiblock/gui/components/OrderMergerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/graphics/VGATest.java b/src/test/java/de/neemann/digiblock/gui/components/graphics/VGATest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughMapTest.java b/src/test/java/de/neemann/digiblock/gui/components/karnaugh/KarnaughMapTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/table/BuilderExpressionCreatorTest.java b/src/test/java/de/neemann/digiblock/gui/components/table/BuilderExpressionCreatorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/table/ExpressionListenerJKTest.java b/src/test/java/de/neemann/digiblock/gui/components/table/ExpressionListenerJKTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/table/ExpressionListenerOptimizeJKTest.java b/src/test/java/de/neemann/digiblock/gui/components/table/ExpressionListenerOptimizeJKTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/table/LaTeXExpressionListenerTest.java b/src/test/java/de/neemann/digiblock/gui/components/table/LaTeXExpressionListenerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/table/TestReorderInputs.java b/src/test/java/de/neemann/digiblock/gui/components/table/TestReorderInputs.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/table/TestReorderOutputs.java b/src/test/java/de/neemann/digiblock/gui/components/table/TestReorderOutputs.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/gui/components/terminal/CharDeleterTest.java b/src/test/java/de/neemann/digiblock/gui/components/terminal/CharDeleterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/hgs/ParserTest.java b/src/test/java/de/neemann/digiblock/hdl/hgs/ParserTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/hgs/ValueTest.java b/src/test/java/de/neemann/digiblock/hdl/hgs/ValueTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/model2/HDLModelTest.java b/src/test/java/de/neemann/digiblock/hdl/model2/HDLModelTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/printer/CodePrinterStrTest.java b/src/test/java/de/neemann/digiblock/hdl/printer/CodePrinterStrTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/verilog2/DescriptionTest.java b/src/test/java/de/neemann/digiblock/hdl/verilog2/DescriptionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/verilog2/VerilogGeneratorTest.java b/src/test/java/de/neemann/digiblock/hdl/verilog2/VerilogGeneratorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/verilog2/VerilogRenamingTest.java b/src/test/java/de/neemann/digiblock/hdl/verilog2/VerilogRenamingTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/verilog2/VerilogSimulatorTest.java b/src/test/java/de/neemann/digiblock/hdl/verilog2/VerilogSimulatorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/vhdl2/ClockTest.java b/src/test/java/de/neemann/digiblock/hdl/vhdl2/ClockTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/vhdl2/DescriptionTest.java b/src/test/java/de/neemann/digiblock/hdl/vhdl2/DescriptionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/vhdl2/SeparatorTest.java b/src/test/java/de/neemann/digiblock/hdl/vhdl2/SeparatorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/vhdl2/VHDLGeneratorTest.java b/src/test/java/de/neemann/digiblock/hdl/vhdl2/VHDLGeneratorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/vhdl2/VHDLRenamingTest.java b/src/test/java/de/neemann/digiblock/hdl/vhdl2/VHDLRenamingTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/hdl/vhdl2/VHDLSimulatorTest.java b/src/test/java/de/neemann/digiblock/hdl/vhdl2/VHDLSimulatorTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/FileScanner.java b/src/test/java/de/neemann/digiblock/integration/FileScanner.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/GuiTester.java b/src/test/java/de/neemann/digiblock/integration/GuiTester.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/Resources.java b/src/test/java/de/neemann/digiblock/integration/Resources.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestAnd.java b/src/test/java/de/neemann/digiblock/integration/TestAnd.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestCaseDescription.java b/src/test/java/de/neemann/digiblock/integration/TestCaseDescription.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestErrorOrigin.java b/src/test/java/de/neemann/digiblock/integration/TestErrorOrigin.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestExamples.java b/src/test/java/de/neemann/digiblock/integration/TestExamples.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestExport.java b/src/test/java/de/neemann/digiblock/integration/TestExport.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestInGUI.java b/src/test/java/de/neemann/digiblock/integration/TestInGUI.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestLib.java b/src/test/java/de/neemann/digiblock/integration/TestLib.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestLicenseNotice.java b/src/test/java/de/neemann/digiblock/integration/TestLicenseNotice.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestNesting.java b/src/test/java/de/neemann/digiblock/integration/TestNesting.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestProcessor.java b/src/test/java/de/neemann/digiblock/integration/TestProcessor.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestRunToBreak.java b/src/test/java/de/neemann/digiblock/integration/TestRunToBreak.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestSelect.java b/src/test/java/de/neemann/digiblock/integration/TestSelect.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestShapes.java b/src/test/java/de/neemann/digiblock/integration/TestShapes.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/TestTrans.java b/src/test/java/de/neemann/digiblock/integration/TestTrans.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/ToBreakRunner.java b/src/test/java/de/neemann/digiblock/integration/ToBreakRunner.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/integration/UnitTestTest.java b/src/test/java/de/neemann/digiblock/integration/UnitTestTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/KeyOrderer.java b/src/test/java/de/neemann/digiblock/lang/KeyOrderer.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/LanguageUpdater.java b/src/test/java/de/neemann/digiblock/lang/LanguageUpdater.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/TestDuplicates.java b/src/test/java/de/neemann/digiblock/lang/TestDuplicates.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/TestElemConsistence.java b/src/test/java/de/neemann/digiblock/lang/TestElemConsistence.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/TestExamplesLanguage.java b/src/test/java/de/neemann/digiblock/lang/TestExamplesLanguage.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/TestKeyConsistence.java b/src/test/java/de/neemann/digiblock/lang/TestKeyConsistence.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/TestLang.java b/src/test/java/de/neemann/digiblock/lang/TestLang.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/TestMultiligual.java b/src/test/java/de/neemann/digiblock/lang/TestMultiligual.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/lang/TestSyntax.java b/src/test/java/de/neemann/digiblock/lang/TestSyntax.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/CommandLineTesterTest.java b/src/test/java/de/neemann/digiblock/testing/CommandLineTesterTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/FolderTestRunnerTest.java b/src/test/java/de/neemann/digiblock/testing/FolderTestRunnerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/TestDataTest.java b/src/test/java/de/neemann/digiblock/testing/TestDataTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/TestResultTest.java b/src/test/java/de/neemann/digiblock/testing/TestResultTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/TransitionsTest.java b/src/test/java/de/neemann/digiblock/testing/TransitionsTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/ValueTest.java b/src/test/java/de/neemann/digiblock/testing/ValueTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/parser/LineCollector.java b/src/test/java/de/neemann/digiblock/testing/parser/LineCollector.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/parser/ParserExpressionTest.java b/src/test/java/de/neemann/digiblock/testing/parser/ParserExpressionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/parser/ParserLetTest.java b/src/test/java/de/neemann/digiblock/testing/parser/ParserLetTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/parser/ParserLoopTest.java b/src/test/java/de/neemann/digiblock/testing/parser/ParserLoopTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/testing/parser/ParserTest.java b/src/test/java/de/neemann/digiblock/testing/parser/ParserTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/toolchain/BASYS3Test.java b/src/test/java/de/neemann/digiblock/toolchain/BASYS3Test.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/toolchain/ConfigurationTest.java b/src/test/java/de/neemann/digiblock/toolchain/ConfigurationTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/toolchain/ReferenceTest.java b/src/test/java/de/neemann/digiblock/toolchain/ReferenceTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/toolchain/RegressionTest.java b/src/test/java/de/neemann/digiblock/toolchain/RegressionTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/digiblock/undo/UndoManagerTest.java b/src/test/java/de/neemann/digiblock/undo/UndoManagerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/gui/LineBreakerTest.java b/src/test/java/de/neemann/gui/LineBreakerTest.java old mode 100755 new mode 100644 diff --git a/src/test/java/de/neemann/gui/language/ResourcesTest.java b/src/test/java/de/neemann/gui/language/ResourcesTest.java old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/CounterSplitter.dig b/src/test/resources/dig/CounterSplitter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/Diode1Error.dig b/src/test/resources/dig/Diode1Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/Diode2Error.dig b/src/test/resources/dig/Diode2Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/DiodeTest.dig b/src/test/resources/dig/DiodeTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/GAL/Medwedew.dig b/src/test/resources/dig/GAL/Medwedew.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/GAL/PassThrough.dig b/src/test/resources/dig/GAL/PassThrough.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/MS-JK-DIL.dig b/src/test/resources/dig/MS-JK-DIL.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/MS-JK.dig b/src/test/resources/dig/MS-JK.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeBacktrack.dig b/src/test/resources/dig/analyze/analyzeBacktrack.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTest.dig b/src/test/resources/dig/analyze/analyzeTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestCounter.dig b/src/test/resources/dig/analyze/analyzeTestCounter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestCounterInvIn.dig b/src/test/resources/dig/analyze/analyzeTestCounterInvIn.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestCounterPreset.dig b/src/test/resources/dig/analyze/analyzeTestCounterPreset.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestDFF.dig b/src/test/resources/dig/analyze/analyzeTestDFF.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestDFFInvIn.dig b/src/test/resources/dig/analyze/analyzeTestDFFInvIn.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestJKFF.dig b/src/test/resources/dig/analyze/analyzeTestJKFF.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestJKFFInvIn.dig b/src/test/resources/dig/analyze/analyzeTestJKFFInvIn.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestRegister.dig b/src/test/resources/dig/analyze/analyzeTestRegister.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestTFF.dig b/src/test/resources/dig/analyze/analyzeTestTFF.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestTFFEnable.dig b/src/test/resources/dig/analyze/analyzeTestTFFEnable.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/analyzeTestTFFEnableInvIn.dig b/src/test/resources/dig/analyze/analyzeTestTFFEnableInvIn.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/multiBitCounter.dig b/src/test/resources/dig/analyze/multiBitCounter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/multiBitInOut.dig b/src/test/resources/dig/analyze/multiBitInOut.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/multiBitInOutDef.dig b/src/test/resources/dig/analyze/multiBitInOutDef.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/multiBitInOutXOr.dig b/src/test/resources/dig/analyze/multiBitInOutXOr.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/testCaseCreation.dig b/src/test/resources/dig/analyze/testCaseCreation.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/uniqueNames.dig b/src/test/resources/dig/analyze/uniqueNames.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/uniqueNames2.dig b/src/test/resources/dig/analyze/uniqueNames2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/uniqueNames3.dig b/src/test/resources/dig/analyze/uniqueNames3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/analyze/uniqueNames4.dig b/src/test/resources/dig/analyze/uniqueNames4.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/and.dig b/src/test/resources/dig/and.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/autoWire.dig b/src/test/resources/dig/autoWire.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/backtrack/AllComponents.dig b/src/test/resources/dig/backtrack/AllComponents.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/backtrack/InputInvert.dig b/src/test/resources/dig/backtrack/InputInvert.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/backtrack/Plexer.dig b/src/test/resources/dig/backtrack/Plexer.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/backtrack/Splitter.dig b/src/test/resources/dig/backtrack/Splitter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/backtrack/counter.dig b/src/test/resources/dig/backtrack/counter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/backtrack/counter2Bit3.dig b/src/test/resources/dig/backtrack/counter2Bit3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/backtrack/decoder.dig b/src/test/resources/dig/backtrack/decoder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/backtrack/dif.dig b/src/test/resources/dig/backtrack/dif.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/circuitBuilder/busTest.dig b/src/test/resources/dig/circuitBuilder/busTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/data.dig b/src/test/resources/dig/data.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/inner.dig b/src/test/resources/dig/errorOrigin/inner.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/inner2.dig b/src/test/resources/dig/errorOrigin/inner2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/innerBit.dig b/src/test/resources/dig/errorOrigin/innerBit.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/main.dig b/src/test/resources/dig/errorOrigin/main.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/main2.dig b/src/test/resources/dig/errorOrigin/main2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/main3.dig b/src/test/resources/dig/errorOrigin/main3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/main4.dig b/src/test/resources/dig/errorOrigin/main4.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/main5.dig b/src/test/resources/dig/errorOrigin/main5.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/mid.dig b/src/test/resources/dig/errorOrigin/mid.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/mid2.dig b/src/test/resources/dig/errorOrigin/mid2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/midBit.dig b/src/test/resources/dig/errorOrigin/midBit.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/errorOrigin/midOk.dig b/src/test/resources/dig/errorOrigin/midOk.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/export/labels.dig b/src/test/resources/dig/export/labels.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/export/labels2.dig b/src/test/resources/dig/export/labels2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/exportError.dig b/src/test/resources/dig/external/exportError.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/ghdl/ghdl.dig b/src/test/resources/dig/external/ghdl/ghdl.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/ghdl/ghdl2.dig b/src/test/resources/dig/external/ghdl/ghdl2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/ghdl/ghdl3-inc.dig b/src/test/resources/dig/external/ghdl/ghdl3-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/ghdl/ghdl3.dig b/src/test/resources/dig/external/ghdl/ghdl3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/sevenSeg.dig b/src/test/resources/dig/external/sevenSeg.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/verilog/verilog.dig b/src/test/resources/dig/external/verilog/verilog.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/verilog/verilog2.dig b/src/test/resources/dig/external/verilog/verilog2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/verilog/verilog3-inc.dig b/src/test/resources/dig/external/verilog/verilog3-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/external/verilog/verilog3.dig b/src/test/resources/dig/external/verilog/verilog3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/failingTest.dig b/src/test/resources/dig/failingTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/ArtixClock.dig b/src/test/resources/dig/hdl/ArtixClock.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/ArtixClockCascading.dig b/src/test/resources/dig/hdl/ArtixClockCascading.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/Clock.dig b/src/test/resources/dig/hdl/Clock.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/Clock2.dig b/src/test/resources/dig/hdl/Clock2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/Clock3.dig b/src/test/resources/dig/hdl/Clock3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/adder4b.dig b/src/test/resources/dig/hdl/adder4b.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/busInOut.dig b/src/test/resources/dig/hdl/busInOut.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/const.dig b/src/test/resources/dig/hdl/const.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/const2.dig b/src/test/resources/dig/hdl/const2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/const3.dig b/src/test/resources/dig/hdl/const3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/decoder.dig b/src/test/resources/dig/hdl/decoder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/decoder2.dig b/src/test/resources/dig/hdl/decoder2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/demux.dig b/src/test/resources/dig/hdl/demux.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/demux2.dig b/src/test/resources/dig/hdl/demux2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/demux3.dig b/src/test/resources/dig/hdl/demux3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/dff.dig b/src/test/resources/dig/hdl/dff.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/ident.dig b/src/test/resources/dig/hdl/ident.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/avoidVarRangeMerge.dig b/src/test/resources/dig/hdl/model2/avoidVarRangeMerge.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/circular.dig b/src/test/resources/dig/hdl/model2/circular.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/clock.dig b/src/test/resources/dig/hdl/model2/clock.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/clock_mimasv1.dig b/src/test/resources/dig/hdl/model2/clock_mimasv1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/comb.dig b/src/test/resources/dig/hdl/model2/comb.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/comb2.dig b/src/test/resources/dig/hdl/model2/comb2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/combBits.dig b/src/test/resources/dig/hdl/model2/combBits.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/constMerge.dig b/src/test/resources/dig/hdl/model2/constMerge.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/freqHalf.dig b/src/test/resources/dig/hdl/model2/freqHalf.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/inputInvert.dig b/src/test/resources/dig/hdl/model2/inputInvert.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/inputInvert2.dig b/src/test/resources/dig/hdl/model2/inputInvert2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/naming.dig b/src/test/resources/dig/hdl/model2/naming.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/naming2.dig b/src/test/resources/dig/hdl/model2/naming2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/s-inc.dig b/src/test/resources/dig/hdl/model2/s-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/splitter.dig b/src/test/resources/dig/hdl/model2/splitter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/splitter2.dig b/src/test/resources/dig/hdl/model2/splitter2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/splitter3.dig b/src/test/resources/dig/hdl/model2/splitter3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/model2/splitter4.dig b/src/test/resources/dig/hdl/model2/splitter4.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/mux.dig b/src/test/resources/dig/hdl/mux.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/mux2.dig b/src/test/resources/dig/hdl/mux2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/mux3.dig b/src/test/resources/dig/hdl/mux3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/neg.dig b/src/test/resources/dig/hdl/neg.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/negSimple.dig b/src/test/resources/dig/hdl/negSimple.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/readOutput.dig b/src/test/resources/dig/hdl/readOutput.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/splitter.dig b/src/test/resources/dig/hdl/splitter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/splitter2.dig b/src/test/resources/dig/hdl/splitter2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/splitter3.dig b/src/test/resources/dig/hdl/splitter3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/xor.dig b/src/test/resources/dig/hdl/xor.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/xorNeg.dig b/src/test/resources/dig/hdl/xorNeg.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl/xorNegBus.dig b/src/test/resources/dig/hdl/xorNegBus.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/hdl_distributable/BASYS3_IOs.dig b/src/test/resources/dig/hdl_distributable/BASYS3_IOs.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/io/keyboard.dig b/src/test/resources/dig/io/keyboard.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/io/keyboard2.dig b/src/test/resources/dig/io/keyboard2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/jarLib/jarLibTest.dig b/src/test/resources/dig/jarLib/jarLibTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/jarLib/pluginExample-1.0-SNAPSHOT.jar b/src/test/resources/dig/jarLib/pluginExample-1.0-SNAPSHOT.jar old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/01_fastRuntime.dig b/src/test/resources/dig/manualError/01_fastRuntime.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/02_fastRuntimeEmbed.dig b/src/test/resources/dig/manualError/02_fastRuntimeEmbed.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/03_fastRuntimeButton.dig b/src/test/resources/dig/manualError/03_fastRuntimeButton.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/04_testExecution.dig b/src/test/resources/dig/manualError/04_testExecution.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/05_runToBreak.dig b/src/test/resources/dig/manualError/05_runToBreak.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/06_initPhase.dig b/src/test/resources/dig/manualError/06_initPhase.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/07_creationPhase.dig b/src/test/resources/dig/manualError/07_creationPhase.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/08_twoFastClocks.dig b/src/test/resources/dig/manualError/08_twoFastClocks.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/09_analysis.dig b/src/test/resources/dig/manualError/09_analysis.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/10_74xx.dig b/src/test/resources/dig/manualError/10_74xx.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/11_editTest.dig b/src/test/resources/dig/manualError/11_editTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/12_groupEdit.dig b/src/test/resources/dig/manualError/12_groupEdit.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/13_singleValueDialog.dig b/src/test/resources/dig/manualError/13_singleValueDialog.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/14_inputInvert.dig b/src/test/resources/dig/manualError/14_inputInvert.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/15_romDataEditor.dig b/src/test/resources/dig/manualError/15_romDataEditor.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/16_hardware.dig b/src/test/resources/dig/manualError/16_hardware.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/manualError/short.dig b/src/test/resources/dig/manualError/short.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/nestedAnd.dig b/src/test/resources/dig/nestedAnd.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/nestedMSFF.dig b/src/test/resources/dig/nestedMSFF.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/nestedNestedAnd.dig b/src/test/resources/dig/nestedNestedAnd.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/net/netRename.dig b/src/test/resources/dig/net/netRename.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/probe/pr1.dig b/src/test/resources/dig/probe/pr1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/probe/probe.dig b/src/test/resources/dig/probe/probe.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/probe/probeNest.dig b/src/test/resources/dig/probe/probeNest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/runToBreak.dig b/src/test/resources/dig/runToBreak.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/selectInnerLongName.dig b/src/test/resources/dig/selectInnerLongName.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/selectOuter.dig b/src/test/resources/dig/selectOuter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/shapes.dig b/src/test/resources/dig/shapes.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/74xx/74181-74182.dig b/src/test/resources/dig/test/74xx/74181-74182.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/AntiparallelDiodes.dig_ b/src/test/resources/dig/test/AntiparallelDiodes.dig_ old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/RAM/ram.dig b/src/test/resources/dig/test/RAM/ram.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/TwoTestCases.dig b/src/test/resources/dig/test/TwoTestCases.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/arith/FullSub.dig b/src/test/resources/dig/test/arith/FullSub.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/arith/FullSubRC.dig b/src/test/resources/dig/test/arith/FullSubRC.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/arith/HalfAdder.dig b/src/test/resources/dig/test/arith/HalfAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/arith/HalfSub.dig b/src/test/resources/dig/test/arith/HalfSub.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/arith/subTest.dig b/src/test/resources/dig/test/arith/subTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/async/d_async.dig b/src/test/resources/dig/test/async/d_async.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/async/jk_async.dig b/src/test/resources/dig/test/async/jk_async.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/counter/cascadeCounter.dig b/src/test/resources/dig/test/counter/cascadeCounter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/counter/overflow.dig b/src/test/resources/dig/test/counter/overflow.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/delay.dig b/src/test/resources/dig/test/delay.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/directConnection/inner.dig b/src/test/resources/dig/test/directConnection/inner.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/directConnection/outer.dig b/src/test/resources/dig/test/directConnection/outer.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/directConnection/splitter.dig b/src/test/resources/dig/test/directConnection/splitter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/docu/fullAdder.dig b/src/test/resources/dig/test/docu/fullAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/docu/halfAdder.dig b/src/test/resources/dig/test/docu/halfAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/docu/rcAdder.dig b/src/test/resources/dig/test/docu/rcAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/eeprom.dig b/src/test/resources/dig/test/eeprom.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/burn_Error.dig b/src/test/resources/dig/test/fet/burn_Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/cmos10TFullAdder.dig b/src/test/resources/dig/test/fet/cmos10TFullAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/cmosGDIFullAdder.dig b/src/test/resources/dig/test/fet/cmosGDIFullAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/cmosMirrorFullAdder.dig b/src/test/resources/dig/test/fet/cmosMirrorFullAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/cmosSERFFullAdder.dig b/src/test/resources/dig/test/fet/cmosSERFFullAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/d-ff.dig b/src/test/resources/dig/test/fet/d-ff.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/d-sram-ff.dig b/src/test/resources/dig/test/fet/d-sram-ff.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/multiBit.dig b/src/test/resources/dig/test/fet/multiBit.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/nand.dig b/src/test/resources/dig/test/fet/nand.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/nchan.dig b/src/test/resources/dig/test/fet/nchan.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/pchan.dig b/src/test/resources/dig/test/fet/pchan.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/switchTest.dig b/src/test/resources/dig/test/fet/switchTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/fet/xor.dig b/src/test/resources/dig/test/fet/xor.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/generics/count.dig b/src/test/resources/dig/test/generics/count.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/generics/countSplitter.dig b/src/test/resources/dig/test/generics/countSplitter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/generics/main.dig b/src/test/resources/dig/test/generics/main.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/generics/mainNest.dig b/src/test/resources/dig/test/generics/mainNest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/generics/mainSplitter.dig b/src/test/resources/dig/test/generics/mainSplitter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/generics/nest.dig b/src/test/resources/dig/test/generics/nest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/highz.dig b/src/test/resources/dig/test/highz.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/inAsOutTest.dig b/src/test/resources/dig/test/inAsOutTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/inputInvert/invClock.dig b/src/test/resources/dig/test/inputInvert/invClock.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/inputInvert/simpleTest1.dig b/src/test/resources/dig/test/inputInvert/simpleTest1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/inputInvert/simpleTest2.dig b/src/test/resources/dig/test/inputInvert/simpleTest2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/monoflop.dig b/src/test/resources/dig/test/monoflop.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/net/chaining.dig b/src/test/resources/dig/test/net/chaining.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/net/inner.dig b/src/test/resources/dig/test/net/inner.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/net/innerError.dig b/src/test/resources/dig/test/net/innerError.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/net/main.dig b/src/test/resources/dig/test/net/main.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/net/mainError.dig b/src/test/resources/dig/test/net/mainError.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pinControl/simple.dig b/src/test/resources/dig/test/pinControl/simple.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pinControl/uniTest.dig b/src/test/resources/dig/test/pinControl/uniTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pld/DiodeBackward.dig b/src/test/resources/dig/test/pld/DiodeBackward.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pld/DiodeForeward.dig b/src/test/resources/dig/test/pld/DiodeForeward.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pld/GAL2v2.dig b/src/test/resources/dig/test/pld/GAL2v2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pld/PullDown.dig b/src/test/resources/dig/test/pld/PullDown.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pld/PullDown2.dig b/src/test/resources/dig/test/pld/PullDown2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pld/PullUp.dig b/src/test/resources/dig/test/pld/PullUp.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pld/PullUp2.dig b/src/test/resources/dig/test/pld/PullUp2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/pld/PullUpAndDownError.dig b/src/test/resources/dig/test/pld/PullUpAndDownError.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/power/power.dig b/src/test/resources/dig/test/power/power.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/power/power1Error.dig b/src/test/resources/dig/test/power/power1Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/power/power2Error.dig b/src/test/resources/dig/test/power/power2Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/romContent/rom-1-inc.dig b/src/test/resources/dig/test/romContent/rom-1-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/romContent/rom-2-inc.dig b/src/test/resources/dig/test/romContent/rom-2-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/romContent/rom.dig b/src/test/resources/dig/test/romContent/rom.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/shapes/4BitAdder.dig b/src/test/resources/dig/test/shapes/4BitAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/shapes/Adder.dig b/src/test/resources/dig/test/shapes/Adder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/BusSplitterHighZ.dig b/src/test/resources/dig/test/splitter/BusSplitterHighZ.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/BusSplitterHighZ2.dig b/src/test/resources/dig/test/splitter/BusSplitterHighZ2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/BusSplitterHighZ3.dig b/src/test/resources/dig/test/splitter/BusSplitterHighZ3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/splitter1.dig b/src/test/resources/dig/test/splitter/splitter1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/splitter1Error.dig b/src/test/resources/dig/test/splitter/splitter1Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/splitter2.dig b/src/test/resources/dig/test/splitter/splitter2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/splitter2Error.dig b/src/test/resources/dig/test/splitter/splitter2Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/splitter3.dig b/src/test/resources/dig/test/splitter/splitter3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/splitter3Error.dig b/src/test/resources/dig/test/splitter/splitter3Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/splitter/splitter4.dig b/src/test/resources/dig/test/splitter/splitter4.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/DmitryVyal1.dig b/src/test/resources/dig/test/switch/DmitryVyal1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/DmitryVyal2.dig b/src/test/resources/dig/test/switch/DmitryVyal2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/DmitryVyal3.dig b/src/test/resources/dig/test/switch/DmitryVyal3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/FGNFETs.dig b/src/test/resources/dig/test/switch/FGNFETs.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/FGPFETs.dig b/src/test/resources/dig/test/switch/FGPFETs.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/GAL2v3.dig b/src/test/resources/dig/test/switch/GAL2v3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/Heintz_A.dig b/src/test/resources/dig/test/switch/Heintz_A.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/Heintz_A_DT.dig b/src/test/resources/dig/test/switch/Heintz_A_DT.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/Heintz_B.dig b/src/test/resources/dig/test/switch/Heintz_B.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/burn2Error.dig b/src/test/resources/dig/test/switch/burn2Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/burnError.dig b/src/test/resources/dig/test/switch/burnError.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/const.dig b/src/test/resources/dig/test/switch/const.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/const2.dig b/src/test/resources/dig/test/switch/const2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/const3.dig b/src/test/resources/dig/test/switch/const3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/highZ-DT.dig b/src/test/resources/dig/test/switch/highZ-DT.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/highZ-DT2.dig b/src/test/resources/dig/test/switch/highZ-DT2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/highZ-DT3.dig b/src/test/resources/dig/test/switch/highZ-DT3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/highZ-DT4.dig b/src/test/resources/dig/test/switch/highZ-DT4.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/highZ.dig b/src/test/resources/dig/test/switch/highZ.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/inverter.dig b/src/test/resources/dig/test/switch/inverter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/no_net.dig b/src/test/resources/dig/test/switch/no_net.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/no_net2.dig b/src/test/resources/dig/test/switch/no_net2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/no_net_Error.dig b/src/test/resources/dig/test/switch/no_net_Error.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/relayFullAdder.dig b/src/test/resources/dig/test/switch/relayFullAdder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/relayFullAdder2.dig b/src/test/resources/dig/test/switch/relayFullAdder2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/selbsthaltung.dig b/src/test/resources/dig/test/switch/selbsthaltung.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switch1.dig b/src/test/resources/dig/test/switch/switch1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switch2.dig b/src/test/resources/dig/test/switch/switch2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switchAsInput.dig b/src/test/resources/dig/test/switch/switchAsInput.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switch_highZ.dig b/src/test/resources/dig/test/switch/switch_highZ.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switch_pull.dig b/src/test/resources/dig/test/switch/switch_pull.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switch_simple.dig b/src/test/resources/dig/test/switch/switch_simple.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switch_xor.dig b/src/test/resources/dig/test/switch/switch_xor.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switch_xor2.dig b/src/test/resources/dig/test/switch/switch_xor2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/switch_xor3.dig b/src/test/resources/dig/test/switch/switch_xor3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/switch/transGate.dig b/src/test/resources/dig/test/switch/transGate.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/cross.dig b/src/test/resources/dig/test/transp/cross.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/crossE.dig b/src/test/resources/dig/test/transp/crossE.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/crossTest.dig b/src/test/resources/dig/test/transp/crossTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/crossTestError.dig b/src/test/resources/dig/test/transp/crossTestError.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/double.dig b/src/test/resources/dig/test/transp/double.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/doubleTest.dig b/src/test/resources/dig/test/transp/doubleTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/pull.dig b/src/test/resources/dig/test/transp/pull.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/pulltest.dig b/src/test/resources/dig/test/transp/pulltest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/pulltest2.dig b/src/test/resources/dig/test/transp/pulltest2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/trans.dig b/src/test/resources/dig/test/transp/trans.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/trans2.dig b/src/test/resources/dig/test/transp/trans2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/trans3.dig b/src/test/resources/dig/test/transp/trans3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/transtest.dig b/src/test/resources/dig/test/transp/transtest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/transtest2.dig b/src/test/resources/dig/test/transp/transtest2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/transtest3.dig b/src/test/resources/dig/test/transp/transtest3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/transp/transtestLabel.dig b/src/test/resources/dig/test/transp/transtestLabel.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/BitSelect.dig b/src/test/resources/dig/test/vhdl/BitSelect.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/BitSelect2.dig b/src/test/resources/dig/test/vhdl/BitSelect2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/D-Default.dig b/src/test/resources/dig/test/vhdl/D-Default.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/D-DefaultBus.dig b/src/test/resources/dig/test/vhdl/D-DefaultBus.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/FullAdderCLA.dig b/src/test/resources/dig/test/vhdl/FullAdderCLA.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/JK-Default.dig b/src/test/resources/dig/test/vhdl/JK-Default.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/adder.dig b/src/test/resources/dig/test/vhdl/adder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/TestLeft32.dig b/src/test/resources/dig/test/vhdl/barrelShifter/TestLeft32.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/TestLeft8.dig b/src/test/resources/dig/test/vhdl/barrelShifter/TestLeft8.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/TestRight8.dig b/src/test/resources/dig/test/vhdl/barrelShifter/TestRight8.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/TestRightArith16.dig b/src/test/resources/dig/test/vhdl/barrelShifter/TestRightArith16.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/barrelShifter.dig b/src/test/resources/dig/test/vhdl/barrelShifter/barrelShifter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/shift-fixed-arith-right-inc.dig b/src/test/resources/dig/test/vhdl/barrelShifter/shift-fixed-arith-right-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/shift-fixed-left-inc.dig b/src/test/resources/dig/test/vhdl/barrelShifter/shift-fixed-left-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/shift-fixed-right-inc.dig b/src/test/resources/dig/test/vhdl/barrelShifter/shift-fixed-right-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/barrelShifter/shift-inc.dig b/src/test/resources/dig/test/vhdl/barrelShifter/shift-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/bitExtend.dig b/src/test/resources/dig/test/vhdl/bitExtend.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/bitExtend2.dig b/src/test/resources/dig/test/vhdl/bitExtend2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/comp.dig b/src/test/resources/dig/test/vhdl/comp.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/compSig.dig b/src/test/resources/dig/test/vhdl/compSig.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/counter.dig b/src/test/resources/dig/test/vhdl/counter.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/counterPre.dig b/src/test/resources/dig/test/vhdl/counterPre.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/counterPre2.dig b/src/test/resources/dig/test/vhdl/counterPre2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/counterPre3.dig b/src/test/resources/dig/test/vhdl/counterPre3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/d_async.dig b/src/test/resources/dig/test/vhdl/d_async.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/debounce.dig b/src/test/resources/dig/test/vhdl/debounce.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/driver1.dig b/src/test/resources/dig/test/vhdl/driver1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/driver2.dig b/src/test/resources/dig/test/vhdl/driver2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/dualPortRam.dig b/src/test/resources/dig/test/vhdl/dualPortRam.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/generics/Ram32BitTest.dig b/src/test/resources/dig/test/vhdl/generics/Ram32BitTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/generics/mainMem.dig b/src/test/resources/dig/test/vhdl/generics/mainMem.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/generics/mainMem2.dig b/src/test/resources/dig/test/vhdl/generics/mainMem2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/generics/memLeaf.dig b/src/test/resources/dig/test/vhdl/generics/memLeaf.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/generics/memLeaf2.dig b/src/test/resources/dig/test/vhdl/generics/memLeaf2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/generics/memNode.dig b/src/test/resources/dig/test/vhdl/generics/memNode.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/generics/memNode2.dig b/src/test/resources/dig/test/vhdl/generics/memNode2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/jk_async.dig b/src/test/resources/dig/test/vhdl/jk_async.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/lightChase.dig b/src/test/resources/dig/test/vhdl/lightChase.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/lut.dig b/src/test/resources/dig/test/vhdl/lut.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/lut2.dig b/src/test/resources/dig/test/vhdl/lut2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/lut3.dig b/src/test/resources/dig/test/vhdl/lut3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/multiPort.dig b/src/test/resources/dig/test/vhdl/multiPort.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/multiply.dig b/src/test/resources/dig/test/vhdl/multiply.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/multiplySigned.dig b/src/test/resources/dig/test/vhdl/multiplySigned.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/naming-inc.dig b/src/test/resources/dig/test/vhdl/naming-inc.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/naming-main.dig b/src/test/resources/dig/test/vhdl/naming-main.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/priorityEncoder.dig b/src/test/resources/dig/test/vhdl/priorityEncoder.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/ram/blockRAM.dig b/src/test/resources/dig/test/vhdl/ram/blockRAM.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/ram/blockRAM8.dig b/src/test/resources/dig/test/vhdl/ram/blockRAM8.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/registerFile.dig b/src/test/resources/dig/test/vhdl/registerFile.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/reset.dig b/src/test/resources/dig/test/vhdl/reset.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/rom.dig b/src/test/resources/dig/test/vhdl/rom.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/rom2.dig b/src/test/resources/dig/test/vhdl/rom2.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/rom3.dig b/src/test/resources/dig/test/vhdl/rom3.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/simpleANDNAND.dig b/src/test/resources/dig/test/vhdl/simpleANDNAND.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/subtr.dig b/src/test/resources/dig/test/vhdl/subtr.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/vhdl/xorMulitInput.dig b/src/test/resources/dig/test/vhdl/xorMulitInput.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/weak/w1.dig b/src/test/resources/dig/test/weak/w1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/test/weak/weak.dig b/src/test/resources/dig/test/weak/weak.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/testProgLoader.dig b/src/test/resources/dig/testProgLoader.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/testProgLoader.hex b/src/test/resources/dig/testProgLoader.hex old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/testProgLoaderSplit.dig b/src/test/resources/dig/testProgLoaderSplit.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/testProgLoaderSplitErr1.dig b/src/test/resources/dig/testProgLoaderSplitErr1.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/dig/trafficLight.dig b/src/test/resources/dig/trafficLight.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/elem2fo.xslt b/src/test/resources/docu/elem2fo.xslt old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/fop.xconf b/src/test/resources/docu/fop.xconf old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr00.png b/src/test/resources/docu/images/de/scr00.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr01.png b/src/test/resources/docu/images/de/scr01.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr02.png b/src/test/resources/docu/images/de/scr02.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr03.png b/src/test/resources/docu/images/de/scr03.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr04.png b/src/test/resources/docu/images/de/scr04.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr05.png b/src/test/resources/docu/images/de/scr05.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr06.png b/src/test/resources/docu/images/de/scr06.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr07.png b/src/test/resources/docu/images/de/scr07.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr08.png b/src/test/resources/docu/images/de/scr08.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr09.png b/src/test/resources/docu/images/de/scr09.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr10.png b/src/test/resources/docu/images/de/scr10.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr11.png b/src/test/resources/docu/images/de/scr11.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr12.png b/src/test/resources/docu/images/de/scr12.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr13.png b/src/test/resources/docu/images/de/scr13.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr14.png b/src/test/resources/docu/images/de/scr14.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr20.png b/src/test/resources/docu/images/de/scr20.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr21.png b/src/test/resources/docu/images/de/scr21.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr22.png b/src/test/resources/docu/images/de/scr22.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr23.png b/src/test/resources/docu/images/de/scr23.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr24.png b/src/test/resources/docu/images/de/scr24.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/de/scr25.png b/src/test/resources/docu/images/de/scr25.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr00.png b/src/test/resources/docu/images/en/scr00.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr01.png b/src/test/resources/docu/images/en/scr01.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr02.png b/src/test/resources/docu/images/en/scr02.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr03.png b/src/test/resources/docu/images/en/scr03.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr04.png b/src/test/resources/docu/images/en/scr04.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr05.png b/src/test/resources/docu/images/en/scr05.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr06.png b/src/test/resources/docu/images/en/scr06.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr07.png b/src/test/resources/docu/images/en/scr07.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr08.png b/src/test/resources/docu/images/en/scr08.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr09.png b/src/test/resources/docu/images/en/scr09.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr10.png b/src/test/resources/docu/images/en/scr10.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr11.png b/src/test/resources/docu/images/en/scr11.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr12.png b/src/test/resources/docu/images/en/scr12.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr13.png b/src/test/resources/docu/images/en/scr13.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr14.png b/src/test/resources/docu/images/en/scr14.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr20.png b/src/test/resources/docu/images/en/scr20.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr21.png b/src/test/resources/docu/images/en/scr21.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr22.png b/src/test/resources/docu/images/en/scr22.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr23.png b/src/test/resources/docu/images/en/scr23.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr24.png b/src/test/resources/docu/images/en/scr24.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/en/scr25.png b/src/test/resources/docu/images/en/scr25.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr00.png b/src/test/resources/docu/images/es/scr00.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr01.png b/src/test/resources/docu/images/es/scr01.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr02.png b/src/test/resources/docu/images/es/scr02.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr03.png b/src/test/resources/docu/images/es/scr03.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr04.png b/src/test/resources/docu/images/es/scr04.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr05.png b/src/test/resources/docu/images/es/scr05.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr06.png b/src/test/resources/docu/images/es/scr06.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr07.png b/src/test/resources/docu/images/es/scr07.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr08.png b/src/test/resources/docu/images/es/scr08.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr09.png b/src/test/resources/docu/images/es/scr09.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr10.png b/src/test/resources/docu/images/es/scr10.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr11.png b/src/test/resources/docu/images/es/scr11.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr12.png b/src/test/resources/docu/images/es/scr12.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr13.png b/src/test/resources/docu/images/es/scr13.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr14.png b/src/test/resources/docu/images/es/scr14.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr20.png b/src/test/resources/docu/images/es/scr20.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr21.png b/src/test/resources/docu/images/es/scr21.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr22.png b/src/test/resources/docu/images/es/scr22.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr23.png b/src/test/resources/docu/images/es/scr23.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr24.png b/src/test/resources/docu/images/es/scr24.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/es/scr25.png b/src/test/resources/docu/images/es/scr25.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr00.png b/src/test/resources/docu/images/pt/scr00.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr01.png b/src/test/resources/docu/images/pt/scr01.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr02.png b/src/test/resources/docu/images/pt/scr02.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr03.png b/src/test/resources/docu/images/pt/scr03.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr04.png b/src/test/resources/docu/images/pt/scr04.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr05.png b/src/test/resources/docu/images/pt/scr05.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr06.png b/src/test/resources/docu/images/pt/scr06.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr07.png b/src/test/resources/docu/images/pt/scr07.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr08.png b/src/test/resources/docu/images/pt/scr08.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr09.png b/src/test/resources/docu/images/pt/scr09.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr10.png b/src/test/resources/docu/images/pt/scr10.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr11.png b/src/test/resources/docu/images/pt/scr11.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr12.png b/src/test/resources/docu/images/pt/scr12.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr13.png b/src/test/resources/docu/images/pt/scr13.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr14.png b/src/test/resources/docu/images/pt/scr14.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr20.png b/src/test/resources/docu/images/pt/scr20.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr21.png b/src/test/resources/docu/images/pt/scr21.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr22.png b/src/test/resources/docu/images/pt/scr22.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr23.png b/src/test/resources/docu/images/pt/scr23.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr24.png b/src/test/resources/docu/images/pt/scr24.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/images/pt/scr25.png b/src/test/resources/docu/images/pt/scr25.png old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/static_de.xml b/src/test/resources/docu/static_de.xml old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/static_en.xml b/src/test/resources/docu/static_en.xml old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/static_es.xml b/src/test/resources/docu/static_es.xml old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/static_es_ref.xml b/src/test/resources/docu/static_es_ref.xml old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/static_pt.xml b/src/test/resources/docu/static_pt.xml old mode 100755 new mode 100644 diff --git a/src/test/resources/docu/static_pt_ref.xml b/src/test/resources/docu/static_pt_ref.xml old mode 100755 new mode 100644 diff --git a/src/test/resources/programs/fibonacci.asm b/src/test/resources/programs/fibonacci.asm old mode 100755 new mode 100644 diff --git a/src/test/resources/programs/fibonacci.hex b/src/test/resources/programs/fibonacci.hex old mode 100755 new mode 100644 diff --git a/src/test/resources/programs/selftest.asm b/src/test/resources/programs/selftest.asm old mode 100755 new mode 100644 diff --git a/src/test/resources/programs/selftest.hex b/src/test/resources/programs/selftest.hex old mode 100755 new mode 100644 diff --git a/src/test/resources/testGAL/GAL22v10_Pin13.dig b/src/test/resources/testGAL/GAL22v10_Pin13.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/testGAL/GALTest.dig b/src/test/resources/testGAL/GALTest.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/testGAL/cupl/GAL22v10_Pin13.PLD b/src/test/resources/testGAL/cupl/GAL22v10_Pin13.PLD old mode 100755 new mode 100644 diff --git a/src/test/resources/testGAL/cupl/GAL22v10_Pin13.jed b/src/test/resources/testGAL/cupl/GAL22v10_Pin13.jed old mode 100755 new mode 100644 diff --git a/src/test/resources/testGAL/cupl/GALTest.PLD b/src/test/resources/testGAL/cupl/GALTest.PLD old mode 100755 new mode 100644 diff --git a/src/test/resources/testGAL/cupl/GALTest.jed b/src/test/resources/testGAL/cupl/GALTest.jed old mode 100755 new mode 100644 diff --git a/src/test/resources/toolchain/ff.dig b/src/test/resources/toolchain/ff.dig old mode 100755 new mode 100644 diff --git a/src/test/resources/toolchain/inc.xml b/src/test/resources/toolchain/inc.xml old mode 100755 new mode 100644 diff --git a/src/test/resources/toolchain/inc2.xml b/src/test/resources/toolchain/inc2.xml old mode 100755 new mode 100644 diff --git a/src/test/resources/toolchain/main.xml b/src/test/resources/toolchain/main.xml old mode 100755 new mode 100644 diff --git a/sun_checks_neemann.xml b/sun_checks_neemann.xml old mode 100755 new mode 100644