It does seem like the basic definition of IP as a building block is the big problem. This locks you in to a bottom up approach. We need a "compiler" that can pull from the "library" of building block components and customize then as required to meet the high level requirements (speed, power, latency, etc). The tool would search thru the solution space to find a particular combination that fits the requirements (or comes back with a 'no solution' result). That's the direction I'd like to see things move...
In that case, please check us out, Space Codesign. We have the capability of going to implementation after algorithm design and validation, and architecture design exploration. Implementation can either map to libraries (e.g., Xilinx for FPGA) or to HLS (high level synthesis - Forte, Calypto, Xilinx, etc.) after design exploration figures out meeting your requirements.
By the way, Guy Bois, our president has a new blog article on this site discussing our approach.
What are the engineering and design challenges in creating successful IoT devices? These devices are usually small, resource-constrained electronics designed to sense, collect, send, and/or interpret data. Some of the devices need to be smart enough to act upon data in real time, 24/7. Are the design challenges the same as with embedded systems, but with a little developer- and IT-skills added in? What do engineers need to know? Rick Merritt talks with two experts about the tools and best options for designing IoT devices in 2016. Specifically the guests will discuss sensors, security, and lessons from IoT deployments.