Visible to Intel only — GUID: mwh1409960025331
Ixiasoft
Visible to Intel only — GUID: mwh1409960025331
Ixiasoft
1.11.4.1.3. Creating Black Boxes in VHDL
Although VHDL is not case-sensitive, a .vqm (a subset of Verilog HDL) file is case-sensitive. Entity names and their port declarations are forwarded to the .vqm file. Black box names and port declarations are also passed to the .vqm file. To prevent case-based mismatches, use the same capitalization for black box and entity declarations in VHDL designs.
The example shows the A.vhd top-level file. Follow this same procedure for any lower-level files that contain a black box for any block beneath the current level of hierarchy.
VHDL Black Box for Top-Level File A.vhd
LIBRARY ieee; USE ieee.std_logic_1164.all; LIBRARY synplify; USE synplify.attributes.all; ENTITY A IS PORT (data_in : IN INTEGER RANGE 0 TO 15; clk, e, ld : IN STD_LOGIC; data_out : OUT INTEGER RANGE 0 TO 15 ); END A; ARCHITECTURE a_arch OF A IS COMPONENT B PORT( data_in : IN INTEGER RANGE 0 TO 15; clk, ld : IN STD_LOGIC; d_out : OUT INTEGER RANGE 0 TO 15); END COMPONENT; COMPONENT F PORT( d : IN INTEGER RANGE 0 TO 15; clk, e: IN STD_LOGIC; q : OUT INTEGER RANGE 0 TO 15); END COMPONENT; attribute syn_black_box of B: component is true; atrribute syn_black_box of F: component is true; -- Other component declarations in A.vhd go here signal cnt_out : INTEGER RANGE 0 TO 15; BEGIN U1 : B PORT MAP ( data_in => data_in, clk => clk, ld => ld, d_out => cnt_out ); U2 : F PORT MAP ( d => cnt_out, clk => clk, e => e, q => data_out ); -- Any other code in A.vhd goes here END a_arch;
After you complete the steps above, you have a netlist for each partition of the design. These files are ready for use with the incremental compilation flow in the Intel® Quartus® Prime software.