From 1a7a72f37680e7ac8de48cb0f1c66e17726f83a9 Mon Sep 17 00:00:00 2001 From: MHeinrichs Date: Tue, 12 Aug 2014 20:28:14 +0200 Subject: [PATCH] Update - minor changes --- Logic/68030-68000-bus.vhd | 32 +- Logic/68030_TK.tcl | 1464 +++++++++++++++++ Logic/68030_tk.crf | 2 +- Logic/68030_tk.ipr | 3 +- Logic/BUS68030.prj | 2 +- Logic/bus68030.srf | 21 +- Logic/run_options.txt | 2 +- Logic/synlog/bus68030_fpga_mapper.srr | 14 +- .../report/BUS68030_compiler_errors.txt | 2 +- .../report/BUS68030_compiler_runstatus.xml | 4 +- .../report/BUS68030_compiler_warnings.txt | 3 +- .../report/BUS68030_fpga_mapper_runstatus.xml | 4 +- Logic/syntmp/run_option.xml | 2 +- Logic/synwork/BUS68030_compiler.fdep | 2 +- Logic/synwork/BUS68030_compiler.fdeporig | 2 +- Logic/synwork/BUS68030_compiler.srs | Bin 11308 -> 11200 bytes Logic/synwork/BUS68030_compiler.tlg | 3 +- 17 files changed, 1512 insertions(+), 50 deletions(-) diff --git a/Logic/68030-68000-bus.vhd b/Logic/68030-68000-bus.vhd index ea76b86..74ae74f 100644 --- a/Logic/68030-68000-bus.vhd +++ b/Logic/68030-68000-bus.vhd @@ -136,7 +136,7 @@ signal CLK_000_P_SYNC: STD_LOGIC_VECTOR ( 12 downto 0 ) := "0000000000000"; signal CLK_000_N_SYNC: STD_LOGIC_VECTOR ( 12 downto 0 ) := "0000000000000"; signal CLK_000_PE: STD_LOGIC := '0'; signal CLK_000_NE: STD_LOGIC := '0'; -signal CLK_000_E_ADVANCE: STD_LOGIC := '0'; +signal CLK_000_NE_D0: STD_LOGIC := '0'; signal DTACK_D0: STD_LOGIC := '1'; begin @@ -196,7 +196,7 @@ begin CLK_000_N_SYNC <= "0000000000000"; CLK_000_PE <= '0'; CLK_000_NE <= '0'; - CLK_000_E_ADVANCE <= '0'; + CLK_000_NE_D0 <= '0'; AS_000_DMA <= '1'; DS_000_DMA <= '1'; SIZE_DMA <= "11"; @@ -257,7 +257,7 @@ begin -- since the clock is not symmetrically these values differ! CLK_000_PE <= CLK_000_P_SYNC(9); CLK_000_NE <= CLK_000_N_SYNC(11); - CLK_000_E_ADVANCE <= CLK_000_NE; + CLK_000_NE_D0 <= CLK_000_NE; DTACK_D0 <= DTACK; VPA_D <= VPA; @@ -265,7 +265,8 @@ begin -- e-clock is changed on the FALLING edge! - if(CLK_000_E_ADVANCE = '1' ) then + if(CLK_000_NE_D0 = '1' ) then + --if(CLK_000_D0='0' AND CLK_000_D1='1') then case (cpu_est) is when E1 => cpu_est <= E2 ; when E2 => cpu_est <= E3 ; @@ -298,7 +299,7 @@ begin BGACK_030_INT <= '0'; elsif ( BGACK_000='1' AND CLK_000_PE='1' - --AND CLK_000_D1='0' and CLK_000_D0='1' + --AND CLK_000_D0='1' and CLK_000_D1='0' ) then -- BGACK_000 is high here! BGACK_030_INT <= '1'; --hold this signal high until 7m clock goes high end if; @@ -319,8 +320,8 @@ begin --interrupt buffering to avoid ghost interrupts - --if(CLK_000_NE='1')then - if(CLK_000_D0='0' and CLK_000_D1='1')then + if(CLK_000_NE='1')then + --if(CLK_000_D0='0' and CLK_000_D1='1')then IPL_030<=IPL; end if; @@ -346,9 +347,10 @@ begin -- VMA generation if(CLK_000_NE='1' AND VPA_D='0' AND cpu_est = E4)then --assert + --if(CLK_000_D0='0' AND CLK_000_D1='1' AND VPA_D='0' AND cpu_est = E4)then --assert VMA_INT <= '0'; - --elsif(CLK_000_PE='1' AND AS_000_INT='1' AND cpu_est=E1)then --deassert - + elsif(CLK_000_PE='1' AND cpu_est=E1)then --deassert + VMA_INT <= '1'; end if; --uds/lds precalculation @@ -374,7 +376,7 @@ begin case (SM_AMIGA) is when IDLE_P => --68000:S0 wait for a falling edge - RW_000_INT <= '1'; + RW_000_INT <= '1'; if( CLK_000_D0='0' and CLK_000_D1= '1' and AS_030_000_SYNC = '0')then if(nEXP_SPACE ='1')then -- if this a delayed expansion space detection, do not start an amiga cycle! AMIGA_BUS_ENABLE_INT <= '0' ;--for now: allways on for amiga @@ -407,8 +409,8 @@ begin when SAMPLE_DTACK_P=> --68000:S4 wait for dtack or VMA if( CLK_000_NE='1' and --falling edge --if( CLK_000_D0 = '0' and CLK_000_D1='1' and --falling edge - ((VPA = '1' AND DTACK='0') OR --DTACK end cycle - (VPA='0' AND cpu_est=E9 AND VMA_INT='0')) --VPA end cycle + ((VPA_D = '1' AND DTACK_D0='0') OR --DTACK end cycle + (VPA_D='0' AND cpu_est=E9 AND VMA_INT='0')) --VPA end cycle )then --go to s5 SM_AMIGA<=DATA_FETCH_N; end if; @@ -418,8 +420,8 @@ begin SM_AMIGA<=DATA_FETCH_P; end if; when DATA_FETCH_P => --68000:S6: READ: here comes the data on the bus! - if( (CLK_000_N_SYNC( 5)='1' AND not (CLK_030 ='1' and CLK_OUT_PRE_D='0')) OR - (CLK_000_N_SYNC( 6)='1' )) then --go to s7 next 030-clock is not a falling edge: dsack is sampled at the falling edge + if( (CLK_000_N_SYNC( 4)='1' AND not (CLK_030 ='1' and CLK_OUT_PRE_D='0')) OR + (CLK_000_N_SYNC( 5)='1' )) then --go to s7 next 030-clock is not a falling edge: dsack is sampled at the falling edge DSACK1_INT <='0'; end if; --if( CLK_000_D3 ='1' AND CLK_000_D4 = '0' ) then --go to s7 next 030-clock is high: dsack is sampled at the falling edge @@ -434,7 +436,7 @@ begin if(CLK_000_PE='1')then --go to s0 --if(CLK_000_D0='1')then --go to s0 SM_AMIGA<=IDLE_P; - VMA_INT <= '1'; + RW_000_INT <= '1'; end if; end case; diff --git a/Logic/68030_TK.tcl b/Logic/68030_TK.tcl index d94a8c0..68c3000 100644 --- a/Logic/68030_TK.tcl +++ b/Logic/68030_TK.tcl @@ -252863,3 +252863,1467 @@ if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 6 ########## Tcl recorder end at 08/09/14 23:50:19 ########### + +########## Tcl recorder starts at 08/10/14 19:22:28 ########## + +# Commands to make the Process: +# Hierarchy +if [runCmd "\"$cpld_bin/vhd2jhd\" 68030-68000-bus.vhd -o 68030-68000-bus.jhd -m \"$install_dir/ispcpld/generic/lib/vhd/location.map\" -p \"$install_dir/ispcpld/generic/lib\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:22:28 ########### + + +########## Tcl recorder starts at 08/10/14 19:22:29 ########## + +# Commands to make the Process: +# JEDEC File +if [catch {open BUS68030.cmd w} rspFile] { + puts stderr "Cannot create response file BUS68030.cmd: $rspFile" +} else { + puts $rspFile "STYFILENAME: 68030_tk.sty +PROJECT: BUS68030 +WORKING_PATH: \"$proj_dir\" +MODULE: BUS68030 +VHDL_FILE_LIST: 68030-68000-bus.vhd +OUTPUT_FILE_NAME: BUS68030 +SUFFIX_NAME: edi +PART: M4A5-128/64-10VC +" + close $rspFile +} +if [runCmd "\"$cpld_bin/Synpwrap\" -e BUS68030 -target mach -pro "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete BUS68030.cmd +if [runCmd "\"$cpld_bin/edif2blf\" -edf BUS68030.edi -out BUS68030.bl0 -err automake.err -log BUS68030.log -prj 68030_tk -lib \"$install_dir/ispcpld/dat/mach.edn\" -net_Vcc VCC -net_GND GND -nbx -dse -tlw -cvt YES -xor"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" BUS68030.bl0 -collapse none -reduce none -keepwires -err automake.err -family"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblflink\" \"BUS68030.bl1\" -o \"68030_tk.bl2\" -omod \"68030_tk\" -err \"automake.err\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/impsrc\" -prj 68030_tk -lci 68030_tk.lct -log 68030_tk.imp -err automake.err -tti 68030_tk.bl2 -dir $proj_dir"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -blifopt 68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" 68030_tk.bl2 -sweep -mergefb -err automake.err -o 68030_tk.bl3 @68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -diofft 68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mdiofft\" 68030_tk.bl3 -pla -family AMDMACH -idev van -o 68030_tk.tt2 -oxrf 68030_tk.xrf -err automake.err @68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/tt2tott3\" -prj 68030_tk -dir $proj_dir -log 68030_tk.log -tti 68030_tk.tt2 -tto 68030_tk.tt3"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -prefit 68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/prefit\" -inp 68030_tk.tt3 -out 68030_tk.tt4 -err automake.err -log 68030_tk.log -percent 68030_tk.tte -mod BUS68030 @68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/blif2eqn\" 68030_tk.tte -o 68030_tk.eq3 -use_short -err automake.err "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/lci2vci\" -lci 68030_tk.lct -out 68030_tk.vct -log 68030_tk.l2v"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [catch {open 68030_tk.rsp w} rspFile] { + puts stderr "Cannot create response file 68030_tk.rsp: $rspFile" +} else { + puts $rspFile "-inp \"68030_tk.tt4\" -vci \"68030_tk.vct\" -log \"68030_tk.log\" -eqn \"68030_tk.eq3\" -dev mach447a -dat \"$install_dir/ispcpld/dat/mach4a/\" -msg \"$install_dir/ispcpld/dat/\" -err automake.err -tmv \"NoInput.tmv\" +" + close $rspFile +} +if [runCmd "\"$cpld_bin/machfitr\" \"@68030_tk.rsp\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete 68030_tk.rsp +if [runCmd "\"$cpld_bin/lci2vci\" -vci 68030_tk.vco -out 68030_tk.lco -log 68030_tk.v2l"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 68030_tk -if 68030_tk.jed -j2s -log 68030_tk.svl "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:22:29 ########### + + +########## Tcl recorder starts at 08/10/14 19:24:09 ########## + +# Commands to make the Process: +# Hierarchy +if [runCmd "\"$cpld_bin/vhd2jhd\" 68030-68000-bus.vhd -o 68030-68000-bus.jhd -m \"$install_dir/ispcpld/generic/lib/vhd/location.map\" -p \"$install_dir/ispcpld/generic/lib\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:24:09 ########### + + +########## Tcl recorder starts at 08/10/14 19:24:09 ########## + +# Commands to make the Process: +# JEDEC File +if [catch {open BUS68030.cmd w} rspFile] { + puts stderr "Cannot create response file BUS68030.cmd: $rspFile" +} else { + puts $rspFile "STYFILENAME: 68030_tk.sty +PROJECT: BUS68030 +WORKING_PATH: \"$proj_dir\" +MODULE: BUS68030 +VHDL_FILE_LIST: 68030-68000-bus.vhd +OUTPUT_FILE_NAME: BUS68030 +SUFFIX_NAME: edi +PART: M4A5-128/64-10VC +" + close $rspFile +} +if [runCmd "\"$cpld_bin/Synpwrap\" -e BUS68030 -target mach -pro "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete BUS68030.cmd +if [runCmd "\"$cpld_bin/edif2blf\" -edf BUS68030.edi -out BUS68030.bl0 -err automake.err -log BUS68030.log -prj 68030_tk -lib \"$install_dir/ispcpld/dat/mach.edn\" -net_Vcc VCC -net_GND GND -nbx -dse -tlw -cvt YES -xor"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" BUS68030.bl0 -collapse none -reduce none -keepwires -err automake.err -family"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblflink\" \"BUS68030.bl1\" -o \"68030_tk.bl2\" -omod \"68030_tk\" -err \"automake.err\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/impsrc\" -prj 68030_tk -lci 68030_tk.lct -log 68030_tk.imp -err automake.err -tti 68030_tk.bl2 -dir $proj_dir"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -blifopt 68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" 68030_tk.bl2 -sweep -mergefb -err automake.err -o 68030_tk.bl3 @68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -diofft 68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mdiofft\" 68030_tk.bl3 -pla -family AMDMACH -idev van -o 68030_tk.tt2 -oxrf 68030_tk.xrf -err automake.err @68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/tt2tott3\" -prj 68030_tk -dir $proj_dir -log 68030_tk.log -tti 68030_tk.tt2 -tto 68030_tk.tt3"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -prefit 68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/prefit\" -inp 68030_tk.tt3 -out 68030_tk.tt4 -err automake.err -log 68030_tk.log -percent 68030_tk.tte -mod BUS68030 @68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/blif2eqn\" 68030_tk.tte -o 68030_tk.eq3 -use_short -err automake.err "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/lci2vci\" -lci 68030_tk.lct -out 68030_tk.vct -log 68030_tk.l2v"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [catch {open 68030_tk.rsp w} rspFile] { + puts stderr "Cannot create response file 68030_tk.rsp: $rspFile" +} else { + puts $rspFile "-inp \"68030_tk.tt4\" -vci \"68030_tk.vct\" -log \"68030_tk.log\" -eqn \"68030_tk.eq3\" -dev mach447a -dat \"$install_dir/ispcpld/dat/mach4a/\" -msg \"$install_dir/ispcpld/dat/\" -err automake.err -tmv \"NoInput.tmv\" +" + close $rspFile +} +if [runCmd "\"$cpld_bin/machfitr\" \"@68030_tk.rsp\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete 68030_tk.rsp +if [runCmd "\"$cpld_bin/lci2vci\" -vci 68030_tk.vco -out 68030_tk.lco -log 68030_tk.v2l"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 68030_tk -if 68030_tk.jed -j2s -log 68030_tk.svl "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:24:09 ########### + + +########## Tcl recorder starts at 08/10/14 19:26:34 ########## + +# Commands to make the Process: +# Hierarchy +if [runCmd "\"$cpld_bin/vhd2jhd\" 68030-68000-bus.vhd -o 68030-68000-bus.jhd -m \"$install_dir/ispcpld/generic/lib/vhd/location.map\" -p \"$install_dir/ispcpld/generic/lib\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:26:34 ########### + + +########## Tcl recorder starts at 08/10/14 19:26:34 ########## + +# Commands to make the Process: +# JEDEC File +if [catch {open BUS68030.cmd w} rspFile] { + puts stderr "Cannot create response file BUS68030.cmd: $rspFile" +} else { + puts $rspFile "STYFILENAME: 68030_tk.sty +PROJECT: BUS68030 +WORKING_PATH: \"$proj_dir\" +MODULE: BUS68030 +VHDL_FILE_LIST: 68030-68000-bus.vhd +OUTPUT_FILE_NAME: BUS68030 +SUFFIX_NAME: edi +PART: M4A5-128/64-10VC +" + close $rspFile +} +if [runCmd "\"$cpld_bin/Synpwrap\" -e BUS68030 -target mach -pro "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete BUS68030.cmd +if [runCmd "\"$cpld_bin/edif2blf\" -edf BUS68030.edi -out BUS68030.bl0 -err automake.err -log BUS68030.log -prj 68030_tk -lib \"$install_dir/ispcpld/dat/mach.edn\" -net_Vcc VCC -net_GND GND -nbx -dse -tlw -cvt YES -xor"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" BUS68030.bl0 -collapse none -reduce none -keepwires -err automake.err -family"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblflink\" \"BUS68030.bl1\" -o \"68030_tk.bl2\" -omod \"68030_tk\" -err \"automake.err\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/impsrc\" -prj 68030_tk -lci 68030_tk.lct -log 68030_tk.imp -err automake.err -tti 68030_tk.bl2 -dir $proj_dir"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -blifopt 68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" 68030_tk.bl2 -sweep -mergefb -err automake.err -o 68030_tk.bl3 @68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -diofft 68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mdiofft\" 68030_tk.bl3 -pla -family AMDMACH -idev van -o 68030_tk.tt2 -oxrf 68030_tk.xrf -err automake.err @68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/tt2tott3\" -prj 68030_tk -dir $proj_dir -log 68030_tk.log -tti 68030_tk.tt2 -tto 68030_tk.tt3"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -prefit 68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/prefit\" -inp 68030_tk.tt3 -out 68030_tk.tt4 -err automake.err -log 68030_tk.log -percent 68030_tk.tte -mod BUS68030 @68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/blif2eqn\" 68030_tk.tte -o 68030_tk.eq3 -use_short -err automake.err "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/lci2vci\" -lci 68030_tk.lct -out 68030_tk.vct -log 68030_tk.l2v"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [catch {open 68030_tk.rsp w} rspFile] { + puts stderr "Cannot create response file 68030_tk.rsp: $rspFile" +} else { + puts $rspFile "-inp \"68030_tk.tt4\" -vci \"68030_tk.vct\" -log \"68030_tk.log\" -eqn \"68030_tk.eq3\" -dev mach447a -dat \"$install_dir/ispcpld/dat/mach4a/\" -msg \"$install_dir/ispcpld/dat/\" -err automake.err -tmv \"NoInput.tmv\" +" + close $rspFile +} +if [runCmd "\"$cpld_bin/machfitr\" \"@68030_tk.rsp\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete 68030_tk.rsp +if [runCmd "\"$cpld_bin/lci2vci\" -vci 68030_tk.vco -out 68030_tk.lco -log 68030_tk.v2l"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 68030_tk -if 68030_tk.jed -j2s -log 68030_tk.svl "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:26:34 ########### + + +########## Tcl recorder starts at 08/10/14 19:29:53 ########## + +# Commands to make the Process: +# Hierarchy +if [runCmd "\"$cpld_bin/vhd2jhd\" 68030-68000-bus.vhd -o 68030-68000-bus.jhd -m \"$install_dir/ispcpld/generic/lib/vhd/location.map\" -p \"$install_dir/ispcpld/generic/lib\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:29:53 ########### + + +########## Tcl recorder starts at 08/10/14 19:29:53 ########## + +# Commands to make the Process: +# JEDEC File +if [catch {open BUS68030.cmd w} rspFile] { + puts stderr "Cannot create response file BUS68030.cmd: $rspFile" +} else { + puts $rspFile "STYFILENAME: 68030_tk.sty +PROJECT: BUS68030 +WORKING_PATH: \"$proj_dir\" +MODULE: BUS68030 +VHDL_FILE_LIST: 68030-68000-bus.vhd +OUTPUT_FILE_NAME: BUS68030 +SUFFIX_NAME: edi +PART: M4A5-128/64-10VC +" + close $rspFile +} +if [runCmd "\"$cpld_bin/Synpwrap\" -e BUS68030 -target mach -pro "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete BUS68030.cmd +if [runCmd "\"$cpld_bin/edif2blf\" -edf BUS68030.edi -out BUS68030.bl0 -err automake.err -log BUS68030.log -prj 68030_tk -lib \"$install_dir/ispcpld/dat/mach.edn\" -net_Vcc VCC -net_GND GND -nbx -dse -tlw -cvt YES -xor"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" BUS68030.bl0 -collapse none -reduce none -keepwires -err automake.err -family"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblflink\" \"BUS68030.bl1\" -o \"68030_tk.bl2\" -omod \"68030_tk\" -err \"automake.err\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/impsrc\" -prj 68030_tk -lci 68030_tk.lct -log 68030_tk.imp -err automake.err -tti 68030_tk.bl2 -dir $proj_dir"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -blifopt 68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" 68030_tk.bl2 -sweep -mergefb -err automake.err -o 68030_tk.bl3 @68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -diofft 68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mdiofft\" 68030_tk.bl3 -pla -family AMDMACH -idev van -o 68030_tk.tt2 -oxrf 68030_tk.xrf -err automake.err @68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/tt2tott3\" -prj 68030_tk -dir $proj_dir -log 68030_tk.log -tti 68030_tk.tt2 -tto 68030_tk.tt3"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -prefit 68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/prefit\" -inp 68030_tk.tt3 -out 68030_tk.tt4 -err automake.err -log 68030_tk.log -percent 68030_tk.tte -mod BUS68030 @68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/blif2eqn\" 68030_tk.tte -o 68030_tk.eq3 -use_short -err automake.err "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/lci2vci\" -lci 68030_tk.lct -out 68030_tk.vct -log 68030_tk.l2v"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [catch {open 68030_tk.rsp w} rspFile] { + puts stderr "Cannot create response file 68030_tk.rsp: $rspFile" +} else { + puts $rspFile "-inp \"68030_tk.tt4\" -vci \"68030_tk.vct\" -log \"68030_tk.log\" -eqn \"68030_tk.eq3\" -dev mach447a -dat \"$install_dir/ispcpld/dat/mach4a/\" -msg \"$install_dir/ispcpld/dat/\" -err automake.err -tmv \"NoInput.tmv\" +" + close $rspFile +} +if [runCmd "\"$cpld_bin/machfitr\" \"@68030_tk.rsp\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete 68030_tk.rsp +if [runCmd "\"$cpld_bin/lci2vci\" -vci 68030_tk.vco -out 68030_tk.lco -log 68030_tk.v2l"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 68030_tk -if 68030_tk.jed -j2s -log 68030_tk.svl "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:29:53 ########### + + +########## Tcl recorder starts at 08/10/14 19:32:25 ########## + +# Commands to make the Process: +# Hierarchy +if [runCmd "\"$cpld_bin/vhd2jhd\" 68030-68000-bus.vhd -o 68030-68000-bus.jhd -m \"$install_dir/ispcpld/generic/lib/vhd/location.map\" -p \"$install_dir/ispcpld/generic/lib\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:32:25 ########### + + +########## Tcl recorder starts at 08/10/14 19:32:26 ########## + +# Commands to make the Process: +# JEDEC File +if [catch {open BUS68030.cmd w} rspFile] { + puts stderr "Cannot create response file BUS68030.cmd: $rspFile" +} else { + puts $rspFile "STYFILENAME: 68030_tk.sty +PROJECT: BUS68030 +WORKING_PATH: \"$proj_dir\" +MODULE: BUS68030 +VHDL_FILE_LIST: 68030-68000-bus.vhd +OUTPUT_FILE_NAME: BUS68030 +SUFFIX_NAME: edi +PART: M4A5-128/64-10VC +" + close $rspFile +} +if [runCmd "\"$cpld_bin/Synpwrap\" -e BUS68030 -target mach -pro "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete BUS68030.cmd +if [runCmd "\"$cpld_bin/edif2blf\" -edf BUS68030.edi -out BUS68030.bl0 -err automake.err -log BUS68030.log -prj 68030_tk -lib \"$install_dir/ispcpld/dat/mach.edn\" -net_Vcc VCC -net_GND GND -nbx -dse -tlw -cvt YES -xor"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" BUS68030.bl0 -collapse none -reduce none -keepwires -err automake.err -family"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblflink\" \"BUS68030.bl1\" -o \"68030_tk.bl2\" -omod \"68030_tk\" -err \"automake.err\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/impsrc\" -prj 68030_tk -lci 68030_tk.lct -log 68030_tk.imp -err automake.err -tti 68030_tk.bl2 -dir $proj_dir"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -blifopt 68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" 68030_tk.bl2 -sweep -mergefb -err automake.err -o 68030_tk.bl3 @68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -diofft 68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mdiofft\" 68030_tk.bl3 -pla -family AMDMACH -idev van -o 68030_tk.tt2 -oxrf 68030_tk.xrf -err automake.err @68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/tt2tott3\" -prj 68030_tk -dir $proj_dir -log 68030_tk.log -tti 68030_tk.tt2 -tto 68030_tk.tt3"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -prefit 68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/prefit\" -inp 68030_tk.tt3 -out 68030_tk.tt4 -err automake.err -log 68030_tk.log -percent 68030_tk.tte -mod BUS68030 @68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/blif2eqn\" 68030_tk.tte -o 68030_tk.eq3 -use_short -err automake.err "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/lci2vci\" -lci 68030_tk.lct -out 68030_tk.vct -log 68030_tk.l2v"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [catch {open 68030_tk.rsp w} rspFile] { + puts stderr "Cannot create response file 68030_tk.rsp: $rspFile" +} else { + puts $rspFile "-inp \"68030_tk.tt4\" -vci \"68030_tk.vct\" -log \"68030_tk.log\" -eqn \"68030_tk.eq3\" -dev mach447a -dat \"$install_dir/ispcpld/dat/mach4a/\" -msg \"$install_dir/ispcpld/dat/\" -err automake.err -tmv \"NoInput.tmv\" +" + close $rspFile +} +if [runCmd "\"$cpld_bin/machfitr\" \"@68030_tk.rsp\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete 68030_tk.rsp +if [runCmd "\"$cpld_bin/lci2vci\" -vci 68030_tk.vco -out 68030_tk.lco -log 68030_tk.v2l"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 68030_tk -if 68030_tk.jed -j2s -log 68030_tk.svl "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:32:26 ########### + + +########## Tcl recorder starts at 08/10/14 19:35:37 ########## + +# Commands to make the Process: +# Hierarchy +if [runCmd "\"$cpld_bin/vhd2jhd\" 68030-68000-bus.vhd -o 68030-68000-bus.jhd -m \"$install_dir/ispcpld/generic/lib/vhd/location.map\" -p \"$install_dir/ispcpld/generic/lib\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:35:37 ########### + + +########## Tcl recorder starts at 08/10/14 19:35:37 ########## + +# Commands to make the Process: +# JEDEC File +if [catch {open BUS68030.cmd w} rspFile] { + puts stderr "Cannot create response file BUS68030.cmd: $rspFile" +} else { + puts $rspFile "STYFILENAME: 68030_tk.sty +PROJECT: BUS68030 +WORKING_PATH: \"$proj_dir\" +MODULE: BUS68030 +VHDL_FILE_LIST: 68030-68000-bus.vhd +OUTPUT_FILE_NAME: BUS68030 +SUFFIX_NAME: edi +PART: M4A5-128/64-10VC +" + close $rspFile +} +if [runCmd "\"$cpld_bin/Synpwrap\" -e BUS68030 -target mach -pro "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete BUS68030.cmd +if [runCmd "\"$cpld_bin/edif2blf\" -edf BUS68030.edi -out BUS68030.bl0 -err automake.err -log BUS68030.log -prj 68030_tk -lib \"$install_dir/ispcpld/dat/mach.edn\" -net_Vcc VCC -net_GND GND -nbx -dse -tlw -cvt YES -xor"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" BUS68030.bl0 -collapse none -reduce none -keepwires -err automake.err -family"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblflink\" \"BUS68030.bl1\" -o \"68030_tk.bl2\" -omod \"68030_tk\" -err \"automake.err\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/impsrc\" -prj 68030_tk -lci 68030_tk.lct -log 68030_tk.imp -err automake.err -tti 68030_tk.bl2 -dir $proj_dir"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -blifopt 68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" 68030_tk.bl2 -sweep -mergefb -err automake.err -o 68030_tk.bl3 @68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -diofft 68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mdiofft\" 68030_tk.bl3 -pla -family AMDMACH -idev van -o 68030_tk.tt2 -oxrf 68030_tk.xrf -err automake.err @68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/tt2tott3\" -prj 68030_tk -dir $proj_dir -log 68030_tk.log -tti 68030_tk.tt2 -tto 68030_tk.tt3"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -prefit 68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/prefit\" -inp 68030_tk.tt3 -out 68030_tk.tt4 -err automake.err -log 68030_tk.log -percent 68030_tk.tte -mod BUS68030 @68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/blif2eqn\" 68030_tk.tte -o 68030_tk.eq3 -use_short -err automake.err "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/lci2vci\" -lci 68030_tk.lct -out 68030_tk.vct -log 68030_tk.l2v"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [catch {open 68030_tk.rsp w} rspFile] { + puts stderr "Cannot create response file 68030_tk.rsp: $rspFile" +} else { + puts $rspFile "-inp \"68030_tk.tt4\" -vci \"68030_tk.vct\" -log \"68030_tk.log\" -eqn \"68030_tk.eq3\" -dev mach447a -dat \"$install_dir/ispcpld/dat/mach4a/\" -msg \"$install_dir/ispcpld/dat/\" -err automake.err -tmv \"NoInput.tmv\" +" + close $rspFile +} +if [runCmd "\"$cpld_bin/machfitr\" \"@68030_tk.rsp\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete 68030_tk.rsp +if [runCmd "\"$cpld_bin/lci2vci\" -vci 68030_tk.vco -out 68030_tk.lco -log 68030_tk.v2l"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 68030_tk -if 68030_tk.jed -j2s -log 68030_tk.svl "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:35:37 ########### + + +########## Tcl recorder starts at 08/10/14 19:40:37 ########## + +# Commands to make the Process: +# Hierarchy +if [runCmd "\"$cpld_bin/vhd2jhd\" 68030-68000-bus.vhd -o 68030-68000-bus.jhd -m \"$install_dir/ispcpld/generic/lib/vhd/location.map\" -p \"$install_dir/ispcpld/generic/lib\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:40:37 ########### + + +########## Tcl recorder starts at 08/10/14 19:40:37 ########## + +# Commands to make the Process: +# JEDEC File +if [catch {open BUS68030.cmd w} rspFile] { + puts stderr "Cannot create response file BUS68030.cmd: $rspFile" +} else { + puts $rspFile "STYFILENAME: 68030_tk.sty +PROJECT: BUS68030 +WORKING_PATH: \"$proj_dir\" +MODULE: BUS68030 +VHDL_FILE_LIST: 68030-68000-bus.vhd +OUTPUT_FILE_NAME: BUS68030 +SUFFIX_NAME: edi +PART: M4A5-128/64-10VC +" + close $rspFile +} +if [runCmd "\"$cpld_bin/Synpwrap\" -e BUS68030 -target mach -pro "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete BUS68030.cmd +if [runCmd "\"$cpld_bin/edif2blf\" -edf BUS68030.edi -out BUS68030.bl0 -err automake.err -log BUS68030.log -prj 68030_tk -lib \"$install_dir/ispcpld/dat/mach.edn\" -net_Vcc VCC -net_GND GND -nbx -dse -tlw -cvt YES -xor"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" BUS68030.bl0 -collapse none -reduce none -keepwires -err automake.err -family"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblflink\" \"BUS68030.bl1\" -o \"68030_tk.bl2\" -omod \"68030_tk\" -err \"automake.err\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/impsrc\" -prj 68030_tk -lci 68030_tk.lct -log 68030_tk.imp -err automake.err -tti 68030_tk.bl2 -dir $proj_dir"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -blifopt 68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" 68030_tk.bl2 -sweep -mergefb -err automake.err -o 68030_tk.bl3 @68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -diofft 68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mdiofft\" 68030_tk.bl3 -pla -family AMDMACH -idev van -o 68030_tk.tt2 -oxrf 68030_tk.xrf -err automake.err @68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/tt2tott3\" -prj 68030_tk -dir $proj_dir -log 68030_tk.log -tti 68030_tk.tt2 -tto 68030_tk.tt3"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -prefit 68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/prefit\" -inp 68030_tk.tt3 -out 68030_tk.tt4 -err automake.err -log 68030_tk.log -percent 68030_tk.tte -mod BUS68030 @68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/blif2eqn\" 68030_tk.tte -o 68030_tk.eq3 -use_short -err automake.err "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/lci2vci\" -lci 68030_tk.lct -out 68030_tk.vct -log 68030_tk.l2v"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [catch {open 68030_tk.rsp w} rspFile] { + puts stderr "Cannot create response file 68030_tk.rsp: $rspFile" +} else { + puts $rspFile "-inp \"68030_tk.tt4\" -vci \"68030_tk.vct\" -log \"68030_tk.log\" -eqn \"68030_tk.eq3\" -dev mach447a -dat \"$install_dir/ispcpld/dat/mach4a/\" -msg \"$install_dir/ispcpld/dat/\" -err automake.err -tmv \"NoInput.tmv\" +" + close $rspFile +} +if [runCmd "\"$cpld_bin/machfitr\" \"@68030_tk.rsp\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete 68030_tk.rsp +if [runCmd "\"$cpld_bin/lci2vci\" -vci 68030_tk.vco -out 68030_tk.lco -log 68030_tk.v2l"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 68030_tk -if 68030_tk.jed -j2s -log 68030_tk.svl "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:40:37 ########### + + +########## Tcl recorder starts at 08/10/14 19:50:07 ########## + +# Commands to make the Process: +# Hierarchy +if [runCmd "\"$cpld_bin/vhd2jhd\" 68030-68000-bus.vhd -o 68030-68000-bus.jhd -m \"$install_dir/ispcpld/generic/lib/vhd/location.map\" -p \"$install_dir/ispcpld/generic/lib\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:50:07 ########### + + +########## Tcl recorder starts at 08/10/14 19:50:07 ########## + +# Commands to make the Process: +# JEDEC File +if [catch {open BUS68030.cmd w} rspFile] { + puts stderr "Cannot create response file BUS68030.cmd: $rspFile" +} else { + puts $rspFile "STYFILENAME: 68030_tk.sty +PROJECT: BUS68030 +WORKING_PATH: \"$proj_dir\" +MODULE: BUS68030 +VHDL_FILE_LIST: 68030-68000-bus.vhd +OUTPUT_FILE_NAME: BUS68030 +SUFFIX_NAME: edi +PART: M4A5-128/64-10VC +" + close $rspFile +} +if [runCmd "\"$cpld_bin/Synpwrap\" -e BUS68030 -target mach -pro "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete BUS68030.cmd +if [runCmd "\"$cpld_bin/edif2blf\" -edf BUS68030.edi -out BUS68030.bl0 -err automake.err -log BUS68030.log -prj 68030_tk -lib \"$install_dir/ispcpld/dat/mach.edn\" -net_Vcc VCC -net_GND GND -nbx -dse -tlw -cvt YES -xor"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" BUS68030.bl0 -collapse none -reduce none -keepwires -err automake.err -family"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblflink\" \"BUS68030.bl1\" -o \"68030_tk.bl2\" -omod \"68030_tk\" -err \"automake.err\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/impsrc\" -prj 68030_tk -lci 68030_tk.lct -log 68030_tk.imp -err automake.err -tti 68030_tk.bl2 -dir $proj_dir"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -blifopt 68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mblifopt\" 68030_tk.bl2 -sweep -mergefb -err automake.err -o 68030_tk.bl3 @68030_tk.b2_"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -diofft 68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/mdiofft\" 68030_tk.bl3 -pla -family AMDMACH -idev van -o 68030_tk.tt2 -oxrf 68030_tk.xrf -err automake.err @68030_tk.d0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/tt2tott3\" -prj 68030_tk -dir $proj_dir -log 68030_tk.log -tti 68030_tk.tt2 -tto 68030_tk.tt3"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/abelvci\" -vci 68030_tk.lct -dev mach4a -prefit 68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/prefit\" -inp 68030_tk.tt3 -out 68030_tk.tt4 -err automake.err -log 68030_tk.log -percent 68030_tk.tte -mod BUS68030 @68030_tk.l0"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/blif2eqn\" 68030_tk.tte -o 68030_tk.eq3 -use_short -err automake.err "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/lci2vci\" -lci 68030_tk.lct -out 68030_tk.vct -log 68030_tk.l2v"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [catch {open 68030_tk.rsp w} rspFile] { + puts stderr "Cannot create response file 68030_tk.rsp: $rspFile" +} else { + puts $rspFile "-inp \"68030_tk.tt4\" -vci \"68030_tk.vct\" -log \"68030_tk.log\" -eqn \"68030_tk.eq3\" -dev mach447a -dat \"$install_dir/ispcpld/dat/mach4a/\" -msg \"$install_dir/ispcpld/dat/\" -err automake.err -tmv \"NoInput.tmv\" +" + close $rspFile +} +if [runCmd "\"$cpld_bin/machfitr\" \"@68030_tk.rsp\""] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +file delete 68030_tk.rsp +if [runCmd "\"$cpld_bin/lci2vci\" -vci 68030_tk.vco -out 68030_tk.lco -log 68030_tk.v2l"] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} +if [runCmd "\"$cpld_bin/synsvf\" -exe \"$install_dir/ispvmsystem/ispufw\" -prj 68030_tk -if 68030_tk.jed -j2s -log 68030_tk.svl "] { + return +} else { + vwait done + if [checkResult $done] { + return + } +} + +########## Tcl recorder end at 08/10/14 19:50:07 ########### + diff --git a/Logic/68030_tk.crf b/Logic/68030_tk.crf index 6c4256d..8795fc7 100644 --- a/Logic/68030_tk.crf +++ b/Logic/68030_tk.crf @@ -1,7 +1,7 @@ // Signal Name Cross Reference File // ispLEVER Classic 1.7.00.05.28.13 -// Design '68030_tk' created Sat Aug 09 23:50:26 2014 +// Design '68030_tk' created Sun Aug 10 19:50:14 2014 // LEGEND: '>' Functional Block Port Separator diff --git a/Logic/68030_tk.ipr b/Logic/68030_tk.ipr index cf94d26..d176a82 100644 --- a/Logic/68030_tk.ipr +++ b/Logic/68030_tk.ipr @@ -1,2 +1 @@ -6322631O -GG?K \ No newline at end of file +4020=31 , ZM5 \ No newline at end of file diff --git a/Logic/BUS68030.prj b/Logic/BUS68030.prj index 8571966..7684097 100644 --- a/Logic/BUS68030.prj +++ b/Logic/BUS68030.prj @@ -1,6 +1,6 @@ #-- Lattice Semiconductor Corporation Ltd. #-- Synplify OEM project file c:/users/matze/documents/github/68030tk/logic\BUS68030.prj -#-- Written on Sat Aug 09 23:50:19 2014 +#-- Written on Sun Aug 10 19:50:07 2014 #device options diff --git a/Logic/bus68030.srf b/Logic/bus68030.srf index b2a0869..a0463a0 100644 --- a/Logic/bus68030.srf +++ b/Logic/bus68030.srf @@ -6,7 +6,7 @@ #Implementation: logic $ Start of Compile -#Sat Aug 09 23:50:20 2014 +#Sun Aug 10 19:50:07 2014 Synopsys VHDL Compiler, version comp201209rcp1, Build 283R, built Mar 19 2013 @N|Running in 64-bit mode @@ -19,9 +19,8 @@ VHDL syntax check successful! File C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd changed - recompiling @N: CD630 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":13:7:13:14|Synthesizing work.bus68030.behavioral Post processing for work.bus68030.behavioral -@W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":496:2:496:3|Pruning register CLK_OUT_PRE_33 +@W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":498:2:498:3|Pruning register CLK_OUT_PRE_33 @W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":140:32:140:34|Pruning register CLK_REF(1 downto 0) -@W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":112:29:112:31|Pruning register DTACK_D0 @W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":133:34:133:36|Pruning register CLK_000_D4 @W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":132:34:132:36|Pruning register CLK_000_D3 @W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":131:34:131:36|Pruning register CLK_000_D2 @@ -58,7 +57,7 @@ State machine has 11 reachable states with original encodings of: 1111 @END Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Sat Aug 09 23:50:20 2014 +# Sun Aug 10 19:50:07 2014 ###########################################################] Map & Optimize Report @@ -95,25 +94,25 @@ Resource Usage Report Simple gate primitives: DFFRH 44 uses -DFFSH 26 uses +DFFSH 27 uses DFF 1 use BI_DIR 13 uses IBUF 30 uses OBUF 16 uses BUFTH 1 use -AND2 201 uses -INV 164 uses -OR2 21 uses -XOR2 2 uses +AND2 193 uses +INV 167 uses +XOR2 3 uses +OR2 23 uses @N: FC100 |Timing Report not generated for this device, please use place and route tools for timing analysis. G-2012.09LC-SP1 Mapper successful! -At Mapper Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 31MB peak: 96MB) +At Mapper Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 31MB peak: 95MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Sat Aug 09 23:50:21 2014 +# Sun Aug 10 19:50:09 2014 ###########################################################] diff --git a/Logic/run_options.txt b/Logic/run_options.txt index c9c6063..b60af0f 100644 --- a/Logic/run_options.txt +++ b/Logic/run_options.txt @@ -1,7 +1,7 @@ #-- Synopsys, Inc. #-- Version G-2012.09LC-SP1 #-- Project file C:\users\matze\documents\github\68030tk\logic\run_options.txt -#-- Written on Sat Aug 09 23:50:20 2014 +#-- Written on Sun Aug 10 19:50:07 2014 #project files diff --git a/Logic/synlog/bus68030_fpga_mapper.srr b/Logic/synlog/bus68030_fpga_mapper.srr index 6f04a5b..6883930 100644 --- a/Logic/synlog/bus68030_fpga_mapper.srr +++ b/Logic/synlog/bus68030_fpga_mapper.srr @@ -30,25 +30,25 @@ Resource Usage Report Simple gate primitives: DFFRH 44 uses -DFFSH 26 uses +DFFSH 27 uses DFF 1 use BI_DIR 13 uses IBUF 30 uses OBUF 16 uses BUFTH 1 use -AND2 201 uses -INV 164 uses -OR2 21 uses -XOR2 2 uses +AND2 193 uses +INV 167 uses +XOR2 3 uses +OR2 23 uses @N: FC100 |Timing Report not generated for this device, please use place and route tools for timing analysis. G-2012.09LC-SP1 Mapper successful! -At Mapper Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 31MB peak: 96MB) +At Mapper Exit (Real Time elapsed 0h:00m:00s; CPU Time elapsed 0h:00m:00s; Memory used current: 31MB peak: 95MB) Process took 0h:00m:01s realtime, 0h:00m:01s cputime -# Sat Aug 09 23:50:21 2014 +# Sun Aug 10 19:50:09 2014 ###########################################################] diff --git a/Logic/synlog/report/BUS68030_compiler_errors.txt b/Logic/synlog/report/BUS68030_compiler_errors.txt index ec456cb..b6bd6d7 100644 --- a/Logic/synlog/report/BUS68030_compiler_errors.txt +++ b/Logic/synlog/report/BUS68030_compiler_errors.txt @@ -1,3 +1,3 @@ -@E: CG119 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":294:48:294:49|Expecting closing ) +@E: CD415 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":488:5:488:11|Expecting keyword if @E|Parse errors encountered - exiting diff --git a/Logic/synlog/report/BUS68030_compiler_runstatus.xml b/Logic/synlog/report/BUS68030_compiler_runstatus.xml index 8776831..ce4fab9 100644 --- a/Logic/synlog/report/BUS68030_compiler_runstatus.xml +++ b/Logic/synlog/report/BUS68030_compiler_runstatus.xml @@ -18,7 +18,7 @@ The file contains the job information from compiler to be displayed as part of t C:\users\matze\documents\github\68030tk\logic\synlog\report\BUS68030_compiler_notes.txt - 11 + 10 C:\users\matze\documents\github\68030tk\logic\synlog\report\BUS68030_compiler_warnings.txt @@ -35,7 +35,7 @@ The file contains the job information from compiler to be displayed as part of t - - 1407621020 + 1407693007 \ No newline at end of file diff --git a/Logic/synlog/report/BUS68030_compiler_warnings.txt b/Logic/synlog/report/BUS68030_compiler_warnings.txt index d0120f2..8243266 100644 --- a/Logic/synlog/report/BUS68030_compiler_warnings.txt +++ b/Logic/synlog/report/BUS68030_compiler_warnings.txt @@ -1,6 +1,5 @@ -@W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":496:2:496:3|Pruning register CLK_OUT_PRE_33 +@W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":498:2:498:3|Pruning register CLK_OUT_PRE_33 @W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":140:32:140:34|Pruning register CLK_REF(1 downto 0) -@W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":112:29:112:31|Pruning register DTACK_D0 @W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":133:34:133:36|Pruning register CLK_000_D4 @W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":132:34:132:36|Pruning register CLK_000_D3 @W: CL169 :"C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd":131:34:131:36|Pruning register CLK_000_D2 diff --git a/Logic/synlog/report/BUS68030_fpga_mapper_runstatus.xml b/Logic/synlog/report/BUS68030_fpga_mapper_runstatus.xml index acb453a..bfcc74d 100644 --- a/Logic/synlog/report/BUS68030_fpga_mapper_runstatus.xml +++ b/Logic/synlog/report/BUS68030_fpga_mapper_runstatus.xml @@ -36,10 +36,10 @@ The file contains the job information from mapper to be displayed as part of the 0h:00m:00s -96MB +95MB -1407621021 +1407693009 diff --git a/Logic/syntmp/run_option.xml b/Logic/syntmp/run_option.xml index 316827c..2c5d6ba 100644 --- a/Logic/syntmp/run_option.xml +++ b/Logic/syntmp/run_option.xml @@ -3,7 +3,7 @@ Synopsys, Inc. Version G-2012.09LC-SP1 Project file C:\users\matze\documents\github\68030tk\logic\syntmp\run_option.xml - Written on Sat Aug 09 23:50:20 2014 + Written on Sun Aug 10 19:50:07 2014 --> diff --git a/Logic/synwork/BUS68030_compiler.fdep b/Logic/synwork/BUS68030_compiler.fdep index b842349..368718c 100644 --- a/Logic/synwork/BUS68030_compiler.fdep +++ b/Logic/synwork/BUS68030_compiler.fdep @@ -10,7 +10,7 @@ #CUR:"C:\\Program Files (x86)\\ispLever\\synpbase\\lib\\vhd\\umr_capim.vhd":1363694328 #CUR:"C:\\Program Files (x86)\\ispLever\\synpbase\\lib\\vhd\\arith.vhd":1363694328 #CUR:"C:\\Program Files (x86)\\ispLever\\synpbase\\lib\\vhd\\unsigned.vhd":1363694328 -#CUR:"C:\\users\\matze\\documents\\github\\68030tk\\logic\\68030-68000-bus.vhd":1407621014 +#CUR:"C:\\users\\matze\\documents\\github\\68030tk\\logic\\68030-68000-bus.vhd":1407693003 0 "C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd" vhdl # Dependency Lists (Uses list) diff --git a/Logic/synwork/BUS68030_compiler.fdeporig b/Logic/synwork/BUS68030_compiler.fdeporig index f43c939..d463fb1 100644 --- a/Logic/synwork/BUS68030_compiler.fdeporig +++ b/Logic/synwork/BUS68030_compiler.fdeporig @@ -10,7 +10,7 @@ #CUR:"C:\\Program Files (x86)\\ispLever\\synpbase\\lib\\vhd\\umr_capim.vhd":1363694328 #CUR:"C:\\Program Files (x86)\\ispLever\\synpbase\\lib\\vhd\\arith.vhd":1363694328 #CUR:"C:\\Program Files (x86)\\ispLever\\synpbase\\lib\\vhd\\unsigned.vhd":1363694328 -#CUR:"C:\\users\\matze\\documents\\github\\68030tk\\logic\\68030-68000-bus.vhd":1407621014 +#CUR:"C:\\users\\matze\\documents\\github\\68030tk\\logic\\68030-68000-bus.vhd":1407693003 0 "C:\users\matze\documents\github\68030tk\logic\68030-68000-bus.vhd" vhdl # Dependency Lists (Uses list) diff --git a/Logic/synwork/BUS68030_compiler.srs b/Logic/synwork/BUS68030_compiler.srs index 3a757a886e5b084c3b64e255cc635c0c28ae2ad8..6389a88be7b0f55569fc35634bf498de4abd37ef 100644 GIT binary patch delta 8168 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 O{{sLcS#SS@ZvX(ERiMBC delta 8277 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 T{vQAU|NjF3ik=R^gl_-