integrating blackbox to VHDL project.

Status
Not open for further replies.

buenos

Advanced Member level 3
Joined
Oct 24, 2005
Messages
962
Helped
40
Reputation
82
Reaction score
24
Trophy points
1,298
Location
Florida, USA
Activity points
9,142
vhdl black box

hi

how can i integrate a blackbox module (already synthesized NGC or EDN netlist) into a VHDL project in ISE? (not with command line tools)
 

black box vhdl

copy n paste ur netlist (edn or ngc) in the ISE project folder.....n ISE can read it....

(ofcourse, ur HDL must be having an instance of this module....then only ISE will search for its netlist for implementation purposes)
 

include ngc vhdl

ok, thanx, but how to do this: "HDL must be having an instance of this module"
thats the point
 

ngc black box

Can you tell more and give me an example
 

black box instantation vhdl modules

hi ....if u know any HDL language...u can easily do tht....its called Component Instantiation....

like in the following code .... i've defined my component (which i'll be including either thru HDL file or as u said using its netlist...but since i need it so i'll hav to include it in my HDL source using "component definition")....

It is then port mapped (thru command Port Map in VHDL) with desired signals....

u can follow any book on basics of any HDL language u use...n u'll get how to do it....


Code:
architecture beh of appln is

  signal empty_int,full_int : std_logic;
  signal wr_ptr, rd_ptr     : std_logic_vector(3 downto 0);
  signal wr_en, rd_en       : std_logic;
  signal wr_clk, rd_clk     : std_logic;

  component DPRAM
    port
      (
        wr_clk    : in std_logic;         -- Clock to input port
        rd_clk    : in std_logic;         -- Clock to output port
        wr_en     : in std_logic;         -- Write enable
        rd_en     : in std_logic;         -- Read enable
        wr_ptr    : in std_logic_vector(3 downto 0);  -- write address
        rd_ptr    : in std_logic_vector(3 downto 0);  -- read address
        din       : in std_logic_vector(7 downto 0);  -- write data

        dout      : out std_logic_vector(7 downto 0)  -- read data
        );
  end component;
  
begin

  U_DPRAM: DPRAM
    port map
    (
      wr_clk    => wr_clk,
      rd_clk    => rd_clk,
      wr_en     => wr_en,
      rd_en     => rd_en,
      wr_ptr    => wr_ptr,
      rd_ptr    => rd_ptr,
      din       => din,

      dout      => dout
    );



its only a part of a code........


hope this is wat u asked for
 

from xaw to ngc

thank you.
in the code, there is a component declaration, and an installation (connecting to user HDL code).
what is:
"i'll hav to include it in my HDL source using "component definition").... "

i used components before, but these were entitys in vhdl files in the same project. now i am looking for the differences to that case.

just declare with the original top-level filename, and install? or do i ahave to do something else too?


i made a project, i declared, but the ise says, [?] so entity is not found
 

component dpram port

sorry i confused u a bit...slip of tongue...actually by "component definition" i simply meant "component declaration"....

yeah this time u dont hav ur component source file rather u hav netlist....but no changes required ....just copy ur netlist to ur ISE project file....n rest will b the same.....

as u hav written
Code:
just declare with the original top-level filename, and install? or do i ahave to do something else too?

i think u may b getting error "Entity not found" bcoz u r declaring using "top-level filename" as u said instead of entity name....
let me tell in case u r not aware....tht u need the entity not the filename...ur entity name may b different from ur filename....so component declare n instantiation shud be for ur entity (as far as i know usually we keep same filename as entity bcoz of some tools requirement...this is wat i studied somewhere)....

just check out...if any probs ...tell me.....
 

ise black box

i have the source files of the modules, just i can not synthesize them with the same version of the ISE. thats why i want to use NGC netlists.

the top level entity name is = top level file nema here.

i attached a started project. could you check it?
this is not finished, just to try out the NGC integration
 

blackbox in vhdl

oh, it synthesized the project, but the question mark is still in the left panel, next to the module.
 

vhdl blackbox

yeah i also checked its working...i mean no errors as u reported earlier....if u wanna hav a review of wat results i got ..here m attaching the synthesis report....

but dint get ur problem...plz explain again wat prob u facing..."wats let panel"???plz explain
 

how to add a core to vhdl project ise

here is the left panel in teh picture
 

using ngc files in vhdl

it will still work with the questionmark icon. that's not a problem.
before there was the coregen that gave the xaw or xco files, there was just the netlists and it gives a questionmark.
 

vhdl black box

ok. thanx for everyone.
problem solved.
 

how to instantiate black box in vhdl

only one core allowed?
 

vhdl project

i wanted to add more NGC files to the project, because the system is not one core, but a system of few cores. a PCI target, a CAN controller, GPIO, a Whisbone interconnect module...

ise 7.1
 

vhdl to black box

i dont think u shud get any such errors...coz i've multiple ngc files quite a few times in my projects....r u using same formats or a mix of them(all ngc or edn, edif n so on)
 

adding ngc file to vhdl project

only NGC files.

something causes the error.

see the attached project. in the folder, there are ngc files. all of them have to be in the project. (of course not the top level output ngc)
 

black box configuration vhdl file

though there r multiple ngc files in the project folder but they r not instantiated in the top entity(except pci32tlite.ngc)...probably u forgot tht.....so i dint get any errors as expected...

plz provide correct top entity HDL tht instantiates the other instances as well...so tht i can really figure out if there is any such error...
 

pci32tlite core example

Code:
=====================================================
*                         Low Level Synthesis                           *
=====================================================
Reading core <wbp.ngc>.
Reading core <pci32tlite.ngc>.
Loading core <wbp> for timing and area information for instance <the_intercon>.
Loading core <pci32tlite> for timing and area information for instance <the_pci>.


so it seems it reads the core NGC file, but i didnt have to add to the project...
 

Status
Not open for further replies.

Similar threads

Cookies are required to use this site. You must accept them to continue using the site. Learn more…