Frank wrote:
> Founded solution:
>
> you have to make a .bbd file and place it into the data directory and place
> the .edf file into a netlist directory (is at same level as the data and hdl
> directories). While generating a netlist, the .edf file is automatically
> copied into your implementation directory (but you have to use the STYLE
> option in the .mpd file).
It is also generally possible to add an edif file as a blackbox, and
avoid all those special files. For example, I used the UART that Xilinx
provides only as a edif file like this:
architecture synth of UART is
component uart_tx is
port ( din : in STD_LOGIC_VECTOR (7 downto 0);
write : in STD_LOGIC;
reset_buffer : in STD_LOGIC;
en_16_x_baud : in STD_LOGIC;
clk : in STD_LOGIC;
serial_out : out STD_LOGIC;
buffer_full : out STD_LOGIC);
end component;
-- Configuration specification, used only for simulation.
-- For synthesis, we are using a uart core from Xilinx which is
-- supplied only as an EDIF file. See uart_readme.txt and xapp223.pdf.
-- For simulation, we are using a behavioral model from FSF, which is
-- close enough. The enable does not seem to work quite the same,
-- resulting in much faster transmission rates during simulation.
--synopsys translate_off;
for uart_tx_dev: uart_tx
use entity work.TxUnit
port map (
Clk => clk,
Reset => RESET,
Enable => en_16_x_baud,
LoadA => write,
TxD => serial_out,
Busy => buffer_full,
DataI => din
);
--synopsys translate_on;
-- XST black box declaration
attribute box_type : string;
attribute box_type of uart_tx: component is "black_box";
begin
uart_tx_dev: uart_tx
port map(
din => UDIN,
write => UWRITE,
reset_buffer => '0',
en_16_x_baud => UCLK_P,
clk => CLK,
serial_out => DISPLAYD,
buffer_full => UBUF_FULL
);
--
My real email is akamail.com@dclark (or something like that).
|