System and Method for IP Fingerprinting and IP DNA Analysis
In the world of SoC development, an IP management system is software for the licensing, distribution and compliance administration of design IP for both vendors and consumers of IP.
In May 2019 Silvaco was awarded a patent for System and Method for IP fingerprinting and IP DNA analysis. This patent reflects the unique technology inside the Xena® IP Management System from Silvaco.
What is IP fingerprinting? Fingerprinting allows the detection of individual IP in devices or SoCs. What’s interesting about this is, unlike other methods like tagging, there’s no modification of the IP or the IC design to support this, and there’s no modification of the design flow. It works independently on top of the design data.
How are fingerprints created and what are their properties? They are a digital representation of the IP in a single file. A group of IP source files is scanned to create a fingerprint file. And fingerprints are very, very tiny. They are 75 bytes per file scanned, so if you have a 100 source files for your IP you will have a fingerprint file of about 7.5K. Fingerprints are in text format and supports all kinds of IP and all kinds of files. This include embedded software, images, anything that’s a file can be fingerprinted, but Xena has special support for common IP formats. For soft IP, that would be Verilog in VHDL, SystemVerilog and SystemC, for example, and for hard IP, GDSII, and also other types such as embedded software, SQL Plus, C, Java, JavaScript.
There are also Chip fingerprints. The fingerprinting program creates fingerprints for all the different IPs and other design files used in the Chip. These Chip fingerprints can be used with the Xena DNA analyzer to generate a DNA report.
Fingerprints are secure. Using a SHA-256 hashing scheme, they are so small and independent of the size of the files that are being scanned, it’s impossible to reverse engineer IP from the fingerprint. So you can share the fingerprints very freely.
What’s the difference between a tag and a fingerprint? An IP tag is something that’s actually inserted into the IP. And it only works with GDS. There is a soft IP tagging standard, but because of synthesis, those tags are basically destroyed through the synthesis process. Fingerprints are really the opposite. Xena extracts information from the IP and working with all kinds of IP formats. And they can also capture any of the tags that are detected in the GDS.
Fingerprinting is useful because you can do DNA analysis (an IP audit) of a device or SoC. Essentially the Chip fingerprint file is scanned looking for IP fingerprints and the DNA analysis generates a DNA report. A DNA report says what IP is detected, what versions were detected, were there any tags detected there, and scores the confidence level of that IP’s presence. And it shows what files in the IP are missing or have been modified in some way. It is important to if someone on your team modified a third-party IP, and the DNA report will point you to which files were modified from the original version, and then you can ask questions about whether that was really intentional or somebody was doing something that they probably shouldn’t have been doing.
So if you’re an IP supplier and you want to audit your customer, Xena with its DNA analyzer, can run a report without accessing the design IP. And then from that DNA report, they would be able to ask very pointed questions about each IP that showed up on the list. This approach is much easier than a traditional audit where an auditor is granted access to a semiconductor company’s internal data and the audit crawls through internal file systems.
For Chip designer managers, the DNA report can be used for design reviews. It can show if the expected IP are present, whether the right version has been used, and if all the expected files are present. Or if there are any extra unexpected files present.
Xena is the right solution for IP suppliers managing the deployment of design IP in the marketplace, and for semiconductor companies looking to manage what goes into their SoC projects.