Programmable Devices
CPLDs, FPGAs, SoC FPGAs, Configuration, and Transceivers
20681 Discussions

Custom IP from a verilog code

Sijith
New Contributor I
697 Views

Hi,

I could make a custom IP from a verilog module counter.v (attached with this message). It have clock, reset, avalon_ready as input ports and data and avalon_valid as output ports.  This is designed to act as an avalon streaming source port. But when I open component editor and add my sysnthesis file (which is counter.v), then I am getting some error messages as shown in attachnment ComponentEditor1.PNG. From the message, it seems that the component editor see my code as it contains an avalon memory map slave port (see ComponentEditor2.PNG also). Is it a normal behavior and is there any specific reason for the component editor to assume my code have a memory map slave port (in reality, it does not have one).  I changed the parameters as shown in ComponentEditor3.PNG (please compare ComponentEditor2.PNG andComponentEditor3.PNG to see the changes in the parameter I made). I am inviting the attention of experts to verify what I have done is correct?

0 Kudos
1 Solution
sstrell
Honored Contributor III
670 Views

The component editor mis-identified your component as an agent instead of a streaming source, so that's why the errors appeared.  You fixed the errors by defining the interfaces and signal roles so you are good to go.  To avoid this from happening in the future, in your code use the 3-part naming scheme for interface signals discussed in the Platform Designer user guide: <interface type>_<interface name>_<defined signal role>.  This automates how Component Editor identifies the signals in your design.

View solution in original post

4 Replies
sstrell
Honored Contributor III
671 Views

The component editor mis-identified your component as an agent instead of a streaming source, so that's why the errors appeared.  You fixed the errors by defining the interfaces and signal roles so you are good to go.  To avoid this from happening in the future, in your code use the 3-part naming scheme for interface signals discussed in the Platform Designer user guide: <interface type>_<interface name>_<defined signal role>.  This automates how Component Editor identifies the signals in your design.

Sijith
New Contributor I
662 Views

Thank you for making things clear!

0 Kudos
SyafieqS
Moderator
630 Views

Glad your issue had been addressed. Let me know if there is any other concern from your end


SyafieqS
Moderator
559 Views

I’m glad that your question has been addressed, I now transition this thread to community support. If you have a new question, Please login to ‘https://supporttickets.intel.com’, view details of the desire request, and post a feed/response within the next 15 days to allow me to continue to support you. After 15 days, this thread will be transitioned to community support. The community users will be able to help you on your follow-up questions.


p/s: If any answer from community or Intel support are helpful, please feel free to mark as solution, give Kudos and rate 5/5 survey


0 Kudos
Reply