Continue to Site

Welcome to

Welcome to our site! is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

FPGA Implementation Verification

Not open for further replies.


Newbie level 5
Nov 8, 2012
Reaction score
Trophy points
Activity points
hello... am supposed to implement a 8051 open core (verilog programming) into a Xilinx spartan 3e (xcs3500e) board and verify the implementation with led blink program.. i have implemented the core into the fpga successfully though ISE and iMPACT...

My question is how can I load the blink program into the device?? This blink program acts as the final verification for my implementation!!

Thanks a lot...

Use the RAM to load your program. Some mapping has to be done. I haven't tried this in Xilinx, only Altera.

specifically you'll have to load (initialize) the RAM the 8051 core uses as its instruction memory.

specifically you'll have to load (initialize) the RAM the 8051 core uses as its instruction memory.

Thanks for your reply!! As far as what I understood, RAM can be initialized through .coe file... But I have difficulty with instantiation process...
Any help with that??

So you haven't instantiated the RAM yet?
Well instantiate a coregen RAM with the .coe file used to initialize it.

Or is it you don't know how to get the .coe file into the RAM?
If you used coregen to build the RAM there should be an option to read a .coe file to initialize the RAM. Then just rebuild your project.
No I still haven't instantiated it... i have the .coe file with me... i tried generating a blocked memory by choosing this .coe as an Init File... Now I have a blk_mem_gen (.xco file) that is added in the ISE source list...
What I did till now is right? If so what should I do next?

Instantiate it in the top level file and hook it up to your 8051 core.

Assuming you have a top level didn't just compile the 8051 core directly as the top level did you?

If you don't have a top level file now is the time to create one :)...

And as you seem to be very new to this stuff (forgive me if you already know this stuff)...
make constraint files for the design (i.e. .ucf and an .xcf if you're using XST).
At a minimum the .ucf should have the timing constraints for your design along with any pin placement information. The .xcf can just have the timing constraints. I usually have multiple timing constraint files one for the timing and the second for physical stuff like pin placements and I/O standards.

I already have a top module which is the oc8051_top.. okay I will try instantiating the ram into it...

And as you told me about the .ucf and .xcf... Am already done with all of that... I just wanted to create the Block Memory as a Post Synthesis process!!

Not open for further replies.

Part and Inventory Search

Welcome to