## 5 Experimentation and Performance Evaluation of Obfuscation Methods
### Performance Comparison  
The subsequent experiment aims to compare the proposed obfuscation methods to assess the distinctions between these methods. The experimental scheme involves sequentially abandoning each obfuscation method and subsequently performing obfuscation. The obfuscation outcomes are analyzed and compared, and the evaluation metrics are specifically chosen to be the additional circuit area overhead, the change in space occupancy, and the obfuscation rate. After conducting multiple experiments and analyzing the results presented in Tables 4-6, the following experimental conclusions can be summarized:  
1. The impact on area overhead shows that critical path obfuscation has the most significant impact on the additional performance overhead of the circuit. This is due to the fact that the method leads to an increase in circuit modules. In contrast, other obfuscation methods primarily alter the code and presentation, resulting in a relatively stable additional overhead, often stable at 0%. 2. Regarding changes in space occupancy, the absence of layout obfuscation or critical path obfuscation leads to more substantial changes compared to scenarios where all obfuscation methods are applied. Consequently, layout obfuscation and critical path obfuscation emerge as factors with a greater impact on space occupancy. 3. In terms of the rate of code obfuscation, the absence of layout obfuscation results in a significant reduction, dropping to a range between 20% and 40%. Therefore, layout obfuscation is the key to ensuring high obfuscation coverage. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Methods of Obfuscation Not Used** & **MCPU** & **DUSB** & **DAHB64** & **ALTOR** \\ \hline None * & 3.9\% & 3.5\% & 8.6\% & 4.5\% \\ Layout obfuscation & 2.9\% & 3.7\% & 9.8\% & 4.6\% \\ Parameter obfuscation & 3.2\% & 4.3\% & 9.0\% & 4.5\% \\ Critical path obfuscation & 0.0\% & 0.0\% & 0.0\% & 0.0\% \\ Code increment obfuscation & 3.8\% & 4.2\% & 8.5\% & 4.7\% \\ \hline \hline \end{tabular}
* Use all obfuscation methods proposed.  
\end{table} 
Table 4: Additional overhead for circuits that do not use a certain obfuscation method. \begin{table}
\begin{tabular}{c c} \hline \hline
**Common Prefix** & **Follow-Up Content** \\ \hline \hline  & trasnslate\_off \& translate\_on \\  & parallel\_case \\  & full\_case \\ /synopsys & async\_set\_reset \\  & sync\_set\_reset \\  & dc\_tcl\_script\_begin{tabular}{c}begin{tabular}{c}begin{tabular}{c} \textless{}\textless{}\textless{}\textless{}  
Table 7 summarizes the characteristics of the different obfuscation methods, which will help subsequent users to choose more appropriate obfuscation methods for different needs. The utilization of critical path obfuscation demands careful consideration, as this method is invariably a double-edged sword. While it serves to safeguard the code from attacks, it concurrently results in a pronounced degradation of circuit performance. Simultaneously, to provide a more comprehensive assessment of the obfuscation tool's performance, an experimental comparison was conducted using both the obfuscation tool developed in this paper and the VCS tool. For the four open source IP cores, the VCS tool, utilizing version 2020, employed the command \"vcs -full64 -Xman=1 demo.v\" to execute the code obfuscation. Meanwhile, the obfuscation tool developed in this research will use the proposed obfuscation methods. The experimental results are analyzed as follows. As depicted in Figure 6(a), the VCS tool consolidates all obfuscated content into one file, leading to substantial compression of the project size. However, this compression comes at the cost of losing the original project architecture. In contrast, the obfuscation tool adheres to the principle of preserving the original project architecture. After employing various obfuscation methods, not only does the architecture remain unchanged, but the file size also undergoes minimal alteration.