老石谈芯

老石谈芯 (FPGA)

 verilog

  语法学习

   《Verilog数字系统设计教程》

   《VerilogHDL高级数字设计》

  设计学习

   HDLBits网站刷题

    状态机学习

  验证学习

   testbench如何编写

  实现目标(心中有电路)

   if

   for

   case

   给定功能写出电路,同时写出测试环境和用例

 systemverilog

  书

   《SystemVeriolog硬件设计及建模》

    非常好的工具书,不是教程,但是十年前了

   《SystemVerilog测试平台编写指南》

    验证方面的内容

 仿真工具

  Mentor.Modelsim

  Synposys.VCS

  轻量级EDA软件

   iverilog

   EDAplayground(在线)

 FPGA开发流程

  RTL设计

  仿真验证

  逻辑综合

  布局布线

  时序收敛

  硬件测试

 学习开发工具vivado/quartus

  熟悉开发流程

  IP的配置使用

   pll

   fifo

   存储区

   软核处理器nio

   以太网控制器

   PICe

   DDR控制器

  时序分析的方法

   一个设计如何去看最大频率

   时序不收敛的时候怎么分区或去判断你的设计

   怎么使用一些时序分析工具

    Quartus.SignalTap

老石谈芯 (领域专用知识)

 智能网卡

  《计算机网络 自顶向下方法》计算机网络中的经典之作

  《云数据中心的网络技术》

  《深入浅出DPDK 》

  《深入解析SDN》

 总线协议

  《PCIE Express Technology》

  DDR、HBM、以太网、JTAG、Avalon、AXI总线

 结合目标职位和项目需求有目的的学习

老石谈芯 (职业工作的硬实力)

 Linux基本命令

 Perl

 TCL

 Makefile

 硬件测试的能力

  调试各种板卡

  原理图、写约束、使用板子上的各种资源

  设计出错时候如何硬件测试、怎么去设计有用的逻辑功能来方便硬件测试

   状态寄存器

   网络领域的流量测试

    DPDK的使用和配置、测试一起的使用和配置

    WIRESHARP工具

 工作中进行总结

老石谈芯 (FPGA高级开发技巧)

 信号的跨时钟域处理

  跨时钟的时候如何处理一位、多为不相干、多位总线、复位、脉冲、从快时钟到慢时钟域怎么办以及反过来

   FIFO的设计,异步FIFO的设计

    参考Cliff Cummings的文章

     推荐深入研究

  实际工程中不可能让你设计跨时钟域的模块,早就封装在模块里直接调用即可。这些技巧专注于转换思维方式和习惯

 《FPGA设计实战演练(高级技巧篇)》

  FPGA的设计的技巧与方法

   时钟域的处理

   速度和面积的互换和优化

 验证

  功能覆盖率

   定义:尽可能多的检查到所有可能的设计功能和状态

  验证方法

   仿真验证

   科学的指定验证计划

    常用验证技术

     随机约束、参考模型建模、自动化测试、断言

    进阶验证技术

     UVM、形式化方法

 FPGA的优化和约束

  时序、面积、功耗的约束和优化

   举例

    多个时钟如何写时钟约束

    如何进行时序分析

    怎么划分固定的设计区域

    怎么去预估设计的功耗

   推荐课程

    西南交大邸志雄老师的静态时序课程