Wenn mit Xilinx ISE ein neues Projekt oder Source-File angelegt wird, fragt der Wizzard nach EA und Bitbreiten. Nach einem Klick auf "DONE" wird dann ein neues Sourcefile angelegt, in dem aber ein riesiger Header und die alten Synopsys-Libs eingebunden sind:
--------------------------------------------------------
-- Company:
-- Engineer:
--
-- Create Date: 11:21:38 01/04/2010
-- Design Name:
-- Module Name: Defaulttext - Behavioral
-- Project Name:
-- Target Devices:
-- Tool versions:
-- Description:
--
-- Dependencies:
--
-- Revision:
-- Revision 0.01 - File Created
-- Additional Comments:
--
--------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.STD_LOGIC_ARITH.ALL;
use IEEE.STD_LOGIC_UNSIGNED.ALL;
---- Uncomment the following library declaration if instantiating
---- any Xilinx primitives in this code.
--library UNISIM;
--use UNISIM.VComponents.all;
entity Defaulttext is
Port ( clk : in STD_LOGIC;
d : in STD_LOGIC;
o : out STD_LOGIC);
end Defaulttext;
architecture Behavioral of Defaulttext is
begin
end Behavioral;
Das musste ich geändert haben:
Ich will als Standard-Lib die NUMERIC_STD einbinden, die UNISIM soll raus, und der Header etwas verschlankt werden.
ISE Version 13
Hier müssen dazu die beiden TCL-Scripte
C:\Xilinx\ISE_DS\ISE\data\projnav\scripts\dpm_sourceTasks.tcl
C:\Xilinx\ISE_DS\ISE\data\testbnch2.tcl
angepasst werden.
Im Script dpm_sourceTasks.tcl wird die Erzeugung eines neuen VHDL-Sourcecodemodul gesteuert. Hier muss die Prozedur proc dpm_sourceCreateVHDL geändert werden. Hier hat sich im Gegensatz zu früheren Versionen (siehe Beschreibung unten) das $_fs in ein $hFile geändert.
Im testbnch2.tcl wird die Generierung der Testbench gesteuert. Hier hat sich einiges getan, und ich musste erst mal die automatische Reset-Suche pensionieren. Auch die Taktgenerierung hat mir nicht gefallen, so dass sich da ebenso einiges geändert hat.
Damit die Suche nicht so schwer fällt, gibt es hier meine beiden Templates zum Download: IseTemplates.zip
ISE Versionen 9 bis 11
Etwa in der Mitte dieses TCL-Scripts
C:\Xilinx\data\projnav\scripts\dpm_sourceTasks.tcl
findet sich die Stelle, die angepasst werden muss:
$_iHdlData GetPorts _portIter
puts $_fs "----------------------------------------------------------"
puts $_fs "-- Engineer: Lothar Miller"
puts $_fs "-- "
puts $_fs "-- Create Date: $_ts "
puts $_fs "-- Design Name: "
puts $_fs "-- Module Name: $_entityName - $_archName "
puts $_fs "----------------------------------------------------------"
puts $_fs "library IEEE;"
puts $_fs "use IEEE.STD_LOGIC_1164.ALL;"
puts $_fs "use IEEE.NUMERIC_STD.ALL;"
puts $_fs ""
Nach der Änderung dieser Datei kommt beim Erzeugen eines neuen Projekts/Sourcefiles der gewünschte Customer-Header.
--------------------------------------------------------
-- Engineer: Lothar Miller
--
-- Create Date: 11:21:38 01/04/2010
-- Design Name:
-- Module Name: Defaulttext - Behavioral
--------------------------------------------------------
library IEEE;
use IEEE.STD_LOGIC_1164.ALL;
use IEEE.NUMERIC_STD.ALL;
entity Defaulttext is
Port ( clk : in STD_LOGIC;
d : in STD_LOGIC;
o : out STD_LOGIC);
end Defaulttext;
architecture Behavioral of Defaulttext is
begin
end Behavioral;
Für die Voreinstellungen beim Erstellen der Testbench werden die Scriptdateien
C:\Xilinx\ISE_DS\ISE\data\testbnch2.tcl
und
C:\Xilinx\ISE_DS\ISE\data\testbnch2.tft
verwendet.