‘壹’ vivado中怎么把源码转变成加密网表
步骤一:
在工程中,将需要封装的模块(包括子模块)设置为顶层模块,例如top为工程的顶层模块,top调用了A和B,B又调用了C和D,需要将B模块以及下面的模块整体加密,也就是封装为网表,那么需要将B设置为顶层模块。
步骤二:设置综合条件
1、在Flatten hierarchy选择为full。
2、在more options中输入-mode out_of_context
步骤三:综合
在工程中运行综合步骤,在综合完成后,打开综合。
步骤四:生成edf
这里和quartus不一样,这里需要通过输入脚本的方式生成。
假设网表文件中没有调用IP,那么输入如下指令:
write_edif F:/FPGA/abc.edf
如果调用了IP,输入如下指令:
write_edif -security_mode all F:/FPGA/abc.edf
步骤五:生成调用v文件
假设vivado的版本在2017.4以前,输入如下指令:
write_verilog -mode port F:/FPGA/abc_stub.v
2018.1以后:
write_verilog -mode synth_stub F:/FPGA/abc_stub.v
‘贰’ 利用system generator 生成vivado ip—以低通滤波器举例
利用System Generator生成Vivado IP的实例,特别是针对低通滤波器设计,能显着提升数字信号处理的开发效率。以下步骤将引导你完成一个1MHz通带和1.2MHz阻带的低通滤波器IP创建。
首先,确保安装了System Generator,通过Matlab命令行启动Simulink。创建一个新的模型,添加信号源模块,设置采样率,例如3.84Mcps的WCDMA码速率。
进入设计,选择Gateway In作为IP输入,保持Register默认设置,滤波器部分是关键。打开FDA Tool,设计一个1MHz截止频率,1.2MHz阻带起点的低通滤波器。接着,使用FIR Compiler设置滤波器参数,如16位量化,并选择跟随FDATool量化。
进行截断处理时,注意控制IP输出位宽。勾选Provide enable port以引入截断使能信号,原始32位输出经截断后降为16位,可能影响精度,但可以减小数据传输量。查看数据位宽,点击Model菜单的Display > signals&Ports > Ports Data Type。
在System Generator中,匹配目标FPGA芯片类型,为IP配置输入时钟,例如3.84MHz。连接所有模块后,进行仿真,观察波形和频谱,如需关注双边谱,对比理论衰减。
实验结果显示,尽管单级低通滤波器将信号源的无限带宽限制在1MHz,实际衰减与理论预测有差距,可能是由于信号复杂性或滤波器设计的不完全匹配。最后,生成IP,将其存放在指定文件夹,Vivado导入IP的教程网上资源丰富,这里不再详述。