Hello, I'm trying since yesterday to interconnect the opencore mac to a microblaze design. After several problems solved, I'm stuck. The "Generate netlist now works fine" but When I try to "Generate bitstream", I have three errors from NgdBuild : ERROR:NgdBuild:604 - logical block 'wb2opb_0/wb2opb_0' with type 'wb2opb' could not be resolved. A Pin name mispelling can cause this, a missing edif or ngc file, or the mispelling of a type name. Symbol 'wb2opb' is not supported in target 'spartan 3'. ERROR:NgdBuild:604 - logical block 'opb2wb_0/opb2wb_0' with type 'opb2wb' could not be resolved. A Pin name mispelling can cause this, a missing edif or ngc file, or the mispelling of a type name. Symbol 'opb2wb' is not supported in target 'spartan 3'. ERROR:NgdBuild:604 - logical block 'wb_ethermac_0/wb_ethermac_0/maccore' with type 'eth_top' could not be resolved. A Pin name mispelling can cause this, a missing edif or ngc file, or the mispelling of a type name. Symbol 'eth_top' is not supported in target 'spartan 3'. For the wb_ethermac core, I've created a file that includes the eth_top of the ethernet mac core on opencore and present the interface to the outside world. I've done this as a ISE project then I synthetized it to have a .ngc file (because I have both VHDL & Verilog there) then I created an IP from this netfile and my vhdl top file. Any one has a clue on what to do ? Has anyone make this work ? (I'm using ISE/EDK 6.3) Thanks, Sylvain
OPB <-> WhishBone wrapper (opb_wb_wrapper at opencores)
Started by ●February 13, 2005
Reply by ●February 14, 20052005-02-14
I want to do exactly what you do. but i'm stuck to the netlist problem. I use the wb2opb from ascic.ws and now i want to use some opencore ip to plug to my microblaze. so if you can send to this ng what you have done to make it work i'll apreciated regards Jonathan "Sylvain Munaut" <tnt_at_246tNt_dot_com@reducespam.com> a �crit dans le message de news: 420fb7ae$0$22479$ba620e4c@news.skynet.be...> Hello, > > I'm trying since yesterday to interconnect the opencore mac to a > microblaze design. > After several problems solved, I'm stuck. > > The "Generate netlist now works fine" but When I try to "Generate > bitstream", > I have three errors from NgdBuild : > > > ERROR:NgdBuild:604 - logical block 'wb2opb_0/wb2opb_0' with type 'wb2opb' > could > not be resolved. A Pin name mispelling can cause this, a missing edif or > ngc > file, or the mispelling of a type name. Symbol 'wb2opb' is not supported > in target > 'spartan 3'. > ERROR:NgdBuild:604 - logical block 'opb2wb_0/opb2wb_0' with type 'opb2wb' > could > not be resolved. A Pin name mispelling can cause this, a missing edif or > ngc > file, or the mispelling of a type name. Symbol 'opb2wb' is not supported > in target > 'spartan 3'. > ERROR:NgdBuild:604 - logical block 'wb_ethermac_0/wb_ethermac_0/maccore' > with > type 'eth_top' could not be resolved. A Pin name mispelling can cause > this, a > missing edif or ngc file, or the mispelling of a type name. Symbol > 'eth_top' is > not supported in target 'spartan 3'. > > > For the wb_ethermac core, I've created a file that includes the eth_top of > the > ethernet mac core on opencore and present the interface to the outside > world. > I've done this as a ISE project then I synthetized it to have a .ngc file > (because > I have both VHDL & Verilog there) then I created an IP from this netfile > and my vhdl top file. > > Any one has a clue on what to do ? Has anyone make this work ? (I'm using > ISE/EDK 6.3) > > > Thanks, > > Sylvain
Reply by ●February 14, 20052005-02-14
Hi Sylvain, To make your custom IP accessible in XPS, you'll need to create PSF conformed directory structure and interface files (PAO/MPD/BBD). The Create/Import Peripheral Wizard from EDK can help you on this. Since you already have the netlist (.ngc) and a wrapper HDL, you shouldn't have problem to use the wizard's import flow to import your mac core. After importing, you can use your custom IPs like any other EDK cores bundled in the tool. Let me know if you have any questions regarding the wizard. thanks, yong Sylvain Munaut wrote:> Hello, > > I'm trying since yesterday to interconnect the opencore mac to a > microblaze design. > After several problems solved, I'm stuck. > > The "Generate netlist now works fine" but When I try to "Generate > bitstream", > I have three errors from NgdBuild : > > > ERROR:NgdBuild:604 - logical block 'wb2opb_0/wb2opb_0' with type > 'wb2opb' could > not be resolved. A Pin name mispelling can cause this, a missing edif or > ngc > file, or the mispelling of a type name. Symbol 'wb2opb' is not supported > in target > 'spartan 3'. > ERROR:NgdBuild:604 - logical block 'opb2wb_0/opb2wb_0' with type > 'opb2wb' could > not be resolved. A Pin name mispelling can cause this, a missing edif or > ngc > file, or the mispelling of a type name. Symbol 'opb2wb' is not supported > in target > 'spartan 3'. > ERROR:NgdBuild:604 - logical block 'wb_ethermac_0/wb_ethermac_0/maccore' > with > type 'eth_top' could not be resolved. A Pin name mispelling can cause > this, a > missing edif or ngc file, or the mispelling of a type name. Symbol > 'eth_top' is > not supported in target 'spartan 3'. > > > For the wb_ethermac core, I've created a file that includes the eth_top > of the > ethernet mac core on opencore and present the interface to the outside > world. > I've done this as a ISE project then I synthetized it to have a .ngc > file (because > I have both VHDL & Verilog there) then I created an IP from this netfile > and my vhdl top file. > > Any one has a clue on what to do ? Has anyone make this work ? (I'm > using ISE/EDK 6.3) > > > Thanks, > > Sylvain
Reply by ●February 14, 20052005-02-14
could you give me what you have done to make it pass the netlist problem ? here the result i have: Managing hardware (BBD-specified) netlist files ... opb2wb (opb2wb_0) - C:\EDK\project\test1\system.mhs:37 - Copying (BBD-specified) netlist files. ERROR:MDT - opb2wb (opb2wb_0) - C:\EDK\project\test1\system.mhs:37 - BBD parameter is undefined in the MPD ERROR:MDT - platgen failed with errors! make: *** [implementation/opb2wb_0_wrapper.ngc] Error 2 Done. regards Jonathan "Sylvain Munaut" <tnt_at_246tNt_dot_com@reducespam.com> a �crit dans le message de news: 420fb7ae$0$22479$ba620e4c@news.skynet.be...> Hello, > > I'm trying since yesterday to interconnect the opencore mac to a > microblaze design. > After several problems solved, I'm stuck. > > The "Generate netlist now works fine" but When I try to "Generate > bitstream", > I have three errors from NgdBuild : > > > ERROR:NgdBuild:604 - logical block 'wb2opb_0/wb2opb_0' with type 'wb2opb' > could > not be resolved. A Pin name mispelling can cause this, a missing edif or > ngc > file, or the mispelling of a type name. Symbol 'wb2opb' is not supported > in target > 'spartan 3'. > ERROR:NgdBuild:604 - logical block 'opb2wb_0/opb2wb_0' with type 'opb2wb' > could > not be resolved. A Pin name mispelling can cause this, a missing edif or > ngc > file, or the mispelling of a type name. Symbol 'opb2wb' is not supported > in target > 'spartan 3'. > ERROR:NgdBuild:604 - logical block 'wb_ethermac_0/wb_ethermac_0/maccore' > with > type 'eth_top' could not be resolved. A Pin name mispelling can cause > this, a > missing edif or ngc file, or the mispelling of a type name. Symbol > 'eth_top' is > not supported in target 'spartan 3'. > > > For the wb_ethermac core, I've created a file that includes the eth_top of > the > ethernet mac core on opencore and present the interface to the outside > world. > I've done this as a ISE project then I synthetized it to have a .ngc file > (because > I have both VHDL & Verilog there) then I created an IP from this netfile > and my vhdl top file. > > Any one has a clue on what to do ? Has anyone make this work ? (I'm using > ISE/EDK 6.3) > > > Thanks, > > Sylvain
Reply by ●February 14, 20052005-02-14
Hi Jonathan Dumaresq wrote:> I want to do exactly what you do. but i'm stuck to the netlist problem.Glad to know I'm not alone ;)> I use the wb2opb from ascic.ws and now i want to use some opencore ip to > plug to my microblaze. so if you can send to this ng what you have done to > make it work i'll apreciatedWell, finally I got a bitstream ! But ... it doesn't work as excpected so I'm not sure that what I've done is good. So finally I decided to try a smaller problem, just take Microblaze + UART + opb2wb + opencore_simple_gpio and try to make this work. Here's what I'm trying right now (writing this msg as I'm doing/testing it ;) From ground up : * First step : Install the opb2wb -------------------------------- - Extract the opb2wb_v1_00_a from the tar.gz and put it into your personnal pcore dir - Edit the bbd file and suppress the first column (C_FAMILY) to just leave the first line So you should have <cut here> Files ###########...##### opb2wb_v1_00_a.edn <end cut> - Edit the mpd file and rename the 'opb_rst' into 'rst' (only the lowercase one. leave the OPB_rst untouched ). - Edit the netlist file (.edn) and change the creator program to "none" So you have (program "none") instead of (program "xilinx stuff ...") The ngcbuild don't like to work with edif netlist created by ngc2edit and tells you to use the original ngc instead but we don't have it ... *** At this point, adding a opb2wb to an existing/working design and making all wb connections external works (I mean you can produce a bitstream. I don't know if the wrapper works or not ... **** * Second step : Creating a wb_gpio_simple EDK-compatible core ------------------------------------------------------------- - I've used the simple_gpio core as a base to create my own very simple gpio_core ... And I'm still at this step and won't finish tonight ;) I already send this which may help you. Note that some steps might be unecessary, I just wrote that as a collection of all the things I made to make it generate a bitstream. Sylvain
Reply by ●February 14, 20052005-02-14
thank you ... I will try that this is what i tought just try a simple gpio with the wrapper regards jonathan "Sylvain Munaut" <tnt_at_246tNt_dot_com@reducespam.com> a �crit dans le message de news: 42111c81$0$321$ba620e4c@news.skynet.be...> Hi > > Jonathan Dumaresq wrote: > >> I want to do exactly what you do. but i'm stuck to the netlist problem. > > Glad to know I'm not alone ;) > > >> I use the wb2opb from ascic.ws and now i want to use some opencore ip to >> plug to my microblaze. so if you can send to this ng what you have done >> to >> make it work i'll apreciated > > Well, finally I got a bitstream ! But ... it doesn't work as excpected so > I'm > not sure that what I've done is good. > > So finally I decided to try a smaller problem, just take > Microblaze + UART + opb2wb + opencore_simple_gpio and try to make this > work. > > Here's what I'm trying right now (writing this msg as I'm doing/testing it > ;) > From ground up : > > * First step : Install the opb2wb > -------------------------------- > > - Extract the opb2wb_v1_00_a from the tar.gz and put it into your > personnal pcore dir > - Edit the bbd file and suppress the first column (C_FAMILY) to just leave > the first line > So you should have > > <cut here> > Files > ###########...##### > opb2wb_v1_00_a.edn > <end cut> > > - Edit the mpd file and rename the 'opb_rst' into 'rst' (only the > lowercase one. > leave the OPB_rst untouched ). - Edit the netlist file (.edn) and change > the creator program to "none" > So you have (program "none") instead of (program "xilinx stuff ...") > The ngcbuild don't like to work with edif netlist created by ngc2edit > and tells > you to use the original ngc instead but we don't have it ... > > > *** At this point, adding a opb2wb to an existing/working design and > making all > wb connections external works (I mean you can produce a bitstream. I > don't > know if the wrapper works or not ... **** > > > * Second step : Creating a wb_gpio_simple EDK-compatible core > ------------------------------------------------------------- > > - I've used the simple_gpio core as a base to create my own very simple > gpio_core > ... And I'm still at this step and won't finish tonight ;) > I already send this which may help you. > > > > > Note that some steps might be unecessary, I just wrote that as a > collection of > all the things I made to make it generate a bitstream. > > Sylvain >
Reply by ●February 14, 20052005-02-14
could you sebd me a copy of the file you have ? jdumaresq@cimeq.qc.ca_nospam just remove _nospam to send me this e-mail regards Jonathan "Sylvain Munaut" <tnt_at_246tNt_dot_com@reducespam.com> a �crit dans le message de news: 42111c81$0$321$ba620e4c@news.skynet.be...> Hi > > Jonathan Dumaresq wrote: > >> I want to do exactly what you do. but i'm stuck to the netlist problem. > > Glad to know I'm not alone ;) > > >> I use the wb2opb from ascic.ws and now i want to use some opencore ip to >> plug to my microblaze. so if you can send to this ng what you have done >> to >> make it work i'll apreciated > > Well, finally I got a bitstream ! But ... it doesn't work as excpected so > I'm > not sure that what I've done is good. > > So finally I decided to try a smaller problem, just take > Microblaze + UART + opb2wb + opencore_simple_gpio and try to make this > work. > > Here's what I'm trying right now (writing this msg as I'm doing/testing it > ;) > From ground up : > > * First step : Install the opb2wb > -------------------------------- > > - Extract the opb2wb_v1_00_a from the tar.gz and put it into your > personnal pcore dir > - Edit the bbd file and suppress the first column (C_FAMILY) to just leave > the first line > So you should have > > <cut here> > Files > ###########...##### > opb2wb_v1_00_a.edn > <end cut> > > - Edit the mpd file and rename the 'opb_rst' into 'rst' (only the > lowercase one. > leave the OPB_rst untouched ). - Edit the netlist file (.edn) and change > the creator program to "none" > So you have (program "none") instead of (program "xilinx stuff ...") > The ngcbuild don't like to work with edif netlist created by ngc2edit > and tells > you to use the original ngc instead but we don't have it ... > > > *** At this point, adding a opb2wb to an existing/working design and > making all > wb connections external works (I mean you can produce a bitstream. I > don't > know if the wrapper works or not ... **** > > > * Second step : Creating a wb_gpio_simple EDK-compatible core > ------------------------------------------------------------- > > - I've used the simple_gpio core as a base to create my own very simple > gpio_core > ... And I'm still at this step and won't finish tonight ;) > I already send this which may help you. > > > > > Note that some steps might be unecessary, I just wrote that as a > collection of > all the things I made to make it generate a bitstream. > > Sylvain >
Reply by ●February 14, 20052005-02-14
Yong Zhu wrote:> Hi Sylvain, > > To make your custom IP accessible in XPS, you'll need to create PSF > conformed directory structure and interface files (PAO/MPD/BBD). The > Create/Import Peripheral Wizard from EDK can help you on this. > > Since you already have the netlist (.ngc) and a wrapper HDL, you > shouldn't have problem to use the wizard's import flow to import your > mac core. After importing, you can use your custom IPs like any other > EDK cores bundled in the tool. > > Let me know if you have any questions regarding the wizard.Hi Yong The main problem we have is not really with XDK. We'd like to use some cores that don't use a opb bus but a wishbone bus. Someone made some wrapper available in the form of EDK core but they seems incompatible with the current EDK. Look at my other post for the details of what correction were necessary. However I have a problem importing a core. Since I don't know verilog I wrote a VHDL file that includes some verilog code and I would like to make this a EDK core. I couldn't find how to do mixed rtl with the wizard so I created a ISE design with my mixed vhdl/verilog design and synthetized it with my main vhdl as top level. I took the ngc file and used the top level vhdl when the wizard asked for the hdl top. But that didn't work exactly like I excpected ... First I'm not sure on how to make the wizard understand 'inout' (bidirectional) ports, there seems to have issue with mysig_T mysig_O mysig_I of which I'm not sure. Second during the bitstream generation I have this error : ERROR:NgdBuild:604 - logical block 'wb_ethermac_0/wb_ethermac_0/maccore' with type 'eth_top' could not be resolved. A Pin name mispelling can cause this, a missing edif or ngc file, or the mispelling of a type name. Symbol 'eth_top' is not supported in target 'spartan 3'. with wb_ether_mac.vhd being my vdhl top file and maccore an instance of eth_top which is defined as verilog. Now, if I also synthetize eth_top as toplevel and copy the resulting ngc file in the implementation directory and relaunch the xflow.bat the XDK left there, it works ... Maybe I'll just learn the verilog basics to do my wrapper in verilog ;) Sylvain
Reply by ●February 14, 20052005-02-14
"Sylvain Munaut" <tnt_at_246tNt_dot_com@reducespam.com> a �crit dans le message de news: 420fb7ae$0$22479$ba620e4c@news.skynet.be...> Hello, > > I'm trying since yesterday to interconnect the opencore mac to a > microblaze design. > After several problems solved, I'm stuck. > > The "Generate netlist now works fine" but When I try to "Generate > bitstream", > I have three errors from NgdBuild : > > > ERROR:NgdBuild:604 - logical block 'wb2opb_0/wb2opb_0' with type 'wb2opb' > could > not be resolved. A Pin name mispelling can cause this, a missing edif or > ngc > file, or the mispelling of a type name. Symbol 'wb2opb' is not supported > in target > 'spartan 3'. > ERROR:NgdBuild:604 - logical block 'opb2wb_0/opb2wb_0' with type 'opb2wb' > could > not be resolved. A Pin name mispelling can cause this, a missing edif or > ngc > file, or the mispelling of a type name. Symbol 'opb2wb' is not supported > in target > 'spartan 3'. > ERROR:NgdBuild:604 - logical block 'wb_ethermac_0/wb_ethermac_0/maccore' > with > type 'eth_top' could not be resolved. A Pin name mispelling can cause > this, a > missing edif or ngc file, or the mispelling of a type name. Symbol > 'eth_top' is > not supported in target 'spartan 3'.I have the same probleme. I have copied you source code and try to make bitstream and i get the same error. do you have corrected ? I thing his happen because you remoce the C_FAMILY in the bbd file. but i really not shure about this. regards Jonathan> > > For the wb_ethermac core, I've created a file that includes the eth_top of > the > ethernet mac core on opencore and present the interface to the outside > world. > I've done this as a ISE project then I synthetized it to have a .ngc file > (because > I have both VHDL & Verilog there) then I created an IP from this netfile > and my vhdl top file. > > Any one has a clue on what to do ? Has anyone make this work ? (I'm using > ISE/EDK 6.3) > > > Thanks, > > Sylvain
Reply by ●February 14, 20052005-02-14
Jonathan Dumaresq wrote:>> >>ERROR:NgdBuild:604 - logical block 'wb2opb_0/wb2opb_0' with type 'wb2opb' >>could >>not be resolved. A Pin name mispelling can cause this, a missing edif or >>ngc >>file, or the mispelling of a type name. Symbol 'wb2opb' is not supported >>in target >>'spartan 3'.> > I have the same probleme. I have copied you source code and try to make > bitstream and i get the same error. > > do you have corrected ?Yes, I didn't notice that error because I didn't make a clean between my tried of yesterday and today's. After the generate bitstream failed, copy the .edn file of the opb2wb wrapper into the implementation directory of your edk project and rename it to opb2wb.edn I didn't yet found why this is needed ... it should be done automatically ! (or an equivalent)> I thing his happen because you remoce the C_FAMILY in the bbd file. but i > really not shure about this.Don't think so. Not removing it leads to other problems earlier. And in EDK-wizard generated core the C_FAMILY is not there. Sylvain





