1
0
mirror of https://github.com/wfjm/w11.git synced 2026-04-26 04:08:17 +00:00

fixes for Vivado 2016.3 and 2016.4

- Vivado is used with -fsm_extraction one_hot. Starting with Vivado 2016.3
  this triggers fsm recognition and re-coding of two gray counter modules.
  This not only defeats the purpose of the gray coded counter, it also
  caused some constraints to fail. Added attributes to prevent fsm extraction
- the logic of `connect_hw_server` and `get_hw_servers` changed after Vivado
  2015.1. The `make <design>.vconfig` command worked up to Vivado 2016.2 due
  to some recovery mechanism, and finally broke with 2016.3. Fixed the
  call to `get_hw_servers`.
This commit is contained in:
Walter F.J. Mueller
2017-01-07 18:25:21 +01:00
parent 7a3298a42d
commit 646caf5f20
4 changed files with 31 additions and 14 deletions

View File

@@ -1,6 +1,6 @@
-- $Id: gray_cnt_4.vhd 751 2016-03-25 19:46:11Z mueller $
-- $Id: gray_cnt_4.vhd 840 2017-01-07 16:15:12Z mueller $
--
-- Copyright 2007- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
-- Copyright 2007--2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
--
-- 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
@@ -18,9 +18,10 @@
-- Dependencies: -
-- Test bench: -
-- Target Devices: generic
-- Tool versions: xst 8.1-14.7; viv 2014.4-2015.4; ghdl 0.18-0.33
-- Tool versions: xst 8.1-14.7; viv 2014.4-2016.4; ghdl 0.18-0.33
-- Revision History:
-- Date Rev Version Comment
-- 2017-01-07 840 1.1 disable fsm recognition in vivado
-- 2007-12-26 106 1.0 Initial version
--
-- Some synthesis results:
@@ -57,6 +58,12 @@ architecture syn of gray_cnt_4 is
attribute fsm_extract of R_DATA : signal is "no";
attribute rom_style : string;
attribute rom_style of N_DATA : signal is "distributed";
-- Note: vivado started with -fsm_extraction one_hot didn't fsm recognize
-- this code up to 2016.2. With 2016.3 and later it is converted into a
-- 31 state one-hot fsm, unless explicitely suppressed
attribute fsm_encoding : string;
attribute fsm_encoding of R_DATA : signal is "none";
begin

View File

@@ -1,6 +1,6 @@
-- $Id: gray_cnt_5.vhd 751 2016-03-25 19:46:11Z mueller $
-- $Id: gray_cnt_5.vhd 840 2017-01-07 16:15:12Z mueller $
--
-- Copyright 2007- by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
-- Copyright 2007-2017 by Walter F.J. Mueller <W.F.J.Mueller@gsi.de>
--
-- 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
@@ -18,9 +18,10 @@
-- Dependencies: -
-- Test bench: -
-- Target Devices: generic
-- Tool versions: xst 8.1-14.7; viv 2014.4-2015.4; ghdl 0.18-0.33
-- Tool versions: xst 8.1-14.7; viv 2014.4-2016.4; ghdl 0.18-0.33
-- Revision History:
-- Date Rev Version Comment
-- 2017-01-07 840 1.1 disable fsm recognition in vivado
-- 2007-12-26 106 1.0 Initial version
--
-- Some synthesis results:
@@ -59,6 +60,12 @@ architecture syn of gray_cnt_5 is
attribute fsm_extract of R_DATA : signal is "no";
attribute rom_style : string;
attribute rom_style of N_DATA : signal is "distributed";
-- Note: vivado started with -fsm_extraction one_hot didn't fsm recognize
-- this code up to 2016.2. With 2016.3 and later it is converted into a
-- 31 state one-hot fsm, unless explicitely suppressed
attribute fsm_encoding : string;
attribute fsm_encoding of R_DATA : signal is "none";
begin