SystemVerilog
FPGA: 可编程逻辑整列
PAL:只编程1次(与逻辑阵列,或逻辑阵列)
GAL:多次编译
CPLD:复杂可编程逻辑器件(与或逻辑阵列)
FPGA: 基于查找表的CLB阵列
发展:
1970 :FPLA=>PAL=>GAL
1980: CPLD=>FPGA(XILINX)
1990:百万-千万门级别
2000:千万门级别
2010-:两千万-五千万
ZYNQ: arm + FPGA
FPGA和CPLD对比
FPGA CPLD
内部结构: 查找表(LOOK up table) 乘积项
程序存储: 内部SRAM,外挂EEPROM或Flash 内部EEPROM或Flash
资源类型: 触发器丰富 组合逻辑资源丰富
集成度: 高 低
使用场合: 完成比较复杂的算法 完成控制逻辑
速度: 快 慢
其他资源:RAM\PLL\DSP ----
保密性: 一般不能保密(可以使用加密核) 可加密
优点
快、可重构、效率高、开发灵活、低延时、接口丰富
医疗迈瑞高端设备
应用:
1、无人驾驶(百度、谷歌)
2、通信领域(中兴、华为)
3、视频图像处理:海康威视、无人机、大华
4、IC原型验证:芯片验证
5、人工智能:(商汤)
6、医疗设备:迈瑞
7、数字信号处理
现状:
XILINX、intel+ALTERA、actel+MICrosemi、lattice
紫光同创、复旦微电子、高云、智多晶、京微齐力
软件:
Qutartus II
USB Blaster
ModelSim:HDL语言仿真软件==>Questasim(商用)
visio绘图软件
nodpad++与Qutartus II和ModelSim关联
硬件语言:
verilog HDL == VHDL
Verilog HDL==>>SystemVerilog
VHDL
<<Verilog数字系统设计教程>>
《SystemVerilog硬件设计及建模》
《SystemVerilog验证 -- 测试平台编写指南》
FPGA芯片的基础结构,以及它的一些基本单元的结构,比如查找表、逻辑单元、逻辑块、DSP、存储器
vscode集成verilog开发环境: https://zhuanlan.zhihu.com/p/393000934
APU: NEOM FPU ARM MMU L1(D) L1(I)
PL
MIO
EMIO
PL的PS交互
led
--doc:文档
--rtl:source code
--sim:仿真
--prj:项目
数字电路
模拟电路:时间上和数量连续(如温度)
数字电路:在时间和数量上都是离散的
数字系统设计流程: 逻辑设计(前端HDL)=》电路实现(后端 转换成门电路)=》系统验证
verilog
单行注释 //
多行注释 /*
*/
常用关键字
module 模块开始
input 输入
output 输出
inout 双向端口定义
parameter 信号的参数定义
wire wire信号定义-线网
reg reg信号定义-寄存器
always 产生定义reg信号语句的关键字
assign 产生wire信号语句的关键字,赋值
begin 语句的起始标志
end 语句的结束标志
edge/posedge/negedge 时序电路的标志
case
default case语句的默认分支
endcase case结束标志
if
else
for
endmodule 模块结束
状态机
输入-》产生下一状态的组合逻辑F-》激励信号-》状态寄存器-》当前状态-》产生输出的组合逻辑G-》输出