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

基于 FPGA Vivado 信号发生器设计(附源工程)

[复制链接]

该用户从未签到

跳转到指定楼层
1#
 楼主| 发表于 2023-8-15 20:02 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您登录!

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

x
本帖最后由 Heaven_1 于 2023-8-16 15:17 编辑
: D3 v* L+ A# D! V8 a& r
6 s) T7 w1 [+ `5 `# _9 p# D2 f
) V( i4 O& a5 n8 e( k7 |
. q* h( v0 l) N! U% ~+ r7 Y6 C. z5 I+ Z3 ]: i
本篇掌握基于 FPGA Vivado 信号发生器设计(附源工程),掌握基于添加文件和IP的Vivado工程设计流程,掌握基于Tcl的Vivado工程设计流程,学习信号发生器的基本组成结构。获取本篇相关源工程代码,可在公众号内回复“信号发生器设计源工程”。
* n# s- M/ C  h
信号发生器能够产生频率波形可调的信号输出,目前仅限于1Hz~4999Hz频率范围,波形可选择三角波,方波,锯齿波,以及正弦波。本系统在Basys3上构建了一个简易信号发生器,简化框图如下:
5 o! e5 u# ^  n$ M1 V
8 h* i3 V: \$ c& W
原理:首先,通过按键设置波形的频率,并通过拨码开关设置波形的种类(一共有正弦波、三角波、方波、锯齿波四种)。频率值可以通过数码管显示。片上的输出时钟计算模块能够根据设置好的频率值,计算波形查找表的输出时钟,以及生成查找表的地址。查找表根据波形选择模块,决定输出何种波形数据,并在输出时钟的驱使下,输出波形数据。最后,片上的DA模块将波形数据发送给外部DA。本设计通过Basys3外接Pmod-DA1模块,进行DA输出。
5 O! V; j2 y  I; n9 R9 q
基于添加文件和IP

& ]% \; v. A- r1 ~! x! {  o: r
1) 双击桌面图标打开Vivado 2017.2,或者选择开始>所有程序>Xilinx Design Tools> Vivado 2017.2>Vivado 2017.2;

$ D. v4 @4 R1 U
3) 将新的工程项目命名为‘lab5’,选择工程保存路径,勾选‘Create project subdirectory’,创建一个新的工程文件夹,点击Next继续;

' U$ N8 x4 Y$ M' w
5) 选择目标FPGA器件:xc7a35tcpg236-1或Basys3;
0 a( |2 R, p6 u/ P3 r) N5 A) c
2. 添加已经设计好的IP和HDL文件
  f% ]: `, _3 t
源文件位于Basys3_workshop\sources\lab5\Src\HDL_source

: G9 N& `6 _+ d6 s& f+ P) v& p, T+ \( V9 `" d1 F9 x* t: ?

& n+ j3 M/ {4 Y% Z8 n& I  x4 T, ]& Q& e& x6 i$ Y
+ I" Q  E2 M0 W. r: `6 ]
- |: }2 @  h& Y$ X

9 Q5 n/ E9 M. i9 K6 E1 j
4) 点击OK完成添加;
# ]0 }7 T  T7 D6 e+ M6 V2 T
5.1 在Flow Navigator中展开PROJECT MANAGER,选择IP Catalog;
7 l8 d% c0 s) ], J. m: T# x
5.2 在右侧IP Catalog窗口的搜索框中搜索‘clocking’,双击‘Clocking Wizard’开始配置IP;
! B, L+ c( F+ @" F) {5 _# ~

; n* ?4 J. L' _# z8 t% F, E
5.3 配置IP。

& p4 {6 M' J: q; A0 ~- z
5.3.2 选择‘Output Clocks’,设置2路输出时钟(100MHz和50MHz);
' p! @/ J# ]1 [3 n7 W' e2 s2 H
4 W5 Y& |* q+ R
, z. k' `! D9 T* y9 U
. s/ H/ |! o! |6 `" P# O

/ c6 |; M2 L* Y" M7 s' x
* T- R1 S3 X. I6 k. s7 ^# i
" b: R5 e5 y, T! P% h' s
5.4 同样的,在IP Catalog窗口中添加Divider Generator,配置如下图如下图所示:
. h+ i( D& @7 G9 n1 v* c/ y
5.5 同样的,依次在IP Catalog窗口中添加debounce和seg7decimal这两个IP,使用默认IP设置,无需另外配置,并且Generate Output Products,完成后Sources窗格中如下图所示:

0 y: h0 y7 {" z- c/ m
6) 添加HDL文件至工程
0 F4 p+ ?3 g! {8 a! @  g
' c0 |. r8 n* c" k

" f( u# S; O  F4 K/ P
6 X* c9 i1 p0 d2 R6 ^

- G9 o; g  U* e4 r" ]# k; c2 r" a1 l0 p8 R5 _

( ~/ F$ P! x" i; o- U8 R0 ^+ ~

* }  e& ~/ z+ M: N
7 R! O  n, z! F" ?
3 G" B# f6 n9 `7 O7 A' [' Y# X. X9 T
# H$ `4 l2 P& O; p% j

4 v, b7 _* a/ }( a
, T8 J9 b" k) b- I
  j, M' {- f/ J% u

' d" T' W% x, M2 M$ o" B5 m5 Y9 t9 S8 {, a' \
7.1 在Flow Navigator中展开PROJECT MANAGER,选择Add Sources;

( [+ q" h# B4 h, ~+ Q/ W" S  [8 C4 T9 H0 Z

; e1 Y. H& r* X! {& O
  M" Z8 r. D2 z6 q: ?# L
7.4 找到约束文件路径Basys3_workshop\sources\lab5\Src\Constraint,选中并添加‘signal_gen.xdc’文件;
- @* D  ?; n3 Q) H5 p
7.5 勾选‘Copy sources into project’,点击Finish完成添加。

% q" w8 I* H+ d* h% o
3. 综合、实现、生成比特流文件

3 o+ B1 d' F( k$ [( g1 r2 E) N7 r, c. E, ?! Z
1 g9 B. S1 Q( c& n7 z1 t
8 Z/ W! M5 _( H' v- t; U4 ]) u$ q
# }3 ?* M0 ^) B! p8 e) ^

+ G4 _2 v# _  o1 d5 ?: E

$ a# W7 B# |  G3 S" X0 D8 ]2 {; @. r5 E3 O
8 Z! v: h9 k0 ]7 d' o- k

- O( r4 z% X; z' Y/ D' ^9 S
; e6 u& R/ r1 u( ~
% w. `/ c; C( K9 I$ @
1. 基于Analog Discovery2

0 \+ N9 _9 b7 N4 V- @0 v; s# f, w! n8 u  V. r4 j

6 A0 S. P% n! x5 l; k" {
: {, z5 z. _7 L+ E% o2 _' y# \4 r7 t
2) 在左侧的功能选择栏选择‘Scope’,使用示波器
( n6 o0 O  E5 N) H

' p1 |6 v. K: ~$ I0 B
0 N8 N) m% n  L) _- [$ l2 `

4 b" {$ }1 [0 @; ~( X3 E  F1 |
按照下图连接方式,首先将Pmod-DA1模块插入在JC口上方,同时将OpenScope的示波器CH1的输出引线1+(橙色)和1-(橙白色)分别与Pmod-DA1模块的A1和GND相连接。
7 O' K; Q# w4 w2 Z! j; T
2) 在Windows工具栏右侧,右键Digilent Agent图标,选择‘Launch WaveForms Live’,在浏览器中打开WaveForms Live;

* y: A% c( v. T$ U% e
3 K! @7 V# t: n! o% O  l  G
, Z' P0 _- K$ C/ J

/ }. u" _* {, M) E  j: }% N: v9 g/ @. Y  K
& b. |7 n1 F6 Z4 ]) [5 h# j# s
9 [) W" }2 g& I8 q  ?" d& k

. c# ~# @  K: J4 S2 E2 [# b5 |1 L
7 {$ W6 g8 V, X, T) P4 b, B

: E) l  G% w. C+ F+ s
$ O! x' g9 z; a# G$ o9 G

1.png (304.78 KB, 下载次数: 0)

1.png

2.png (20.03 KB, 下载次数: 0)

2.png

5.png (31.67 KB, 下载次数: 0)

5.png

6.png (38.06 KB, 下载次数: 0)

6.png

7.png (13.27 KB, 下载次数: 0)

7.png

8.png (24.33 KB, 下载次数: 1)

8.png

11.png (41.13 KB, 下载次数: 0)

11.png

12.png (33.95 KB, 下载次数: 0)

12.png

13.png (29.26 KB, 下载次数: 0)

13.png

21.png (47.94 KB, 下载次数: 1)

21.png

22.png (31.51 KB, 下载次数: 0)

22.png

该用户从未签到

2#
发表于 2023-8-16 15:19 | 只看该作者
FPGA太难学了。也没有资料
  • TA的每日心情
    开心
    2021-1-29 15:36
  • 签到天数: 33 天

    [LV.5]常住居民I

    3#
    发表于 2023-8-21 08:38 | 只看该作者
    看看,用的哪款ADC?
    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    关闭

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

    EDA365公众号

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

    GMT+8, 2025-10-5 05:16 , Processed in 0.156250 second(s), 26 queries , Gzip On.

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

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

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