一年工作总结
方向:SOC与FPGA原型验证
内容:synplify、vivado、DS5
语言:verilog、C、VHDL、shell
相关:AMBA、SOC、ARM、FPGA
业余:python
1. FPGA原型验证
将RTL的FPGA分支综合实现下载至FPGA,通过JTAG端口连接,使用DS5搭建工程,编写C用例来测试验证系统的部分功能。
替换RTL中相应的FPGA分支,比如可类推RAM、门控时钟DesignWare库。
2. 相关内容
2.1 Synplify_premier
- 处理门控时钟
- 类推BRAM
- 调用DesignWare库
- 综合:提升速度,降低时序要求
- black box
注意:
首次运行会识别内部时钟,在fdc约束中出现下拉菜单,可直接选择需要约束的时钟。
子系统综合需要disable掉插入buffer,因为外部需要继续集成其他代码。
7系列支持最新的vm网表,综合速度更快,占用空间更小。
2.2 Vivado
调用RTL和vm网表,支持文件夹导入,然后可选择设置已导入的文件类型,如header,.v。
顶层RTL的输入时钟可根据资源使用,来选择实例化IBUFGDS。
查看Templates,器件user guide文档,编写时钟和管脚约束(注意电压)。
IP导入与实例化,如DDR3控制器(MIG)、PLL和MMCM。
mark_debug插入,ltx和bit文件联合使用。
v7系列资源和架构:
- IO>HR高电压范围,HP高性能
- DIE>SLR>CLK region>CLB>slice>LUT,REG,MUL
- BUFG,BUFR,BUFIO
2.3 DS5
- JTAG连接(TCK,TMS,TDI,TDO,nTRST)及扫描链识别
- database配置
- gcc编译工具
- C测试用例(待补充)