米联客资料笔记FPGA篇&EDA先锋工作室&官方DOC&常用TestBench模板&Vivado基本使用

文章目录

  • 背景
  • 一、米联客verilog篇笔记
    • 1、为什么要推出vivado
    • 2、状态机,软核的理解
    • 3、always @的含义与 @()
    • 4、条件运算符
    • 5、阻塞逻辑和非阻塞逻辑混用
  • 二、xilinx官方DOC
  • 三、常用TestBench模板
    • 1、如何产生外部触发信
    • 2、task的用法
    • 3、wait与@
  • 四、EDA先锋工作室笔记
    • 1、define
    • 2、逻辑值
    • 3、常量
    • 4、寄存器与存储器
    • 5、线 与寄存器
    • 6、verilog中的三种描述方式
    • 7、begin end与fork join
    • 8、if else 与case
  • 五、vivado的基本使用
    • 1、创建工程
    • 2、语法参考language templates与IP catalog
    • 3、RTL详细描述和分析
    • 4、综合及资源 告
    • 4、实现implement
    • 5、时序约束
    • 6、IO管脚分配
    • 7、仿真
      • 1、vivado simulator以及操作技巧
      • 2、基于modelsim的仿真(避免重复Xilinx编译库)
    • 8、烧写下载、固化程序
      • 1、生成bit文件
      • 2、固化程序
  • 福利链接

背景

一件事情,只有迈出了第一步,才会有第二步,永远迈不出第一步,那么就永远停留在原点,毕竟距离毕业还有一年时间,我觉得明年这个时候,我应该已经掌握了常用的XILINX IP使用,以及仿真等使用了,此外对verilog这种语言也会有更深一步的认识。
本篇文章是对verilog语言的全新认识,适用于有了基础后,想从语法联系到电路,这样才能对verilog有一个比较深刻的认识。

一、米联客verilog篇笔记

1、为什么要推出vivado

推出Vivado 是为了提高设计者的效率,硬件进入了28nm时代,软件的设计也要提升,它能够显著增加Xilinx的28nm工艺的可编程逻辑器件的设计、
综合与实现效率,所以,vivado目前只支持xilinx的28nm工艺的7系列FPGA,包括V7,K7,A7,ZYNQ。另外值得注意的是ISE 14.7是支持全系列的Xilinx family的。

4、条件运算符

A=B:D 是一个条件运算符,含义是如果B为TRUE,则把C连线A,否则把D连线A,通常B是一个条件判断,用小括弧括起来:
assign c1_clk =(c1==25’d24999999):0;

5、阻塞逻辑和非阻塞逻辑混用

always @ (posedge clk)
begin
A=1’b1; //阻塞逻辑
B end
看到上面这个程序是阻塞与非阻塞的混合使用,一般教材是极力反对这种写法的,但有时候这种用法还能帮上大忙,只不过,不理解的话乱用会导致时序违规。当时钟上升沿来临的时刻,首先A会被置1,然后B寄存器再置1.区别就是A和B不再同时置位1。A要比B提前零点几纳秒,这样就出现了先后顺序。这个过程还是在一个时钟内完成的,但是数据到达B寄存器相比非阻塞逻辑,晚了那么零点几纳秒。

二、xilinx官方DOC

三、常用TestBench模板

1、如何产生外部触发信

很多时候我们需要外部触发信 来产生激励,我们可以采用forever语句来产生占空比非50%的脉冲。

  • 产生任意占空比的外部触发信

  • 产生脉冲个数固定的脉冲信
    repeat函数。将程序执行n次

3、wait与@

8、if else 与case

if else语句是有优先顺序的,如果第一级是关键路径的话,就可以利用这样的优先级编码提高设计性能。
case语句中,所有被判断的分之条件都具有一样的优先级。
在always模块内,逻辑是按照指定的顺序执行的。always块中的语句称为顺序语句,因为他们是顺序执行的,请注意,两个或多个的always模块也是同事执行的,但是模块内部的语句是顺序执行的,看一下always内的语句,你就会明白它是如何实现功能的。if,,,else,,,if必须顺序执行,否则其功能就没有任何意义。如果else语句在if语句之前执行,功能就不符合要求。

五、vivado的基本使用

1、创建工程

对于vivado FPGA工程师来说,这些代码永远值得参考学习,永远值得敬畏,永远值得温习,学习,从而改进自己的代码风格。
下图的IP catalog也是一个非常有用的工具,包含了所有的IP,我们可以根据这个目录去学习一些常用的IP核。

3、RTL详细描述和分析

详细描述(Elaboration)是指将RTL优化到FPGA技术。在基于RTL的设计中,详细描述是第一步,当设计者打开一个详细描述的RTL,设计者可以查看RTL结构、语法和逻辑定义。分析和 告能力包括:
RTL编译有效性和语法检查;
表和原理图研究;
设计规则检查;
使用一个RTL端口列表的早期IO引脚规划;
在RTL视图中,选择一个对象,右击,出现浮动菜单。在浮动菜单内,选择go to source 选项,将自动跳转到定义该对象源代码的位置。

上面箭头的Nets代表连线
leaf cells代表对象

4、综合及资源 告

而X家的CLB如下:

7、仿真

1、vivado simulator以及操作技巧

通过点击add sources,可以增加仿真文件

仿真文件

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2019年4月3日
下一篇 2019年4月3日

相关推荐