zoukankan      html  css  js  c++  java
  • 【转】(转)如何学习FPGA verilog 学Quartus II+Verilog三步走

    从网上看来的,发现自己才刚刚开始起步,唉,路漫漫其修远兮。。。

    //****************************************************************             // 入门篇: (秋干勿燥,冬去春来)             //**************************************************************** 01. 建立项目 02. Verilog             a). nand/nor/and/or;             b). assignment;             c). always;
                04. 选设device
                05. Settings:             a). 加减文件; b). 设置top module文件; c). 设置classic timing时序仿真主时钟fMAX;(可以不设)
    06. 编译(直接选按钮) 07. 仿真(直接选按钮) a). 创建.vwf波形文件, b). 添加netlist节点, c). 设置激励波形; d). 设置仿真波形文件 e). 阅读并判断仿真结果的正确性
    //****************************************************************             // 初级篇: (固知其然, 方得真经)             //**************************************************************** 11. setting:             a). 选择并使用functional / timing仿真; b). 选择时序分析方法: Classic timing / TimeQuest;             c). 阅读在线帮助,选择其他设置; d). 阅读编译报表, 理解Tsu, Tpd, Th, Tco             e). 设置各种独立时钟
    12. pin assignment             a). 各输入输出引脚的location分配; b). 接入但未用引脚的特别处理; c). 多电平的选设(若有多为io的供电);
    13. 阅读并理解项目文件夹下各种扩展名文件的基本功能; 3a). *.v, *.qpf, *.pin, *.vwf, *.qof             3b). 浏览*.qsf,完全理解各部分的意义. 3c). 掌握*.sof文件的生成方法, 了解其它各种生成文件的使用场合.
    14. 仿真 a). 生成功能仿真网表. b). ctrl + 滚轮缩放 或 ctrl+shift+space 缩放; c). ctrl + alt + space 全屏切换; d). 处理仿真中inout端口的时钟冲突warning.
                15. Verilog:             a). 充分理解reg与output的相关性和区别. b). 掌握dff的直接引用方法. c). 充分了解可综合语句与不可综合语句的区别及其不同使用场合; d). 阅读coding_and_synthesis_with_verilog.pdf             e). inout端口的写法; f). instantiate参数带点引用方法; g). function, task 的使用,其与module引用的区别. h). 优化程序,设法消除时序仿真中的毛刺.
    16. programmer             a). Jtag驱动与设置, b). Programmer内check项选择 c). 熔丝/加密 的使用方法与保护程度.
    //****************************************************************             // 中级篇: (四海朋彼,可游天下)             //**************************************************************** 21). Verilog:             a). 熟练dff, dffe的使用技巧;消除latch使用恐惧症. b). 理解并熟练掌握同步、异步复位的写法. c). 阅读芯片datasheet中的关于时序的波形图和列表. d). for 循环体跳出方法, for语句的宜使用原则 e). 了解异步电路的读写触发特点和时序要求 f). 充分领悟"端口只有线型"
    22. Settings             a). 设置派生时钟(倍频等), b). 充分理解setting下所有设置栏目及其选项的意义与可预见结果.
    23. Simulation             a). 设置并生成正确无误的时序仿真图
    24). 选择Classic timing (fast model) 菜单进行时序分析;
    22). 点击TimeQuest按钮进行时序分析, 生成*.sdc文件; a). 直接修改*.sdc原文件,精确定义当输入触发被看作时钟时的时钟频率, b). 消除各种与时钟相关的warning
                24). 在assignment edit中增加Tsu, Th等时序约束条件; a). 观察再编译后报表的区别; b). 理解multicyle clock及其他各选项的意义.
    25). 设法消除一切不甚理解的warning, 消除一切可能被消除的毛刺.
    26). 硬件验证(LED, 示波器) a). 功能仿真必须正确无误; b). 引脚位置分配复验正确, c). 杂脚处理停当; d). VccIO分配处理正确.
    //****************************************************************             // 高级篇: (敬业执越,方堪重负)             //**************************************************************** 31). 使用Megawizard, 引入除法模块并成功进行时序仿真 a). 16位被除数numer,8位除数denum,8位商quotient,8位余数remain, 时序仿真正确性论证 b). 锁相环电路的理解、数字锁相环实现方法及lpm_pll引用. c). IP core的调用,明确生成方法
    32). 使用Floorplan & Chip editor             a). 观察各引脚的fan-in,fan-out,             b). 熟练进行信号追踪, 手动进行部分逻辑单元的优化调整 c). 注意虽然在floorplan界面拖拉有效,但还是建议到assignmeng edit中输入/确信.
    33). setting设置, 导入并使用modelsim进行时序分析
    34). Verilog             a). gray码,one-hot码的编码方法与使用场合 b). ModelSim testbench书写 c). System Verilog风格长短
    35) 迈向数字IC还有多远?

  • 相关阅读:
    文件操作3
    文件操作2
    kubernetes快速应用入门
    kubeadm初始化kubernetes集群
    kubernetes基础概念
    变量
    字面值
    关键字
    标识符
    Ubuntu安装MySql5.7
  • 原文地址:https://www.cnblogs.com/farbeyond/p/5204582.html
Copyright © 2011-2022 走看看