|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
介绍Verilog HDL, 内容包括:
3 R# q6 R y& i9 a2 `– Verilog应用5 k$ y7 |2 Q' w' f$ ~3 L- c- T
– Verilog语言的构成元素
+ e; x9 ~" G4 c3 z– 结构级描述及仿真% k( A& i5 N+ z
– 行为级描述及仿真
, g- i% N1 j9 Y$ E1 @# I' a– 延时的特点及说明
/ N! r; r5 ~4 Y) s/ l- a/ n1 C0 t– 介绍Verilog testbench
p$ L5 h0 r N2 |9 ~• 激励和控制和描述! V8 P5 \9 q3 [/ D
• 结果的产生及验证
# c& T% r7 Q+ f8 {9 O– 任务task及函数function% u( o4 r" C8 c1 m
– 用户定义的基本单元(primitive)
. H; F( u* u s3 T T– 可综合的Verilog描述风格
5 ~; E# w5 ~& o& [2 `: j* ]& m8 ^( W$ K4 \3 ~
介绍cadence Verilog仿真器, 内容包括:/ [; p$ T5 {# t0 ]* X
– 设计的编译及仿真5 @( D, D3 d6 G q/ G" @+ f
– 源库(source libraries)的使用
: N' h" U* t7 ^! C– 用Verilog-XL命令行界面进行调试
; q6 f# I0 f; N6 P– 用NC Verilog Tcl界面进行调试, X6 j) U5 n$ b. r. D! g; j$ Z
– 图形用户界面(GUI)调试
) X' `, s9 ~: p9 q5 i; E; e$ t– 延时的计算及反标注(annotation)! b6 R3 G! n- E- {1 x
– 性能仿真描述
7 v w5 @. ?+ g- V" |* ~– 如何使用NC Verilog仿真器进行编译及仿真
! b0 l2 E# M5 A) d% i2 C– 如何将设计环境传送给NC Verilog
! d& r) w. W( g6 h– 周期(cycle)仿真7 E) b5 Q, X, ^/ S
& P2 ?5 w7 o0 L* ]' _; L" m2 Y r
术语定义' o# Z! e6 N( K6 F7 Y
• 硬件描述语言HDL:描述电路硬件及时序的一种编程语言/ e/ }: |# f+ Y! J3 z
• 仿真器:读入HDL并进行解释及执行的一种软件$ C: |1 r. j {: r$ D! v
• 抽象级:描述风格的详细程度,如行为级和门级& {2 u8 s {* M; N9 b1 j/ w! V
• ASIC:专用集成电路(Application Specific Integrated Circuit)1 q/ ~: r0 X3 @$ Z
• ASIC Vender:芯片制造商,开发并提供单元库" ?( z1 `( @& a$ z
• 自下而上的设计流程:一种先构建底层单元,然后由底层单元构造更大的系统的设计方法 。
$ n( X B1 k' m/ J, b• 自顶向下的设计流程:一种设计方法,先用高抽象级构造系统,然后再设计下层单元3 [; l. g$ V- k( }) |
• RTL级:寄存器传输级(Register Transfer Level),用于设计的可综合的一种抽象级/ k* k" p/ q% w2 a" {( J% M
• Tcl:Tool command Language, 向交互程序输入命令的描述语言
- v5 s2 J5 O7 h0 H' v/ k m9 D
% B" y6 C) v* W8 ? a, O. F• 具有特殊结构能够对硬件逻辑电路的功能进行描述的0 n" h( ^; `. x& n# R8 f( Q$ u6 ^+ U
一种高级编程语言
4 `2 m ]2 C* {3 b; ?8 h% ?% L• 这种特殊结构能够:+ n" e/ g1 [6 z5 z. e* T
– 描述电路的连接
8 m# e! s5 y- S5 q– 描述电路的功能
$ h0 \, f+ b1 w/ H* ^9 G– 在不同抽象级上描述电路
" X5 G4 L" Q' b8 r5 r4 _- H– 描述电路的时序2 Z# R$ C! G* b# R7 v8 x
– 表达具有并行性
9 r7 [# a5 {8 p( v0 L _2 A• HDL主要有两种:Verilog和VHDL5 _/ p. g/ v7 a
– Verilog起源于C语言,因此非常类似于C语言,容易掌握
- l1 y. l4 F* c5 f5 F$ V7 r t– VHDL起源于ADA语言,格式严谨,不易学习。3 [# K: [' ?0 S) Q" O4 }
– VHDL出现较晚,但标准化早。IEEE 1706-1985标准。. S5 u4 `+ ~7 ~4 ?$ R2 d8 ?
C( b6 L1 d6 X4 @6 P3 M为什么使用HDL9 x8 y3 O! S7 h' l( u7 N- w
• 使用HDL描述设计具有下列优点:; k8 @2 T6 }7 z( Z
– 设计在高层次进行,与具体实现无关" r& P: P! V& v2 R4 F' G
– 设计开发更加容易
, m; A7 D% A) t5 B7 E$ h– 早在设计期间就能发现问题
/ i0 F( D, r5 |. v; ?– 能够自动的将高级描述映射到具体工艺实现5 i7 w5 b+ D# R+ x4 h
– 在具体实现时才做出某些决定
+ B, d# Q+ H% s/ x k• HDL具有更大的灵活性
; h6 Z. r t; Y2 n. G. [– 可重用5 s0 w5 z5 \4 ~7 W% I( `
– 可以选择工具及生产厂
) q. D, ]9 Z6 E: r• HDL能够利用先进的软件
% v& {! J t' W9 e1 S2 K– 更快的输入
1 L# d, V' S8 J f– 易于管理" [5 j3 D5 S9 a: h1 z
: a# d- C7 k( QVerilog的用途 U1 b3 K; _" R
• Verilog的主要应用包括:
1 }4 f: q" b1 \) I- q– ASIC和FPGA工程师编写可综合的RTL代码
( K# H/ l: g: v. x/ V– 高抽象级系统仿真进行系统结构开发
- |# u/ E# w7 S) l– 测试工程师用于编写各种层次的测试程序# s8 `9 x3 F2 {& S4 w6 y. u% _
– 用于ASIC和FPGA单元或更高层次的模块的模型开发. \7 V4 _; X( A( E: [" t! c
9 J" B* s$ d6 C. K抽象级(Levels of Abstraction)& d& ? i) i/ a4 X, ^. s% E
• Verilog既是一种行为描述的语言也是一种结构描述语言。Verilog模型可以是实际电路的不同级别的抽象。这些抽象的级别包括:
' v( M- l$ K/ Z5 a3 o" o
6 c. n/ s% g1 f' u
) V/ \$ e& a+ K" I抽象级(Levels of Abstraction)
) t( p9 r. c# k( o) C
1 L0 @. |; @6 \# c% J& ^
- |' c3 v! e' d0 u# e% `
Verilog可以在三种抽象级上进行描述2 p' x7 l: F+ H3 N
• 行为级
- V, U, Q5 @& i3 f9 }– 用功能块之间的数据流对系统进行描述
+ F9 m; N6 K, `4 Q1 `– 在需要时在函数块之间进行调度赋值。
3 L; V: q6 H* K& L6 b• RTL级/功能级# h+ z8 Q; p$ w
– 用功能块内部或功能块之间的数据流和控制信号描述系统
, g1 S$ a. ~5 `4 ~2 p0 @( I& s) i$ }– 基于一个已定义的时钟的周期来定义系统模型1 s- p, V+ a0 ?6 A$ V9 V. c
• 结构级/门级
% H$ v1 }) k0 k+ s Y3 o( T7 b– 用基本单元(primitive)或低层元件(component)的连接来描述系统以得到更高的精确性,特别是时序方面。0 P. s* t; ] E4 v) N
– 在综合时用特定工艺和低层元件将RTL描述映射到门级网表- m1 _. z: E2 p5 P8 Z6 E: M
+ k! t+ K: z" r% n9 n+ M• 设计工程师在不同的设计阶段采用不同的抽象级% t) C' v1 G K$ U) S/ F# \4 A0 q
– 首先在行为级描述各功能块,以降低描述难度,提高仿真速度。
' ]% z/ c6 ]9 F& J% I) t– 在综合前将各功能模块进行RTL级描述。" [2 U0 R. @5 J# Y- y/ ^- n
– 用于综合的库中的大多数单元采用结构级描述。在本教程中的结构级描述部分将对结构级(门级)描述进行更详细的说明。- m' H6 O ^; Y9 z' o$ s
• Verilog还有一定的晶体管级描述能力及算法级描述能力
8 D: R7 v) D% h1 G* I1 z: T |
|