We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

Showing results for 
Search instead for 
Did you mean: 
Registered: ‎03-07-2014

Using AXI BFM in post-synthesis/implementation simulations

Hello everyone,


I'm trying to simulate a ZYNQ design targeting the 7020 and have been using the AXI BFM to emulate the PS component to great effect in behavioural simulations. Is it possible to utilize the AXI BFM during post-synthesis and post-implementation simulations? If so, what has to be done when using the Vivado simulator to make this work? Please let me know.  Thanks!


Take care.



0 Kudos
3 Replies
Registered: ‎11-09-2015

Re: Using AXI BFM in post-synthesis/implementation simulations

Hi jimg@klulesstech.com,


No the AXI BFM has to be removed from the design for synthesis and implementation. Thus it cannot be used for post-synthesis/implementation simulations.


You can maybe try to add the AXI BFM only in the test bench.


FYI: From 2017.1, the AXI BFM has been replaced by the AXI VIP. This one does not have to be removed for synthesis but is replaced with wires.


Kind Regards,



Product Application Engineer - Xilinx Technical Support EMEA
**~ Don't forget to reply, give kudos, and accept as solution.~**
Teacher muzaffer
Registered: ‎03-31-2012

Re: Using AXI BFM in post-synthesis/implementation simulations

jimg@klulesstech.com if you're using the BFM or Xilinx VIP only in the testbench, then nothing changes. Only the target of the AXI transactions change from RTL to gates. If you have your own testbench, and implement the PL separately it's quite easy to do this.

- Please mark the Answer as "Accept as solution" if information provided is helpful.
Give Kudos to a post which you think is helpful and reply oriented.
Scholar ronnywebers
Registered: ‎10-10-2014

Re: Using AXI BFM in post-synthesis/implementation simulations

@muzaffer  - I came via this post to your answer : so if I understand you correctly :

let's say I developed a custom AXI IP, and I want to simulate it 'post synthesis' using the MPSoC VIP , I'd need to instantiate the VIP in my testbench, and hook one of the MPSoC VIP AXI interfaces to my 'DUT'. That DUT could be a complete block design containing AXI interconnect, my custom IP and some other stuff? For example :


So if I understand you correctly I would need to :

1) create a testbench file, and instantiate the MPSoC VIP in it

2) put the rest of the elements in a BD, add the necessary ports (S00_AXI, S01_AXI, clocks, resets, ...), and create a hdl wrapper of that BD

3) instantiate that wrapper in my testbench, and hook it up to the MSoC VIP instance

is that correct? If so, is there an example of this?

** kudo if the answer was helpful. Accept as solution if your question is answered **
0 Kudos