找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
楼主: yoghourt
打印 上一主题 下一主题

一起来学FPGA [学员召集中...]

    [复制链接]

0

主题

1

帖子

-8987

积分

未知游客(0)

积分
-8987
166#
发表于 2012-3-8 21:24 | 只看该作者
我有兴趣 ,不过这 学期刚上单片机 。  还没接触  

2

主题

33

帖子

-8939

积分

未知游客(0)

积分
-8939
167#
发表于 2012-3-11 15:41 | 只看该作者
初学,我觉得将最简单的东西(如器件的工作时序、概念)弄清楚最重要。

0

主题

1

帖子

2

积分

初级新手(9)

Rank: 1

积分
2
168#
发表于 2012-3-13 10:43 | 只看该作者
我学的是VHDL,毕业设计做这个,PicoBlaze正在学,呵呵。

6

主题

34

帖子

55

积分

二级会员(20)

Rank: 2Rank: 2

积分
55
169#
发表于 2012-3-13 22:05 | 只看该作者
必须参加,我要报名!目前正在学习做xilinx spartan3系列的采集卡,硬件设计还行,就是verilog还不会,迫切需要进一步学习,希望版主继续讨论!!!
1 q4 v. Y. n, }% _

6

主题

34

帖子

55

积分

二级会员(20)

Rank: 2Rank: 2

积分
55
170#
发表于 2012-3-13 22:13 | 只看该作者
下面是FPGA内部FIFO的一段verilog代码,抛砖引玉,希望版主把学习项目继续,一起提高。
, d6 Y: k% ?# u, ~module fpga_fifo(4 C# U+ H" n! d/ w6 g+ K5 G# j* \
                        rst_n,7 ~+ w4 j# [7 {  i2 K7 ~( L
                        iclk,- F# \* j6 A' L4 ~, c  R% t- _! M- H
                        idata,# T0 u; k- A  r: Q0 Y1 Q
                        oclk,2 r9 ~6 D' {7 s
                        odata,# i" N& h+ ~7 c  R9 [% p/ r
                        fifo_empty,
$ I/ }  m4 t) V- f                        fifo_full,2 F1 y9 d0 X7 b& {8 T  [" d
                        stop,0 K: G9 M1 q4 F$ g9 d0 E" c
                        flag6 G4 r# e1 l  d) E4 B1 d! I! p
                        );4 F* W2 R4 ^* m% N  A: R6 }
        / w/ m' n6 r# ?  O
        parameter length=10'b1000000000;0 b" E  a  @. z% N5 {
        parameter width=16;
. }# ?4 g3 h" l  T* d        //parameter dimin=6'b000100;* F2 D. [3 i  m
                       
0 r. s% V* b* w4 i9 D) e! }" D        input rst_n;    //启动
% l0 x5 Q3 @9 S& W$ l: }        input iclk;   //输入数据时钟
/ K1 @  U8 a- M2 g        input [1 :0] idata;   //输入数据) H/ {( q" ^1 t& o5 @
        input oclk;   //输出时钟--接USB同步时钟
1 s0 h- R0 G  f7 N: W6 E0 U        input [2:0] flag;
; {. T5 D) E* @, h
7 I2 U" B) U( ?8 u' L3 X8 d3 v. \# p* q' B
        output [width-1 :0] odata;/ o% Y+ Z2 \# U, h. m' Q1 i
        output fifo_empty, fifo_full;3 N6 x& R+ s- y( J5 W" j
        output stop;
% ?* W  m% J3 B
* b6 G7 }; I! G/ O6 s$ n- W% r        wire        [2:0]                data_set;. P9 ~7 V4 ~* q1 t6 Y4 [
, V1 i; B+ J) w3 d0 S
        reg [width-1:0] fifo[length-1:0];
- s: f1 K! Y$ J  |  ]3 ?        reg [width-1:0] idatabuf,idatabuf2,odata;! z4 l6 ^; T, s: n2 E2 e! ]
        //reg [1:0]                idatabuf1,idatabuf3;
8 ]2 A3 c1 N: L        reg [9:0]                 reddr,wrddr,wrddri,wrddro,wrddro1,wrddro2,reddri,reddri1;, {5 E. |& k/ u0 j& c
        reg                         fifo_empty, fifo_full;
! U6 q# n7 v  \6 b; L        reg [1:0]                 clk_set;+ H: x8 ]2 t- d2 U
        reg                         fifo_empty_tmp0;& p$ R% n" r9 N1 I3 E; k
        reg                         fifo_empty_tmp1;  e# r% ]% B* `! d: I
        reg                         fifo_empty_tmp2;$ @& V$ v; G3 A
        reg                         fifo_empty_tmp3;8 H% i. G5 W/ S. W) z) P
        reg                         stop;
, w8 [" p) H5 ~  n        reg [31:0]                stop_counter;! @  Y6 l4 l* I+ T# }
! h# C: y" A% [% U9 I+ e
        assign        data_set        =        flag - 1'b1;+ Q, u- z" n% {
, ~8 Q% F5 X8 p) ?
//-----------------------------------------------------------------# Z. s* C& z4 V1 g6 I* {
        ; x5 }# i* o% O7 q5 n
        always@(posedge iclk, negedge rst_n)//输入时钟域! a2 a  P3 Q7 C4 {3 p  i. b
        begin5 H& o0 j; ^8 p# I1 E
                 if(rst_n==0)6 A6 m% E6 S! G& e8 r
                begin. p- O2 p6 R! ?4 T
                        wrddr                <=0;
4 y+ _9 a8 c+ [3 ^2 n" |                        wrddri                <=0;
& e5 N$ u5 E8 B5 u                        reddri                <=0;( V' u  Y8 j! b/ _
                        reddri1                <=0;% Z' P) v( M& g4 r0 G' W9 F
                //        data_set        <=0;; d1 x& Z6 K. w, \: S
                        idatabuf        <=0;1 m; B" r1 ?; J5 w7 w# r
                        idatabuf2        <=0;" `8 M0 X. P! @; @
                        fifo_full        <=0;" ~3 J' |; |6 G% _5 E6 z
                        stop                <=0;, ~" f4 V7 j- x6 m# n/ C0 l6 M  ?
                        stop_counter<=0;
" k/ y* R* V; ]" A4 y( g" B0 ~! v4 o                end
* n2 \5 c7 U7 b  v2 c2 Y                else ) d" v) J7 G8 B' z9 V
                begin+ C3 f, h1 J& U8 s) \5 L$ W! u% b
                        stop_counter<=stop_counter+1'b1;
5 s2 t1 s2 p1 l/ P6 p                        if(stop_counter==1800*1024*1024)stop<=1;
& g( I3 @) f0 ]9 v1 b- {                        case(data_set)  F8 R# ^1 d6 ?& P
                        3'b000:idatabuf[7:6]<=idata;6 p. q5 K! E& D. E3 U
                        3'b001:idatabuf[5:4]<=idata;
  `: E5 i. M8 U1 u) h                        3'b010:idatabuf[3:2]<=idata;
5 q# B+ ^* E* ?, j, d4 h2 t/ u                        3'b011:idatabuf[1:0]<=idata;% U$ r' B" W, i- d2 F
                        3'b100:idatabuf[15:14]<=idata;: h  C7 g2 O# k7 U3 _
                        3'b101:idatabuf[13:12]<=idata;! t2 E4 r% `& P& N3 \, F* M; N
                        3'b110:idatabuf[11:10]<=idata;7 E* a4 O* s1 U" k
                        3'b111:idatabuf[9:8]<=idata;
' }" J& s1 u6 b; {& f( e, }1 F4 J1 h                        endcase* O4 ^: U2 Q" [2 L  S; H, E& m
                        //data_set<=data_set+1'b1;
. r) }3 k8 e2 p7 O. H2 H: M3 F( b                        if(data_set==0)、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、、

2

主题

8

帖子

4

积分

初级新手(9)

Rank: 1

积分
4
171#
发表于 2012-3-17 12:41 | 只看该作者
我最近再搞一个I2C总线的协议,但是只能写第一个字节数据,后面的就写不进去了,很郁闷,我怀疑是不是停止位没停止好呢,大家有没有搞过的啊~~~

0

主题

2

帖子

-988

积分

未知游客(0)

积分
-988
172#
发表于 2012-3-18 13:57 | 只看该作者
没看完~~~~~~ 先顶,好同志: u* {; A) S# f

# N: p; o% l, y+ o
" L" D. t" x, f1 o- P" v1 r- K0 h* w4 y$ k2 n3 W; m

1 a" \/ x  W/ \
1 H0 `8 v. M0 @8 O" l  P( G4 M; c! I8 B, B7 p! H1 e2 E, e$ b" N
$ n# k1 I/ ]  ^+ \5 n

% X9 X  x, V( {& R; k
* Y* y  r5 R- c: j
" y7 j" H# {$ Z9 N
/ C; ?1 m4 l' T1 A6 k  G2 B$ q9 y+ K$ t+ M
好看电视剧2012 好看头像

3

主题

82

帖子

107

积分

二级会员(20)

Rank: 2Rank: 2

积分
107
173#
发表于 2012-4-24 14:56 | 只看该作者
我也想学,希望多多指教+ X- }; V. _0 [  Z
你的i2c的应答位有吗& w1 V2 O8 p! M4 Q/ ]# o

15

主题

167

帖子

145

积分

二级会员(20)

Rank: 2Rank: 2

积分
145
174#
发表于 2012-4-25 10:02 | 只看该作者
我也是在学校学了点有关数字时钟类型还有交通灯等方面,也很想往这方面发展,就是不知道从哪里开始,感觉硬件条件不够还有就是没有方向!

15

主题

167

帖子

145

积分

二级会员(20)

Rank: 2Rank: 2

积分
145
175#
发表于 2012-4-25 10:13 | 只看该作者
我能加入吗?我也想加入……

2

主题

18

帖子

24

积分

二级会员(20)

Rank: 2Rank: 2

积分
24
176#
发表于 2012-4-27 22:56 | 只看该作者
我最近参考alter公司的源程序做了一个自己的I2C总线控制器,使用的是vhdl语言,做完之后,我对于数据总线的输出高电平始终搞不定,最后只能使用高阻态“Z”,不知道有没有朋友做过这方面的设计,希望能够帮忙解答下

5

主题

47

帖子

108

积分

二级会员(20)

Rank: 2Rank: 2

积分
108
177#
发表于 2012-5-16 23:21 | 只看该作者
我是学习集成电路设计、芯片反向技术,我也想学习一下这个,可是不知道从哪里入手,求高手指点!!!

2

主题

79

帖子

887

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
887
178#
发表于 2012-6-2 10:52 | 只看该作者
求高人指点下   学习学习  迫切迫切

13

主题

41

帖子

22

积分

二级会员(20)

Rank: 2Rank: 2

积分
22
179#
发表于 2012-7-4 14:30 | 只看该作者
同样的感觉,不知道如何深入下去了

0

主题

2

帖子

1

积分

初级新手(9)

Rank: 1

积分
1
180#
发表于 2012-7-15 15:34 | 只看该作者
verilog编写的程序有四段数码管分别显示1234,然后又显示5678,就这样循环下去?
, @  }: K. Q. S+ umodule s4_7seg(clk,rst,
! A" r/ c* M* X9 d
+ t; L/ x. s" ~, U$ b   s0,s1,s2,s3,- I- h$ n. C3 u
% _$ ^0 T! \# `/ C
   d0,d1,d2,d3,d4,d5,d6,d7
9 F+ W  l' b/ Y7 c7 L; h/ N# `) K% k+ Q
   );: q! d  V! ?: U. g. G

. L0 v" V0 z) @1 {$ g( [  m  V: B input      clk,rst       ;3 s* R* u- m5 i, o8 P* i

- K# A$ ]" `9 |" v, o output     s0,s1,s2,s3   ;
/ `: W& u/ I, Q$ b& I* j/ }" Q' Y( H6 C
output     d0,d1,d2,d3,d4,d5,d6,d7 ;7 E5 ~- s! o1 Y* O4 j) B3 E

5 a5 D; Y; ~0 n5 W. ?/ L reg [2 :0 ] state ;
" K% s+ r* I$ @; u: c# C! b6 p" K) I& z- {
reg [2 :0 ] sn ;
2 w2 t, G# J, v4 c1 t5 x
, t: b% T5 w: o4 o8 X reg [7 :0 ] data ;
/ @  _4 S( L* v1 M  z; |) p3 |& k3 v
reg [23:0 ] cnt ;' c2 A) |) W! l, y# m- @( s

/ G% K" r! ^0 c; I3 s ! ~/ L* k- A, |* m5 H
  t3 m( ^1 w7 u  w$ [, ?* \  o
wire       s0,s1,s2,s3   ;+ y7 ]; [" x& u) G7 T- g" V) w! B

9 {! t+ \$ d) c wire       d0,d1,d2,d3,d4,d5,d6,d7 ;
' z: y, |6 }% b3 q% l+ D8 T6 ~8 ?9 d6 I' i0 F
assign     {s3,s2,s1,s0} = sn ;
$ `: @& Y- j9 G4 r
3 a0 e$ K+ h4 z assign     {d7,d6,d5,d4,d3,d2,d1,d0} = data ;. J* @* S- N* c3 O2 z9 I) i

/ f. i, X: l7 I' }, u always @ ( posedge clk )# N6 X! ^3 K9 `8 E! n3 q
8 f! g7 J% e7 k: r. f
  if( !rst )
* d0 }* F/ _8 [7 i. u% @' E: p6 U# c7 ?& v
   cnt<=16'b0;
! b" D2 D' I! \) Q: k, g: {2 c7 J. Z/ _, Z
  else
  j! s; m; E% {" S; o, x5 b3 ]
5 ?. G; C% y: j0 E4 C3 q6 B5 t   cnt<=cnt+3'b1;
! l; L% m: d& O( U0 V- E
' ^2 ~0 F* i7 a wire clk_slow = cnt[24] ;
  ^/ y4 s* W. T2 R5 T
. ^9 n. y7 m; d$ @6 ]" P' ?1 P always @ ( posedge clk_slow or negedge rst )4 g6 I5 ^" |4 D

* ]% u) y+ F. b, a* V$ N* l  if( !rst )) T, c) O8 u! z- }9 y( A8 U

* F% a! q8 m% ]5 q( Z   state<=3'b000;# n1 W" `3 t1 a  F, Q# t# h
! E- h0 m$ j0 S% g
  else! |% [  D- Z; J5 W
9 ~# X, n( V+ e2 C- O
   state<=state+3'b001;
- e' a& X, ?. o4 }8 e& Z; X: F( X8 P
always @ ( posedge clk_slow or negedge rst )( `3 t5 n! j5 @9 T# I) A
3 d7 i4 S' N" Z$ |6 M" `  }) y
  if( !rst )0 ?/ t/ u3 X+ C

% d/ g! z& s  Y: O; [5 U1 g8 I   begin" g+ D- Z4 b4 v
/ x) [! ]: x. x( V. @9 l! f$ x, v9 @
    sn<=4'b0;1 }8 \# w1 d  F1 F5 _3 I0 ?
% v' R0 ?+ H1 B. A5 g
    data<=8'b0;
+ E/ ]' l9 q9 n: P# ]8 C: X
2 d1 z7 Q6 x) w8 {   end
( Q! `1 N8 Z; E0 u2 A& v
) W2 \4 b4 `7 g* n' X4 g3 V' C  else8 t# G2 Z0 F! C
/ A) Y/ b" p: \7 i
   case(state)
, b, J' j1 i  Y1 B' n- f  r/ |  M: _/ N1 s
    3'b000:
+ v9 V# ?$ l- x3 ^- I- ]& S
) e) k/ e) z) K  A& u' S3 P1 K     begin$ @' L  x( ~* c0 A
7 Z" \+ Q1 D( \! k3 ]8 i7 O) v( a
      sn<=4'b0001;
7 h. y/ z* z) b# N; f- c* _2 b( l. U/ r
      data<=8'b0110_0000;
% M4 Y" P9 c# s8 P7 w: w% @& e
! ~' f! n' e" a3 _1 i     end+ Q- }$ E7 r/ e
( I4 j5 k9 ?4 j5 {# G1 L
    3'b001:
& E3 f* ?; m0 i3 Z6 Q7 @5 C( b5 X& k0 d/ b8 U) p1 r& k
     begin5 ^/ H% X; R& u0 ?* S5 Z, g

" j% }% i1 N- j* W2 \+ R      sn<=4'b0010;1 W8 X" k$ f& ?# S* I+ d
5 N8 L, H, L* g* J5 a! l
      data<=8'b1101_1010;0 X# S* }% P+ g+ m9 ~) `# ^2 z% l

* {  p0 ^9 @, ^     end
7 G$ R* Y  i; e. B# N/ L
7 P" ^' Q8 n& X( |' J    3'b010:
2 N8 f$ ~8 L, r3 e% o/ W
. n; t  m* o2 q; S( m& Y     begin
- w8 L. q; ~" _- q) y; K  O
/ C  m3 r+ p$ g4 U: T! _9 I      sn<=4'b0100;
5 z7 e- X7 j1 k  o5 V- T
0 T3 x3 H9 j  x& R, c! L; j% T      data<=8'b1111_0010;2 y+ V( ]# J( z- ]) i

7 y/ }2 X- E" x8 N     end
) W' }9 x* r/ V3 M. C7 t" Z! j( G6 S$ D0 z* ~
    3'b011:3 m( W  E+ n' l; s$ c
: M4 K9 r. }2 {2 ]( t; R2 ]1 @
     begin" W- x, f9 H$ [( U+ e1 _; h- Y" E8 t
: `" T5 u9 o. \- t0 H: Y
      sn<=4'b1000;$ m: C1 v' C6 h0 a' ~/ x
3 @" i8 f3 o( h4 F
      data<=8'b0110_0110;
4 N. h& \! i: c; s6 r3 H
, z1 f+ }9 g6 C) F. u9 j! z6 E# ^     end0 _  K1 G! E) ], `/ j

. k% D3 r- C7 M- O4 d( i7 ]: l+ O      3'b100:
/ W* t" |- y. E8 X7 d) i
* S( e# z+ P$ v; ~; H     begin
% k/ x" A. B( b  b6 P8 D! c  Y7 d6 h- q) A/ i" j
      sn<=4'b0001;. H+ K( G+ M, T1 [9 l/ R

- c" B5 S, Z9 E% N1 m) w0 @      data<=8'b1011_0110;8 \. ]% I) B3 d* ]/ d; d* `% H: K; w
4 M; V' E: {9 p
     end+ x* a0 ]- I: _

0 v: {7 r5 ^. `! A    3'b101:0 _" r' e* V& U9 L( q6 a

1 B& `( A% `9 j- |7 Y+ I     begin
" f3 o; U, d! c+ z) i( t" V. U6 Q- s0 h
      sn<=4'b0010;! P3 k; ]% U4 h+ \

; f% j* T/ k( J      data<=8'b1011_1110;
- F! P1 u' q0 O, p8 Z9 t
& |" r4 c) t/ i0 q  E7 T  _     end3 A9 J, j1 F7 h' K6 P, p* h/ ?
5 w& E2 f  Q7 E' Q
    3'b110:8 I& c! g# X4 T/ x- A; j0 _

* ]" b8 t7 c# s( o     begin- g% R) u8 J# j8 K

6 [8 A+ M0 e% [, r) ]( }4 f8 Q9 R      sn<=4'b0100;" i% e+ B! k6 a: Y. o/ ^! q' B8 p& o
  d' a3 ?$ |3 V4 C5 y) w7 o
      data<=8'b1110_0000;# d! E: q( Z8 ~1 K, S
0 i2 b' A: x6 u7 X. B. W" x- r& ^& r
     end
# c. b7 s* t0 ^: }9 n0 X! Q  T* c4 p% Z* m% ]( W1 L  {  T: b
    3'b111:
9 W- D$ z# n  h! z2 i* M. e6 E6 V" S; F) y8 X" r
     begin+ D6 C9 B- V1 V1 t: ]+ s  T* c) u' Z

* m! I6 O9 P1 }* ?1 @3 C0 X+ M      sn<=4'b1000;: ]6 v- f! d3 @' v
: T. `9 x, \5 |
      data<=8'b1111_1110;* Q% [2 U6 r2 k! w/ X  Y0 H- z

+ Y$ B) d  B* Q) ]   ( e. T" a  t# k- J. U' }

7 \4 h8 U! x: @0 G     end
2 Z: y. {9 n" Y" ^" Y& ?5 e
, n: G& z9 a  k   endcase5 C  P7 ?, L$ _, z: ~2 `! D4 y

+ l0 y' d) u4 C$ I  g% J6 rendmodule. H6 A: i$ ]5 R/ T" c
) w; N( }8 k9 ?3 q
这是我自己编写的一段程序,但只有前三个数码管显示123,567,第四个数码管不显示,按照程序应该显示1234,5678的,请哪个大神帮帮忙看看是哪出了问题?
: O  X6 D4 k% a, \. a* X' W* m
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

关于我们|手机版|EDA365 ( 粤ICP备18020198号 )

GMT+8, 2025-4-7 00:20 , Processed in 0.070468 second(s), 33 queries , Gzip On.

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

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

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