From 211e1f3ff340681b422e0458c267bf3bbf916043 Mon Sep 17 00:00:00 2001 From: wfjm Date: Sat, 10 Jun 2017 11:36:32 +0200 Subject: [PATCH] get vivado 2017.1 ready - xviv_msg_filter: add version-range tag support - *.vmfset: - drop the nonsense 'Synth 8-6014' messages - adopt to different path used by 'Synth 8-3332' messages --- .../tst_rlink/arty/sys_tst_rlink_arty.vmfset | 5 +- .../tst_rlink/basys3/sys_tst_rlink_b3.vhd | 6 +-- .../tst_rlink/basys3/sys_tst_rlink_b3.vmfset | 5 +- .../tst_rlink/nexys4/sys_tst_rlink_n4.vmfset | 5 +- .../nexys4/sys_tst_serloop1_n4.vmfset | 5 +- .../nexys4/sys_tst_serloop2_n4.vmfset | 5 +- .../basys3/sys_tst_snhumanio_b3.vmfset | 7 ++- .../nexys4/sys_tst_snhumanio_n4.vmfset | 5 +- .../tst_sram/nexys4/sys_tst_sram_n4.vmfset | 5 +- .../w11a/arty_bram/sys_w11a_br_arty.vmfset | 43 ++++++++++++++++- rtl/sys_gen/w11a/basys3/sys_w11a_b3.vmfset | 41 ++++++++++++++-- rtl/sys_gen/w11a/nexys4/sys_w11a_n4.vmfset | 36 +++++++++++++- tools/bin/xviv_msg_filter | 47 ++++++++++++++++++- tools/man/man1/xviv_msg_filter.1 | 18 +++++-- 14 files changed, 210 insertions(+), 23 deletions(-) diff --git a/rtl/sys_gen/tst_rlink/arty/sys_tst_rlink_arty.vmfset b/rtl/sys_gen/tst_rlink/arty/sys_tst_rlink_arty.vmfset index 1a1b0574..8c1b8d39 100644 --- a/rtl/sys_gen/tst_rlink/arty/sys_tst_rlink_arty.vmfset +++ b/rtl/sys_gen/tst_rlink/arty/sys_tst_rlink_arty.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_tst_rlink_arty.vmfset 773 2016-06-05 20:03:15Z mueller $ +# $Id: sys_tst_rlink_arty.vmfset 908 2017-06-05 21:03:06Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -7,6 +7,9 @@ I [Synth 8-3331] RB_MREQ # generic # --> rlink_sp1c doesn't use CE_USEC # OK 2016-06-05 i [Synth 8-3331] rlink_sp1c.*CE_USEC +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ # --> many HIO pins not used # OK 2016-06-05 i [Synth 8-3332] IOB_(SWI|BTN)/R_DI_reg[\d*] diff --git a/rtl/sys_gen/tst_rlink/basys3/sys_tst_rlink_b3.vhd b/rtl/sys_gen/tst_rlink/basys3/sys_tst_rlink_b3.vhd index 640f1e71..2a506f0e 100644 --- a/rtl/sys_gen/tst_rlink/basys3/sys_tst_rlink_b3.vhd +++ b/rtl/sys_gen/tst_rlink/basys3/sys_tst_rlink_b3.vhd @@ -1,4 +1,4 @@ --- $Id: sys_tst_rlink_b3.vhd 889 2017-04-30 13:31:27Z mueller $ +-- $Id: sys_tst_rlink_b3.vhd 907 2017-06-05 08:19:12Z mueller $ -- -- Copyright 2015-2016 by Walter F.J. Mueller -- @@ -28,9 +28,9 @@ -- Test bench: tb/tb_tst_rlink_b3 -- -- Target Devices: generic --- Tool versions: viv 2014.4-2015.4; ghdl 0.31-0.33 +-- Tool versions: viv 2014.4-2016.4; ghdl 0.31-0.34 -- --- Synthesized (xst): +-- Synthesized (viv): -- Date Rev viv Target flop lutl lutm bram slic -- 2016-03-27 753 2015.4 xc7a35t-1 986 1352 36 3.0 473 meminf -- 2016-03-13 743 2015.4 xc7a35t-1 988 1372 64 4.5 503 +XADC diff --git a/rtl/sys_gen/tst_rlink/basys3/sys_tst_rlink_b3.vmfset b/rtl/sys_gen/tst_rlink/basys3/sys_tst_rlink_b3.vmfset index 71c226da..ebeda253 100644 --- a/rtl/sys_gen/tst_rlink/basys3/sys_tst_rlink_b3.vmfset +++ b/rtl/sys_gen/tst_rlink/basys3/sys_tst_rlink_b3.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_tst_rlink_b3.vmfset 773 2016-06-05 20:03:15Z mueller $ +# $Id: sys_tst_rlink_b3.vmfset 908 2017-06-05 21:03:06Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -7,6 +7,9 @@ I [Synth 8-3331] RB_MREQ # generic # --> rlink_sp1c doesn't use CE_USEC # OK 2016-06-05 i [Synth 8-3331] rlink_sp1c.*CE_USEC +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ I [Synth 8-3332] R_REGS_reg[(btn|swi)(eff)?][\d*] # generic # --> monitor outputs moneop,monattn currently not used # OK 2016-06-05 diff --git a/rtl/sys_gen/tst_rlink/nexys4/sys_tst_rlink_n4.vmfset b/rtl/sys_gen/tst_rlink/nexys4/sys_tst_rlink_n4.vmfset index 5bdbc8e5..a5cc3983 100644 --- a/rtl/sys_gen/tst_rlink/nexys4/sys_tst_rlink_n4.vmfset +++ b/rtl/sys_gen/tst_rlink/nexys4/sys_tst_rlink_n4.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_tst_rlink_n4.vmfset 773 2016-06-05 20:03:15Z mueller $ +# $Id: sys_tst_rlink_n4.vmfset 908 2017-06-05 21:03:06Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -9,6 +9,9 @@ I [Synth 8-3331] I_BTNRST_N # --> rlink_sp1c doesn't use CE_USEC # OK 2016-06-05 i [Synth 8-3331] rlink_sp1c.*CE_USEC +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ I [Synth 8-3332] R_REGS_reg[(btn|swi)(eff)?][\d*] # generic # --> monitor outputs moneop,monattn currently not used # OK 2016-06-05 diff --git a/rtl/sys_gen/tst_serloop/nexys4/sys_tst_serloop1_n4.vmfset b/rtl/sys_gen/tst_serloop/nexys4/sys_tst_serloop1_n4.vmfset index 87fc00ea..d269a453 100644 --- a/rtl/sys_gen/tst_serloop/nexys4/sys_tst_serloop1_n4.vmfset +++ b/rtl/sys_gen/tst_serloop/nexys4/sys_tst_serloop1_n4.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_tst_serloop1_n4.vmfset 773 2016-06-05 20:03:15Z mueller $ +# $Id: sys_tst_serloop1_n4.vmfset 908 2017-06-05 21:03:06Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -24,6 +24,9 @@ i [Synth 8-3331] SER_MONI[abclkdiv.*][\d*] i [Synth 8-3331] SER_MONI[(rxact|txact|abdone|rxerr|rxovr)] i [Synth 8-3331] HIO_CNTL[enaftdi] +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ # --> many HIO pins not used # OK 2016-06-05 i [Synth 8-3332] HIO/IOB_(SWI|BTN)/R_DI_reg[\d*] diff --git a/rtl/sys_gen/tst_serloop/nexys4/sys_tst_serloop2_n4.vmfset b/rtl/sys_gen/tst_serloop/nexys4/sys_tst_serloop2_n4.vmfset index b89afae2..c0c73dda 100644 --- a/rtl/sys_gen/tst_serloop/nexys4/sys_tst_serloop2_n4.vmfset +++ b/rtl/sys_gen/tst_serloop/nexys4/sys_tst_serloop2_n4.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_tst_serloop2_n4.vmfset 773 2016-06-05 20:03:15Z mueller $ +# $Id: sys_tst_serloop2_n4.vmfset 908 2017-06-05 21:03:06Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -26,6 +26,9 @@ i [Synth 8-3331] SER_MONI[abclkdiv.*][\d*] i [Synth 8-3331] SER_MONI[(rxact|txact|abdone|rxerr|rxovr)] i [Synth 8-3331] HIO_CNTL[enaftdi] +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ I [Synth 8-3332] R_REGS_reg[(btn|swi)(eff)?][\d*] # generic # --> currently CDUWIDTH=8, but clock below 127 MHz # OK 2016-06-05 diff --git a/rtl/sys_gen/tst_snhumanio/basys3/sys_tst_snhumanio_b3.vmfset b/rtl/sys_gen/tst_snhumanio/basys3/sys_tst_snhumanio_b3.vmfset index 0712447f..a398c979 100644 --- a/rtl/sys_gen/tst_snhumanio/basys3/sys_tst_snhumanio_b3.vmfset +++ b/rtl/sys_gen/tst_snhumanio/basys3/sys_tst_snhumanio_b3.vmfset @@ -1,8 +1,11 @@ -# $Id: sys_tst_snhumanio_b3.vmfset 772 2016-06-05 12:55:11Z mueller $ +# $Id: sys_tst_snhumanio_b3.vmfset 908 2017-06-05 21:03:06Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] -# --> really no messages ... ! +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + +# --> really no messages otherise... ! # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [imp] diff --git a/rtl/sys_gen/tst_snhumanio/nexys4/sys_tst_snhumanio_n4.vmfset b/rtl/sys_gen/tst_snhumanio/nexys4/sys_tst_snhumanio_n4.vmfset index 0dc2f59b..327c08e3 100644 --- a/rtl/sys_gen/tst_snhumanio/nexys4/sys_tst_snhumanio_n4.vmfset +++ b/rtl/sys_gen/tst_snhumanio/nexys4/sys_tst_snhumanio_n4.vmfset @@ -1,7 +1,10 @@ -# $Id: sys_tst_snhumanio_n4.vmfset 772 2016-06-05 12:55:11Z mueller $ +# $Id: sys_tst_snhumanio_n4.vmfset 908 2017-06-05 21:03:06Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # port driven by constant -------------------------------------- # --> RGBLED0 and upper 4 DSP digits unused # OK 2016-06-05 i [Synth 8-3917] O_RGBLED0[\d] diff --git a/rtl/sys_gen/tst_sram/nexys4/sys_tst_sram_n4.vmfset b/rtl/sys_gen/tst_sram/nexys4/sys_tst_sram_n4.vmfset index ee15a870..d6688374 100644 --- a/rtl/sys_gen/tst_sram/nexys4/sys_tst_sram_n4.vmfset +++ b/rtl/sys_gen/tst_sram/nexys4/sys_tst_sram_n4.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_tst_sram_n4.vmfset 785 2016-07-10 12:22:41Z mueller $ +# $Id: sys_tst_sram_n4.vmfset 908 2017-06-05 21:03:06Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -23,6 +23,9 @@ i [Synth 8-3331] tst_sram.*MEM_ACK_W # --> rlink_sp2c doesn't use CE_USEC and CE_MSEC # OK 2016-06-05 i [Synth 8-3331] rlink_sp2c.*CE_(USEC|MSEC) +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ I [Synth 8-3332] R_LREGS_reg[attn][\d*] # generic # --> many HIO pins not used # OK 2016-06-05 diff --git a/rtl/sys_gen/w11a/arty_bram/sys_w11a_br_arty.vmfset b/rtl/sys_gen/w11a/arty_bram/sys_w11a_br_arty.vmfset index f6fce57f..e2a28836 100644 --- a/rtl/sys_gen/w11a/arty_bram/sys_w11a_br_arty.vmfset +++ b/rtl/sys_gen/w11a/arty_bram/sys_w11a_br_arty.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_w11a_br_arty.vmfset 773 2016-06-05 20:03:15Z mueller $ +# $Id: sys_w11a_br_arty.vmfset 909 2017-06-09 16:21:55Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -6,7 +6,6 @@ I [Designutils 20-1567] # generic # net without driver ------------------------------------------- -i [Synth 8-3848] DM_STAT_SE[snum].*pdp11_sequencer # OK 2016-06-05 # unconnected ports -------------------------------------------- I [Synth 8-3331] RB_MREQ # generic @@ -14,7 +13,11 @@ I [Synth 8-3331] DM_STAT_DP # generic # --> pdp11_hio70_arty uses only subset of CP_STAT info # OK 2016-06-05 I [Synth 8-3331] pdp11_hio70_arty.*CP_STAT[.*] +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ +{:2016.4} I [Synth 8-3332] R_LREGS_reg[attn][\d*] # generic # --> many HIO pins not used # OK 2016-06-05 I [Synth 8-3332] HIO/R_REGS_reg[(btn|swi)(eff)?][\d*] @@ -43,6 +46,42 @@ i [Synth 8-3332] SEQ/R_IDSTAT_reg[res_sel][2] # --> monitor outputs moneop,monattn currently not used # OK 2016-06-05 i [Synth 8-3332] RLINK/CORE/RL/R_LREGS_reg[moneop] i [Synth 8-3332] RLINK/CORE/RL/R_LREGS_reg[monattn] +# --> dmcmon not configured, snum not used # OK 2017-06-06 +i [Synth 8-3332] SEQ/SNUM0.R_VMWAIT_reg + +{2017.1:} +I [Synth 8-3332] R_LREGS_reg[attn][\d*] # generic +# --> many HIO pins not used # OK 2017-06-06 +I [Synth 8-3332] HIO/R_REGS_reg[(btn|swi)(eff)?][\d*] +i [Synth 8-3332] HIO/IOB_BTN/R_DI_reg[\d*] +i [Synth 8-3332] HIO/DEB.DEB_BTN/R_REGS_reg[(dref|dout|dchange|cecnt)][\d*] +# --> usec not used for serport clock domain # OK 2017-06-06 +i [Synth 8-3332] CLKDIV_CLKS/R_REGS_reg[usec] +# --> inst_compl logic disabled in pdp11_mmu # OK 2017-06-06 +i [Synth 8-3332] MMU/R_SSR0_reg[inst_compl].* pdp11_vmbox +# --> IB_MREQ.cacc only used in ibd_ibmon, which is disabled # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[ibcacc].* pdp11_vmbox +# --> not yet used # OK 2017-06-06 +i [Synth 8-3332] R_STATUS_reg[suspext].* pdp11_sequencer +# --> mawidth=4, nblock=11, so some cellen unused # OK 2017-06-06 +i [Synth 8-3332] BRAM_CTL/R_REGS_reg[cellen][1\d] +# --> indeed no types with [3] set # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[dtyp][3].* ibdr_rhrp +# --> not yet used # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[req_lock].* ibd_iist +i [Synth 8-3332] R_REGS_reg[req_boot].* ibd_iist +# --> [8] is for DZ11TX, not yet available # OK 2017-06-06 +# --> [9] is for DZ11RX, unclear why this one isn't removed too !! +i [Synth 8-3332] R_STATUS_reg[intvect][8].* pdp11_sequencer +# --> _decode only uses _[oalm]unit -> [2] always '0' in decode # OK 2017-06-06 +i [Synth 8-3332] R_IDSTAT_reg[res_sel][2].* pdp11_sequencer +# --> monitor outputs moneop,monattn currently not used # OK 2017-06-06 +i [Synth 8-3332] RLINK/CORE/RL/R_LREGS_reg[moneop] +i [Synth 8-3332] RLINK/CORE/RL/R_LREGS_reg[monattn] +# --> dmcmon not configured, snum not used +i [Synth 8-3332] SNUM0.R_VMWAIT_reg.* pdp11_sequencer # OK 2017-06-06 + +{:} # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [imp] diff --git a/rtl/sys_gen/w11a/basys3/sys_w11a_b3.vmfset b/rtl/sys_gen/w11a/basys3/sys_w11a_b3.vmfset index 80d81188..3a1d1ab8 100644 --- a/rtl/sys_gen/w11a/basys3/sys_w11a_b3.vmfset +++ b/rtl/sys_gen/w11a/basys3/sys_w11a_b3.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_w11a_b3.vmfset 773 2016-06-05 20:03:15Z mueller $ +# $Id: sys_w11a_b3.vmfset 909 2017-06-09 16:21:55Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -6,14 +6,16 @@ I [Designutils 20-1567] # generic # net without driver ------------------------------------------- -# --> snum currently disabled # OK 2016-06-04 -i [Synth 8-3848] DM_STAT_SE[snum].*pdp11_sequencer # unconnected ports -------------------------------------------- I [Synth 8-3331] RB_MREQ # generic I [Synth 8-3331] DM_STAT_DP # generic +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ +{:2016.4} I [Synth 8-3332] R_LREGS_reg[attn][\d*] # generic I [Synth 8-3332] HIO/R_REGS_reg[(btn|swi)(eff)?][\d*] # generic # --> usec not used for serport clock domain # OK 2016-06-04 @@ -39,6 +41,39 @@ i [Synth 8-3332] SEQ/R_IDSTAT_reg[res_sel][2] # --> monitor outputs moneop,monattn currently not used # OK 2016-06-04 i [Synth 8-3332] RLINK/CORE/RL/R_LREGS_reg[moneop] i [Synth 8-3332] RLINK/CORE/RL/R_LREGS_reg[monattn] +# --> dmcmon not configured, snum not used # OK 2017-06-06 +i [Synth 8-3332] SEQ/SNUM0.R_VMWAIT_reg + +{2017.1:} +I [Synth 8-3332] R_LREGS_reg[attn][\d*] # generic +I [Synth 8-3332] R_REGS_reg[(btn|swi)(eff)?][\d*] # generic +# --> usec not used for serport clock domain # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[usec].* clkdivce +# --> inst_compl logic disabled in pdp11_mmu # OK 2017-06-06 +i [Synth 8-3332] MMU/R_SSR0_reg[inst_compl].* pdp11_vmbox +# --> IB_MREQ.cacc only used in ibd_ibmon, which is disabled # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[ibcacc].* pdp11_vmbox +# --> not yet used # OK 2017-06-06 +i [Synth 8-3332] R_STATUS_reg[suspext].* pdp11_sequencer +# --> mawidth=4, nblock=11, so some cellen unused # OK 2016-06-05 +i [Synth 8-3332] R_REGS_reg[cellen][1\d].* pdp11_bram_memctl +# --> indeed no types with [3] set # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[dtyp][3].* ibdr_rhrp +# --> not yet used # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[req_lock].* ibd_iist +i [Synth 8-3332] R_REGS_reg[req_boot].* ibd_iist +# --> [8] is for DZ11TX, not yet available # OK 2017-06-06 +# --> [9] is for DZ11RX, unclear why this one isn't removed too !! +i [Synth 8-3332] R_STATUS_reg[intvect][8].* pdp11_sequencer +# --> _decode only uses _[oalm]unit -> [2] always '0' in decode # OK 2017-06-06 +i [Synth 8-3332] R_IDSTAT_reg[res_sel][2].* pdp11_sequencer +# --> monitor outputs moneop,monattn currently not used # OK 2017-06-06 +i [Synth 8-3332] CORE/RL/R_LREGS_reg[moneop].* rlink_sp2c +i [Synth 8-3332] CORE/RL/R_LREGS_reg[monattn].* rlink_sp2c +# --> dmcmon not configured, snum not used # OK 2017-06-06 +i [Synth 8-3332] SNUM0.R_VMWAIT_reg.* pdp11_sequencer + +{:} # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [imp] diff --git a/rtl/sys_gen/w11a/nexys4/sys_w11a_n4.vmfset b/rtl/sys_gen/w11a/nexys4/sys_w11a_n4.vmfset index 9ca0deb7..d0e65a01 100644 --- a/rtl/sys_gen/w11a/nexys4/sys_w11a_n4.vmfset +++ b/rtl/sys_gen/w11a/nexys4/sys_w11a_n4.vmfset @@ -1,4 +1,4 @@ -# $Id: sys_w11a_n4.vmfset 885 2017-04-23 15:54:01Z mueller $ +# $Id: sys_w11a_n4.vmfset 909 2017-06-09 16:21:55Z mueller $ # # ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ [syn] @@ -13,7 +13,11 @@ i [Synth 8-3917] O_RGBLED0[\d] I [Synth 8-3331] RB_MREQ # generic I [Synth 8-3331] DM_STAT_DP # generic +# sequential element removed (2017.1 nonsense) ----------------- +I [Synth 8-6014] _reg # generic + # unused sequential element ------------------------------------ +{:2016.4} I [Synth 8-3332] R_LREGS_reg[attn][\d*] # generic I [Synth 8-3332] HIO/R_REGS_reg[(btn|swi)(eff)?][\d*] # generic # --> only 4 MB out of 16 MB used # OK 2016-05-28 @@ -41,6 +45,36 @@ i [Synth 8-3332] RLINK/CORE/RL/R_LREGS_reg[monattn] # --> scnt disabled, thus 3 SNUM bits '0' # OK 2017-04-22 i [Synth 8-3332] R_REGS_reg[se_snum][(4|5|6)] +{2017.1:} +I [Synth 8-3332] R_LREGS_reg[attn][\d*] # generic +I [Synth 8-3332] R_REGS_reg[(btn|swi)(eff)?][\d*] # generic +# --> only 4 MB out of 16 MB used # OK 2017-06-06 +i [Synth 8-3332] IOB_MEM_ADDRH/R_DO_reg[20] +i [Synth 8-3332] IOB_MEM_ADDRH/R_DO_reg[21] +# --> usec not used for serport clock domain # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[usec].* clkdivce +# --> inst_compl logic disabled in pdp11_mmu # OK 2017-06-06 +i [Synth 8-3332] MMU/R_SSR0_reg[inst_compl].* pdp11_vmbox +# --> not yet used # OK 2017-06-06 +i [Synth 8-3332] R_STATUS_reg[suspext].* pdp11_sequencer +# --> indeed no types with [3] set # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[dtyp][3].* ibdr_rhrp +# --> not yet used # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[req_lock].* ibd_iist +i [Synth 8-3332] R_REGS_reg[req_boot].* ibd_iist +# --> [8] is for DZ11TX, not yet available # OK 2017-06-06 +# --> [9] is for DZ11RX, unclear why this one isn't removed too !! +i [Synth 8-3332] R_STATUS_reg[intvect][8].* pdp11_sequencer +# --> _decode only uses _[oalm]unit -> [2] always '0' in decode # OK 2017-06-06 +i [Synth 8-3332] R_IDSTAT_reg[res_sel][2].* pdp11_sequencer +# --> monitor outputs moneop,monattn currently not used # OK 2017-06-06 +i [Synth 8-3332] CORE/RL/R_LREGS_reg[moneop].* rlink_sp2c +i [Synth 8-3332] CORE/RL/R_LREGS_reg[monattn].* rlink_sp2c +# --> scnt disabled, thus 3 SNUM bits '0' # OK 2017-06-06 +i [Synth 8-3332] R_REGS_reg[se_snum][(4|5|6)] + +{:} + # INFO: encoded FSM with state register as -------------------- # test for sys_w11a_n4 that all FSMs are one_hot r [Synth 8-3354] R_BREGS_reg[state.*'one-hot'.*'rlink_core' diff --git a/tools/bin/xviv_msg_filter b/tools/bin/xviv_msg_filter index fee3c3c5..b060148f 100755 --- a/tools/bin/xviv_msg_filter +++ b/tools/bin/xviv_msg_filter @@ -1,7 +1,7 @@ #!/usr/bin/perl -w -# $Id: xviv_msg_filter 772 2016-06-05 12:55:11Z mueller $ +# $Id: xviv_msg_filter 909 2017-06-09 16:21:55Z mueller $ # -# Copyright 2016- by Walter F.J. Mueller +# Copyright 2016-2017 by Walter F.J. Mueller # # This program is free software; you may redistribute and/or modify it under # the terms of the GNU General Public License as published by the Free @@ -14,6 +14,7 @@ # # Revision History: # Date Rev Version Comment +# 2017-06-06 909 1,1 add version-range tags # 2016-06-04 772 1.0 Initial version # @@ -43,6 +44,10 @@ my $rmisscnt = 0; my $timebad = 0; my $timegood = 0; +my $vercur; +my $vermin = "0000.0"; +my $vermax = "9999.9"; + my $retrobase = $ENV{RETROBASE}; autoflush STDOUT 1 if (-p STDOUT); # autoflush if output into pipe @@ -63,6 +68,7 @@ if ($type !~ m{^(syn|imp)$}) { exit 1; } +if (read_ver($lognam)) {exit 1;} if (read_mfs($mfsnam)) {exit 1;} if (read_log($lognam)) {exit 1;} @@ -207,6 +213,8 @@ sub read_mfs { if (m{^\[([a-z]{3})\]$}) { # [typ] tag found if ($1 eq $type) { $intyp = 1; + $vermin = "0000.0"; + $vermax = "9999.9"; } else { $intyp = 0; } @@ -215,6 +223,14 @@ sub read_mfs { next unless $intyp; # only process relevant lines + if (m/\{(\d{4}\.\d)?:(\d{4}\.\d)?\}/) { # {vermin:varmax} tag found + $vermin = (defined $1) ? $1 : "0000.0"; + $vermax = (defined $2) ? $2 : "9999.9"; + next; + } + + next if $vercur lt $vermin || $vercur gt $vermax; + if (/^([iIr])\s+\[(.+?)\]\s*(.*)\s*$/) { #print "+++0m '$1' '$2' '$3'\n"; my $fmode = $1; @@ -257,6 +273,33 @@ sub read_log { return 0; } +#------------------------------------------------------------------------------- +sub read_ver { + my ($fname) = @_; + + if (not -r $fname) { + print STDERR "xviv_msg_filter-E: \'$fname\' not existing or readable\n"; + return 1; + } + + open (LFILE, $fname) or die "can't open for read $fname: $!"; + + my $nline = 0; + while () { + chomp; + if (m/\*\*\*\*\*\* Vivado v(\d{4}\.\d)/) { + $vercur = $1; + close (LFILE); + return 0; + } + last if $nline++ > 100; # stop looking after 100 lines + } + + close (LFILE); + print STDERR "xviv_msg_filter-E: no vivado version found in \'$fname\'\n"; + return 1; +} + #------------------------------------------------------------------------------- sub print_help { diff --git a/tools/man/man1/xviv_msg_filter.1 b/tools/man/man1/xviv_msg_filter.1 index 56245b8d..c7713d95 100644 --- a/tools/man/man1/xviv_msg_filter.1 +++ b/tools/man/man1/xviv_msg_filter.1 @@ -1,10 +1,10 @@ .\" -*- nroff -*- -.\" $Id: xviv_msg_filter.1 845 2017-01-15 14:58:27Z mueller $ +.\" $Id: xviv_msg_filter.1 909 2017-06-09 16:21:55Z mueller $ .\" .\" Copyright 2016- by Walter F.J. Mueller .\" .\" ------------------------------------------------------------------ -.TH XVIV_MSG_FILTER 1 2016-05-27 "Retro Project" "Retro Project Manual" +.TH XVIV_MSG_FILTER 1 2017-06-06 "Retro Project" "Retro Project Manual" .\" ------------------------------------------------------------------ .SH NAME xviv_msg_filter \- message filter for Xilinx Vivado tool chain log files @@ -66,6 +66,18 @@ after a '#' in a line will be ignored. xviv_msg_filter will extract the rules of the section matching the \fITYPE\fP argument. +A line of the form +.EX + {yyyy.n:yyyy.n} + {:yyyy.n} + {yyyy.n:} + {:} +.EE +acts as version range tag and specifies a range of vivado versions for which the +following rules shall be applied. +"{:2016.4}" means up to version 2016.4, "{:2017.1}" from 2017.1 on, while +"{:}" cancels version range checking. + A line starting with '@' specifies a nested mfset file. This allows to store the message filter sets in a structured way and factor out common rule sets in separate files. @@ -95,7 +107,7 @@ Vivado message name, enclosed in [] brackets regular expression to match the message text. This field is optional, if omitted all messages with th given name will match. '[' and ']' characters are escaped to '\\[' and '\\]', because [] is very often part of signal -names. Character set matches are therefore not possible. +names. Character set matches are therefore not possible, unfortunately. .SS Example message filter file .EX