FPGA知识杂记
1、关于GSR和PUR (芯片工作时产生的两个内部信号)
PUR:Power Up Reset 上电复位信号
GSR:Global Set/Reset 接入全局复位/置位信号
PUR PUR_INST (.PUR(1'b1));
GSR GSR_INST (.GSR(1'b1));
2、FPGA中的lut
可编程逻辑单元两种最基本的部件:触发器和查找表(LUT);
lut定义: LUT(look up table)查找表:原理类似于ROM,将lut的输入当作地址去lut预存 的内容(真值表)进行寻址。
举例: 以一个三位lut为例,三位输入端口2^3=8种输入,所以可以将一个LUT3视为一个容量为8的ROM,其中存储的是8种不同的逻辑运算的结果,而不同的输入则组成了ROM的地址线。所以逻辑运算的实现实际上就是对LUT6的一个译码过程。
3、关于FPGA中的逻辑级数
逻辑级数(logic level):一个触发器到另一个触发器之间经过的组合逻辑器件。
vivado查看逻辑级数命令:
PS:在tcl使用该命令之前应该先打开Open Implemented Design
report_design_analysis -logic_level_distribution -logic_level_dist_paths 5000 -name design_analysis_prePlace
4、关于vivado的编译优化
(1)(*ASYNC_REG = "TRUE"*)
命令用于声明寄存器能够接收相对于时钟源的异步数据,或者说寄存器是一个同步链路上正在同步的寄存器。这条命令可以放在任何寄存器上,除了设置它的值为TRUE外还可以设置为FALSE.这样可以强制指定async_rst为异步时钟输入,防止综合器对打拍寄存器进行优化
举例:(*ASYNC_REG = "TRUE"*) reg r_reg1, r_reg2;
可以将两个寄存器(挨着)放在同一个CLB(可编程逻辑块)中。
5、突发传输(Burst)
突发传输: 可以理解为连续传输。是指在同一行中相邻的存储单元连续进行数据传输的方式,只要指定起始地址和突发长度(Burst lengths,可以理解为跨度),控制器就会依次自动对后面相同数量的存储单元进行读/写操作,而不需要控制器连续提供列地址。
例如:AXI总线、SDRAM、DDR中都会使用到。
6、掩码信号
举例: data : 32'habcd_efgh ; 掩码信号(低电平有效) : 4'b0111
则data中的ab无效 后面的cd_efgh有效
PS:使用场景:AXI总线、SDRAM
7、联合VS_Code和notepad
PS:根据自己的安装目录修改即可
1、Vivado
notepad : A:/A_FPGA/Tool/Notepad/notepad++.exe [file name]
vs_code : A:/A_FPGA/Tool/VS_Code/Code.exe -g [file name]:[line number]
2、Quartus ll
notepad : "A:\A_FPGA\Tool\Notepad\notepad++.exe" -n%l %f
vs_code : "A:\A_FPGA\Tool\VS_Code\Code.exe" -r -g %f:%l
3、Modelsim
在modelsim环境中的命令行中输入以下命令即可
notepad :
第一步:proc external_editor {filename linenumber} { exec "A:/A_FPGA/Tool/Notepad/notepad++.exe" $filename }
第二步:set PrefSource(altEditor) external_editor
vs_code :
第一步:proc external_editor {filename linenumber} { exec "A:/A_FPGA/Tool/VS_Code/Code.exe" -g $filename:$linenumber}
第二步:set PrefSource(altEditor) external_editor
本篇博文为记录学习所用,大多资料来源于网络搜索,如有侵权,请联系作者。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)