From: jmariano on 9 May 2010 16:40 Dear all Here's my problem: I've developed an VHDL IP in ISE and integrate it into a Microblaze peripheral using the "create and import peripheral" tool. My IP uses 3 read only and one write only registers to interface with the IPIC module. The IP has one ENB input that must be set to start the operation of the FSM within, and once the IP is running, it sets the RUN output. I have connected the ENB signal to one register (the control register) and the RUN signal to another register (the status register). (I know, this is not very elegant, but I'm just trying to make the thing work) Now, the strange thing is this: when I do functional simulation in modelsim, the IP works as expected. When I do BFM Simulation in Platform Studio, the module also works, at least as far as I can tell. The problem is that when I integrate the module into my system and set the control register from the C code, the IP does not work, ie, the status register is not set. My first thought was that I made a mistake at the IPIC register interface, so I use a test version of my IP with RUN <= ENB and when I set ENB, the RUN is set inside the IP. So the problem must be on the IP. I have checked and double checked the code and I couldn't find noting obviously wrong, but since I don't have much experience in VHDL, I must be missing something or doing some stupid error. Does any one have some ideas? I really appreciate a fresh look at my code. Regards, jmariano (ISE 7.1i, XPS 7.1i, Spartan-3 Starter Kit Board)
From: jmariano on 9 May 2010 16:47 On 9 Maio, 21:40, jmariano <jmarian...(a)gmail.com> wrote: > Dear all > > Here's my problem: I've developed an VHDL IP in ISE and integrate it > into a Microblaze peripheral using the "create and import peripheral" > tool. My IP uses 3 read only and one write only registers to interface > with the IPIC module. The IP has one ENB input that must be set to > start the operation of the FSM within, and once the IP is running, it > sets the RUN output. I have connected the ENB signal to one register > (the control register) and the RUN signal to another register (the > status register). (I know, this is not very elegant, but I'm just > trying to make the thing work) > > Now, the strange thing is this: when I do functional simulation in > modelsim, the IP works as expected. When I do BFM Simulation in > Platform Studio, the module also works, at least as far as I can tell. > The problem is that when I integrate the module into my system and set > the control register from the C code, the IP does not work, ie, the > status register is not set. My first thought was that I made a mistake > at the IPIC register interface, so I use a test version of my IP with > RUN <= ENB and when I set ENB, the RUN is set inside the IP. So the > problem must be on the IP. > > I have checked and double checked the code and I couldn't find noting > obviously wrong, but since I don't have much experience in VHDL, I > must be missing something or doing some stupid error. > > Does any one have some ideas? I really appreciate a fresh look at my > code. > > Regards, > > jmariano > > (ISE 7.1i, XPS 7.1i, Spartan-3 Starter Kit Board) Sorry, posted on the wrong group
|
Pages: 1 Prev: PCI FPGA Interrupt Next: Seeking TAS151 Manual desperately |