这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 嵌入式开发 » FPGA » 学习Verilog必走的3个阶段

共18条 1/2 1 2 跳转至

学习Verilog必走的3个阶段

助工
2013-08-13 22:05:42     打赏
学习Verilog必走的3个阶段
//****************************************************************
// 入门篇: (秋干勿燥,冬去春来)
//****************************************************************
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中输入/确信



关键词: FPGA     阶段    

菜鸟
2013-08-21 15:43:36     打赏
2楼
谢谢经验提供

助工
2013-08-23 07:21:49     打赏
3楼
这么好的文章~~我来顶!!学习了!!

助工
2013-08-29 07:10:41     打赏
4楼
好东西 说的很系统 很有调理啊 建议学verilog或FPGA的的每个人都要看一下!

高工
2013-09-03 13:39:10     打赏
5楼
it's a long road for me ,I gotta pack it all up and hit the road.
gosh................

菜鸟
2013-09-04 08:16:50     打赏
6楼
呵呵,好文章啊··一定学习··

菜鸟
2013-09-05 08:50:23     打赏
7楼
恩,好有用,学习下

菜鸟
2013-09-06 08:02:23     打赏
8楼
顶一下。。。。

菜鸟
2013-09-09 07:58:22     打赏
9楼
好东东要顶起来

专家
2013-09-09 08:18:32     打赏
10楼
很简练,很不错的说

共18条 1/2 1 2 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]