找回密码
 注册
关于网站域名变更的通知
查看: 168|回复: 1
打印 上一主题 下一主题

FPGA-3-verilog HDL

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2019-8-28 16:21 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

您需要 登录 才可以下载或查看,没有帐号?注册

x
引言
( `0 L' p' J7 V# e1 J  s3 }, ~% h" }" g  H6 J% h; [
FPGA最初阶段的学习可以分为两部分。一是HDL的语法,二是相关工具的使用。
4 e+ f* l0 w  F# b& C- |' e$ j( X4 a* p3 K
这第一部分,就是verilog HDL或者VHDL,国内用verilog的占得比例多一些。
/ K1 I# L" b1 D# }0 \
* P  m! s1 u) {+ `( C& }8 ^  k" }对于第二部分,这要看具体的FPGA开发过程,一般过程如下:% e0 N3 L2 j. T- _

7 ^/ U% w1 l/ C4 A1 FPGA开发flow
$ I6 S7 Z! v9 ^, E' F+ a* C, m) ?8 D4 F1 m& l0 I
1》进行需求分析,算法设计,模块划分,形成文档,用的matlab,vesio或者ppt比较多。(分析设计)5 L7 x; D+ z5 i% I3 \

2 c( O  g! k6 K2》用UE或者,SlickEdit,notepad++或者sourceInsight,或者IDE自带的编辑工具进行行为建模。(编码)0 W) E3 z& K6 D0 R

' c% H, O  f  a. ^3》用modleSim进行功能仿真,或用$dumpfile("rill.fsdb")生成fsdb文件。(前仿真)" n& T* D; s3 E* ~1 z! k' T9 y
* a1 d# ?1 X( d$ w1 p5 G8 z, l. z
4》将fsdb文件导入debussy软件,进行问题查找定位,修改代码。(调试)9 L) a- G8 D$ V5 d6 F1 L

( p1 S# m9 c5 i, }) W5 @2 \5 S( o# [5》用synplify pro进行综合,生成vqm文件。(综合)1 W( N# [2 F: d- p& j( ]
8 X4 U- x8 v: w+ r/ f6 W
6》用quartusII或者ISE对vqm文件进行P&R(布局和布线),生成vo文件和sdo文件。(布局布线)
- D! m. O% i5 M! R
! n* o1 z) w% g6 u( h9 J7》再用modleSim对vo和sdo进行时序仿真,当然需要将FPGA厂家的仿真库文件一同编译进modleSim的仿真库。(后仿真)
+ N* [+ f1 R- {7 ?" I0 t* y: v* h- n
( t7 B5 [3 \9 i, g% N8 G8》用quartusII 的time request添加约束并仿真。生成sof或者pof配置文件。(实现)
! I2 J6 e0 y0 q. ~# Q( W0 i3 N* V- e, v7 v& A7 R) H1 u7 K+ j
9》烧写配置文件。(OK)' f' `0 ]8 h. T7 `) M

5 Y' O7 u" f7 G( l$ c3 l) b对于做IC/ASIC,步骤还会有元件库的映射等工作。
+ V9 s6 i* r1 Y$ i6 K2 m
5 E, R0 P5 B# M9 s1.1 形式验证
) k0 b& V) I' d4 E- x- t
1 F, ~7 m# U* C   形式验证是一种静态的验证手段,它根据电路静态地判断两个设计在功能上是否等价,常用来判断一个设计在修改前和修改后其功能是否保持一致。它运行时无需测试向量,但是必须有一个参照设计和一个待验证的设计。参照设计时设计者认为功能上完备无缺的设计,理论上它可以用高级语言如C,C++实现的,也可以是用集成电路的建模镅詓ystEMC,或者验证语言vera或SpecmanE实现的;但是就实现而言,多数形式验证过程中参照设计就是我们的RTL设计,一般用verilog或VHDL实现的。

  S( ?; {9 U3 p2 J3 M/ @   当RTL级功能仿真或FPGA验证结束后,传统的IC设计流程需要完成一下几次门级仿真:综合后门级仿真;DFT之后的门级仿真;布局布线之后的门级仿真等,如果设计很大或者电路很复杂,往往需要庞大的测试向量来验证设计的功能及时序是否正确,这就使得我们花费在门级仿真的时间随着电路规模的增直线上升。

4 M7 I% ^) e2 |* k# H3 ~3 i& g% F7 Q. P) M
   形式验证在ASIC设计流程中犹如一个迭代算法,其最初的输入是RTL设计,每次比较,都将上一次比较后的设计(第n-1次)作为参照设计处理之后的结果(第n次)进行比较,之所以这么做,是基于以下考虑:
: z: i$ r) M: I; d3 X3 z
1 @5 A) {8 Z  Q0 ]1 T9 l" K" S
1.形式验证工具开始比较前,首先在两个设计中找到一一对应的比较点。

) Q0 X- [, r4 I- w& i
游客,如果您要查看本帖隐藏内容请回复
" c5 C1 e4 Y! q# l7 w6 b+ P) x
1 n" D6 W+ A& f) H* g8 B2 U

1 J* j$ r7 S. z4 \; B7 C
8 r1 K5 @1 g* A  E8 z# v& w8 K5 K* H5 p; x# d6 z) z

. D4 l* ~0 R* a2 Q& \2 f( u' W1 n$ Z. S3 U% i7 y8 O* T) M
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

推荐内容上一条 /1 下一条

EDA365公众号

关于我们|手机版|EDA365电子论坛网 ( 粤ICP备18020198号-1 )

GMT+8, 2025-10-13 01:18 , Processed in 0.125000 second(s), 23 queries , Gzip On.

深圳市墨知创新科技有限公司

地址:深圳市南山区科技生态园2栋A座805 电话:19926409050

快速回复 返回顶部 返回列表