FPGA|CPLD|ASIC论坛
直播中

建立建利12

8年用户 1362经验值
擅长:可编程逻辑 嵌入式技术
私信 关注
[经验]

介绍设计一款FPGA最小系统的过程

  一。 确定方案和目的
  FPGA开发板目前存在芯片昂贵、引脚多、电路复杂、编程困难、采购困难等因素,从而导致国内中低端产品很少使用,所以研发一块适合大众的、能够比较简单入门的FPGA最小系统是有必要的。
  本节介绍设计一款FPGA最小系统的过程,通过设计来学习PCB电路板(四层)和FPGA编程入门知识,具体要求如下:
  方案:调试芯片+FPGA芯片+闪存要求:
  01. 了解FPGA芯片最小系统的构成,和简单的数字电路;
  02. 了解高云晨曦系列FPGA芯片的使用和编译方法;
  03. FPGA最小系统要有LED显示、LCD屏幕显示、红外遥控功能;
  04. 设计最小系统电路板要做到最小,推荐四层电路板;
  05. 进行电路板的实际加工和贴片,了解电路板的整体过程;
2.jpg
  二。 理论依据
  01. 查询高云FPGA晨曦系列的芯片参数、封装、电气特点等等;
  02. 然后学习FPGA数字电路设计代码的编写和构建;
  03. 查询LED芯片、LCD屏幕、可编程LED、红外芯片等外围芯片手册的说明;
2.jpg
  三。 原理图纸绘制
2.jpg
  01. FPGA芯片的电源要求高,需要设计好电源电压和内核电压,稳压电路的设计;
  02. FPGA芯片需要设计下载电路,推荐下载器下载;
  03. 也可使用CH521下载,下载方式请参考荔枝糖FPGA开发板方式;
  04. FPGA芯片的外围电路一定设计好,滤波电容和消磁电感、有源晶振等;
  05. 根据LCD屏幕、可编程LED、红外芯片说明等电路的设计;
  四。 PCB电路板设计
2.jpg
  01. 首先确定PCB电路板板框,匹配通用的USB外壳(U盘类);
  02. 要选型每一个器件的封装,贴片电阻电容类、芯片封装类、插接件类;
  03. 也可使用CH521下载,下载方式请参考荔枝糖FPGA开发板方式;
  04. 电路板器件的布局,注意信号屏蔽和功能分类等;
  05. 器件比较多需要进行四层布线、建立专门的电源层;
  06. 器件标注小取消标注,但是在贴片的时候需要提供器件位号的图纸;
  07. 器件的采购分为平台提供、客户提供、不贴的器件,需要分类整理;
  08. BOM表单需要详细的型号,和部分兼容型号;
  09. PCB下单需要考虑贴片的可行性,贴片有最小尺寸要求,不满足需要拼版处理;
  10. PCB拼版需要加入工艺边、点位点、或者邮票孔;
2.jpg
3.jpg
  五。 电路板加工
  01. PCB设计完成需要进行规则检查,满足最基础的规则约束;
  02. PCB规则通过后,还需要需要进行可加工性能评估,进行Gerber检查项目下图;
  03. 完整的加工主要是PCB电路板下单、SMT贴片下单、BOM器件订单;
  04. 电路板的拼版,注意贴片机最小要求尺寸;
  05. 大约1周左右加工完成,实物如下
2.jpg
  六。 FPGA程序下载测试
2.jpg
3.jpg
4.jpg
  module led (
  input sys_clk,
  input sys_rst_n,
  output reg [2:0] led // 110 B, 101 R, 011 G
  );
  reg [23:0] counter;
  always @(posedge sys_clk or negedge sys_rst_n) begin
  if (!sys_rst_n)
  counter 《= 24‘d0;
  else if (counter 《 24’d100) // 0.5s delay
  counter 《= counter + 1;
  else
  counter 《= 24‘d0;
  end
  always @(posedge sys_clk or negedge sys_rst_n) begin
  if (!sys_rst_n)
  led 《= 3’b110;
  else if (counter == 24‘d100) // 0.5s delay
  led[2:0] 《= {led[1:0],led[2]};
  else
  led 《= led;
  end
  endmodule
  01. 首先进行创建定义信号线和寄存器;
  02. 上升沿触发计时器进行计数和相关数字逻辑;
  03. 进行逻辑分析仪采集实际输出信号,确定时间和数字的正确;



原作者:Dream_doing 千里优选教学基地

更多回帖

发帖
×
20
完善资料,
赚取积分