在 FPGA 的设计过程中, 用户若不愿让第三方看到自己的源代码,可以对设计的源
代码实施保护措施,即将源代码单独做成一个 IP 模块供第三方调用。 为此, TD 给用户
提供了 syn_ip_flow 的功能, syn_ip_flow 将用户的高层电路描述综合成门级网表, 可在
一定程度上保护源代码。用户在使用该功能时,需建立两个工程,在第一个工程中添加
需要保护的源代码并运行syn_ip_flow,在第二个工程中添加外围电路并调用syn_ip_flow
生成的网表文件。 如:该手册使用的 demo 模块中,用户想保护的子模块为 uart_top,
则需建立如下两个工程:
具体操作步骤如下:
1. 将需要保护的子模块单独建立工程。在本例中,以 uart 模块为例单独建立工程。
2. 为工程添加源文件
3. 运行 syn_ip_flow 时,需先设置参数:Process → Properties → Global Option → syn_ip_flow,
将该参数设置为 IP/IP
sim, 并点击“Save”进行保存。
4. 参数设置完成后,点击图标
运行工程, 工程只可以运行 Syn Opt, 在工程
运行完成后, TD 将生成两个文件: top_name.ip.v 和 top_name.ipr.v,并存放在
工程所在目录/prj_name_Runs/syn_1,这两个文件在功能上完全等价。 但是,
top_name.ip.v 中 包 含 了 源 代 码 中 的 命 名 与 声 明 等 信 息 , 便 于 Debug 。
top_name.ipr.v 中隐藏了源代码中的命名与声明等信息,可更好的保护源代码。
- 参数设为 IP 时,生成的文件可以直接添加至所需要的工程中,但不可用于
仿真,否则仿真会出现报错; - 参数设为 IP sim 时,生成的文件可以用于仿真,如果要添加至工程中,则
需 额 外 添 加 al_map_basic.v , 该 文 件 路 径 为 : td 所 在 的 安 装 目 录
/sim/al/al_map_basic.v。
5. 创建新工程,并调用上一步生成的 top_name.ip.v 或 top_name.ipr.v,并为工程
添加相应的约束文件,运行整个工程,则完成了 syn_ip_flow 的整个流程。
没有回复内容