找回密码
 注册

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还不会,迫切需要进一步学习,希望版主继续讨论!!!
$ v$ Y" a, b+ L3 g, ?! ?% {

6

主题

34

帖子

55

积分

二级会员(20)

Rank: 2Rank: 2

积分
55
170#
发表于 2012-3-13 22:13 | 只看该作者
下面是FPGA内部FIFO的一段verilog代码,抛砖引玉,希望版主把学习项目继续,一起提高。$ b+ V! N5 p8 g0 F/ O
module fpga_fifo(
6 W/ {1 a2 ]: h: ?% U& B6 a) Y9 v                        rst_n,5 @. ]8 r" }' `
                        iclk,8 u+ {2 y3 n4 j+ ]5 Z4 U9 V" y7 q
                        idata,/ N" \: u0 D  W2 `$ o7 B
                        oclk,+ L: N4 f* P7 L1 I$ i2 U* D: }, t5 p
                        odata,$ [3 B" @& Z( h
                        fifo_empty,- ]1 V. s+ l  K1 h# J5 M
                        fifo_full,5 E4 u1 n% F4 M6 T/ |! U
                        stop,
4 w: N& y6 J- P% j5 u8 Q  J. A                        flag
) v5 A, a7 l7 i( F7 l  _3 s8 ?' K                        );
: Q2 q8 p$ f% M& J2 F0 z0 \  e% o8 U- h       
, }3 @) ?% D4 Z8 [' u  _        parameter length=10'b1000000000;7 Z$ }$ C! e: F5 |$ x
        parameter width=16;4 Z1 {3 P% z' c" W  T
        //parameter dimin=6'b000100;0 S6 X3 K" |+ G
                       
( t1 f4 [+ u  f7 Z- l, N# V0 s" U        input rst_n;    //启动
# @3 T5 x6 T* i# o' ]        input iclk;   //输入数据时钟
5 ^" T& [* H# i* B1 A        input [1 :0] idata;   //输入数据
2 b' t% F4 j5 H; r% N6 }        input oclk;   //输出时钟--接USB同步时钟
4 W1 ^( t& f+ w/ ?. a        input [2:0] flag;
  L( L" H. y2 C- S
" ?! E, v) a8 a% I% W& E$ ?  g9 _  [) \2 x
        output [width-1 :0] odata;4 ?; |+ F" J/ r% \
        output fifo_empty, fifo_full;* H! Q" `( ~1 ]9 l3 |. a4 B
        output stop;
( n% b8 y+ Z, Q. v+ u& G1 w/ |1 C( `9 n
        wire        [2:0]                data_set;' @; b* F+ t8 z( @: f2 u

& o' [' ?* E* p% m5 a2 M        reg [width-1:0] fifo[length-1:0];
2 h8 W( F+ ~9 y0 t0 x6 l/ {        reg [width-1:0] idatabuf,idatabuf2,odata;
/ x3 S! L9 _7 e% B        //reg [1:0]                idatabuf1,idatabuf3;- q3 W1 j0 U- Q- j1 L9 U% w( ?; y- [
        reg [9:0]                 reddr,wrddr,wrddri,wrddro,wrddro1,wrddro2,reddri,reddri1;- [6 L: [1 Q& k1 L6 }1 b1 C
        reg                         fifo_empty, fifo_full;; {  l6 Q1 {& I! Z
        reg [1:0]                 clk_set;: [. o4 ]/ H0 T& U7 A4 v
        reg                         fifo_empty_tmp0;
5 \7 P+ d3 p: }8 }; s. R5 O" s$ n, Z9 m        reg                         fifo_empty_tmp1;
; Z& ^6 Z( ^% t        reg                         fifo_empty_tmp2;
. Q; ?# V' l5 r8 R        reg                         fifo_empty_tmp3;3 y0 @. X1 z! Z! U& Z3 S/ Z) |
        reg                         stop;1 Q2 M% p2 ]1 @- H2 H7 |" D; x
        reg [31:0]                stop_counter;
4 z* O0 J+ d( {; b
( O; O+ U0 I( j4 c# A0 C+ N( I% x        assign        data_set        =        flag - 1'b1;+ t5 N4 o% \( Z; m' b! K

" ^; A% B) b! k6 o1 `4 |6 V//-----------------------------------------------------------------" x2 p3 }1 ]4 J: S
       
4 r5 w3 k9 e" @        always@(posedge iclk, negedge rst_n)//输入时钟域
+ a/ Y( f2 w& P' t; Y  }' Z4 F        begin
0 ~% t( q$ I) |, X: Z4 p                 if(rst_n==0)
+ m. ^+ \7 C! s. y                begin& N: q  s* ~# k2 t, l8 N8 F
                        wrddr                <=0;
! V; a$ {" q/ z# A4 D                        wrddri                <=0;
" L# d' b0 Z& Q' H. H$ S                        reddri                <=0;: m; M6 J/ d( V. f5 @# _
                        reddri1                <=0;
  _, U. }2 ^6 Q# {                //        data_set        <=0;7 a! ?: R" T3 {, y9 W0 p& z
                        idatabuf        <=0;/ q) _& j- D" p3 G: m4 D
                        idatabuf2        <=0;: e. I' l1 Q& c9 t
                        fifo_full        <=0;! ~0 l. ?& A3 k/ }
                        stop                <=0;
3 Y6 E4 a/ p& m1 _! g/ s* F1 }                        stop_counter<=0;. @- x8 O" A. b+ V
                end; y$ Q2 h- X. S' i1 ~4 V& B% o- `
                else 7 [# I7 t) J" [! t$ |
                begin
- r" E- B# t% R( Z                        stop_counter<=stop_counter+1'b1;
& W) [0 n7 C# ]# N. @                        if(stop_counter==1800*1024*1024)stop<=1;& S0 D& d( A$ r" r
                        case(data_set)
' m% {! ]" l7 E/ ~$ T                        3'b000:idatabuf[7:6]<=idata;+ y3 L7 x# S6 J* W7 N7 q
                        3'b001:idatabuf[5:4]<=idata;3 Z8 z+ s& @) ]. c
                        3'b010:idatabuf[3:2]<=idata;
) e' K. C7 V  m! M" {& r                        3'b011:idatabuf[1:0]<=idata;
0 a/ i: q  }$ }- [  P                        3'b100:idatabuf[15:14]<=idata;5 w5 `9 z' T$ e
                        3'b101:idatabuf[13:12]<=idata;
" Z" C# P: \1 P1 S6 `# r) Q* j) Z                        3'b110:idatabuf[11:10]<=idata;* S( L5 y% ]9 R+ l3 ~0 ~. T. D
                        3'b111:idatabuf[9:8]<=idata;" ]& k0 p& d" Q
                        endcase
7 M5 x" B. I3 v/ \. A: r5 m                        //data_set<=data_set+1'b1;2 ~1 X' R9 L/ ]/ d2 N) R  {+ m& k
                        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 | 只看该作者
没看完~~~~~~ 先顶,好同志' n* m# ^# g3 u/ ~* W

- U# t) q, r: K, w. F9 c, [
& @6 a& z- j) c0 W9 \1 q8 y3 ~1 V: G" B, ^" d

; `6 n3 [$ A1 c* q+ _$ S  _* A  Q6 Z5 ?& W  y+ _  J

" T$ P/ i$ [. p& c! x2 d! g% ~4 R4 o; F, n; G  X, @7 l+ n
% e3 B) E6 q, ^" R: F
4 K' V  M" q( k7 h0 j* @% F- Z- v

) c, J- {; O3 x- |3 Q3 \2 l, c# S) T$ ]  a/ R& d: h

* v% I& ?2 p$ Y0 J; l$ i$ `  K# Y好看电视剧2012 好看头像

3

主题

82

帖子

107

积分

二级会员(20)

Rank: 2Rank: 2

积分
107
173#
发表于 2012-4-24 14:56 | 只看该作者
我也想学,希望多多指教
8 K/ l/ y' p+ b/ o- g) s 你的i2c的应答位有吗
, R9 _, k6 I7 \

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,就这样循环下去?
) ^9 I" G, b+ h$ Y* F/ X  Zmodule s4_7seg(clk,rst,6 c( {$ t0 V( X& E6 l5 D
6 k0 W: O  B' P/ G- c
   s0,s1,s2,s3,# S5 Y1 f# I) G' q' u) X6 R0 `

9 }, H1 n5 `2 n   d0,d1,d2,d3,d4,d5,d6,d75 g8 c) U0 ?4 r% a5 o  I
5 N+ m3 a) P: k" _
   );
9 Y. ]( |* I; c' X
: v# m- ~5 u/ U/ `- J0 k) Y2 i6 E input      clk,rst       ;0 t! L9 ~8 V- O
. {; t* \6 T" U0 U1 z: Q" N
output     s0,s1,s2,s3   ;
0 b& i, @+ B$ U& E) B9 L4 J0 i2 Q
: f& K; D/ i' _! \ output     d0,d1,d2,d3,d4,d5,d6,d7 ;
& k. V- _- S  K& j, |  n' h& p  `+ U0 P- A0 P- N0 N7 r5 d
reg [2 :0 ] state ;# }7 |8 H% {1 v% K1 z( \

  g/ w) l* k% u2 [6 X reg [2 :0 ] sn ;
# ?. f8 A9 ]+ I1 H6 A, z8 x1 p. y
) B3 \* s& M6 Y* |; w1 q reg [7 :0 ] data ;
; w6 f: {, ^% c* G" J! G8 D7 B# A* P1 _% Q* u! Q) v2 {' F' u
reg [23:0 ] cnt ;
( C  b- Y# q4 \+ x5 E! ?/ o" q6 Q; O% J9 L- ]3 s+ d

: y  }% q/ W) L9 X" z' _& u' d2 c: z8 X. T% j9 `. B, Y  C3 {" Y/ i
wire       s0,s1,s2,s3   ;
0 k  ^4 h( d2 Z# G6 F5 Y7 J) E' p& |& ^
wire       d0,d1,d2,d3,d4,d5,d6,d7 ; - a7 r7 W4 }: v" q# Q& c3 J
6 G  u) L( v; {4 q7 a% }
assign     {s3,s2,s1,s0} = sn ;2 X2 `; P6 c* R: |: m( h% z$ ^& i8 \

& U/ M* d; o' c2 a0 M assign     {d7,d6,d5,d4,d3,d2,d1,d0} = data ;
( b5 e) C5 G: q! b1 E+ n" b- Q/ {9 `1 G. G4 @5 p  U+ S
always @ ( posedge clk )+ |. t) T; `/ `$ l+ ]# v# m- O/ ?

( y1 z' _9 k1 v6 G& ]& |/ a  if( !rst )  J% k2 ~  z3 [
8 l2 ?: \( t1 [2 @  h2 i- H
   cnt<=16'b0;
' _; D  b* {: l+ Z2 D# S2 j1 o+ q- V# |3 W% r0 c% a9 b
  else
2 N0 s  Y3 ?' v8 |# q$ x4 s
1 V0 B* J$ ]  w  o   cnt<=cnt+3'b1;
2 S' _  [* z# O, V8 L5 M# y; d, Y) E" {
wire clk_slow = cnt[24] ;& Q0 X  j& Q* B" H
, N' N+ [  \6 f
always @ ( posedge clk_slow or negedge rst )
7 c* W6 w! k" a1 q2 {! n0 Z" ]3 w% N1 i; w; T' @- p9 k, F+ J
  if( !rst )) u0 j' }* W3 k

2 [( T" P7 d5 \2 h7 I' S& r   state<=3'b000;2 G9 t5 O8 h" [' \* @, j" F! h

) g6 S# @6 @  L' K6 x  else
% h& A, R& p/ I, N* ^/ t+ p9 m3 ?8 z7 H- W( w$ I9 u
   state<=state+3'b001;
# d: H; ^4 ]5 l# {! Q+ w7 ~1 H2 L0 M6 Y) l0 H8 n, J: f/ T5 r, s
always @ ( posedge clk_slow or negedge rst )7 u5 S6 R2 E5 s/ G4 ^# b  h- O
0 J; E" F7 z; {4 T2 E
  if( !rst )6 i1 \3 O- L9 \# x6 e
; ]  ?2 W& U+ H* `$ V
   begin
2 u4 P' R: P  C3 q) Y" l
4 [8 b" V+ t% _" a    sn<=4'b0;5 Q- L( |! \8 G* S

0 d* e  A" P6 o/ E9 u% S+ g    data<=8'b0;
2 l9 d4 C- ]! Q5 ?
' C; n, H7 k) U- o  U2 v   end$ @& U/ r8 M2 x$ Z9 g

, W+ R+ |& _, R) P6 g) h( I  else
. _# R- [6 c1 S2 Z  @$ L: f# ?6 v; G# m) [! D" Y4 n; l
   case(state)  @- F7 v) ^7 Q. t+ m$ }

# Q+ K) P+ `5 Y, L    3'b000:4 G4 E: E. j( w) q7 Q- F5 O  S( D

4 X) g  Y- F! T     begin- s! C/ r$ p: R# Z

* `8 g) M1 I/ x# S* `3 G& A( B      sn<=4'b0001;- a6 g* H/ Z1 y# O

) n3 |: k" R( K$ N      data<=8'b0110_0000;   h$ ?: T" k* _/ @+ @

& [0 L( C. l% K" [; o$ a     end$ F- j% M$ ~  Y  [5 c8 Z8 w
$ ^6 B. T2 A! R1 T
    3'b001:" |* c" V# m/ J; m0 p

# w3 H- C2 ]7 ~0 F& x" e, w" u     begin% n! X* `! a8 H8 C" B
5 t! N+ U$ S6 Y8 Z( S
      sn<=4'b0010;
3 k6 C# H- A3 O" O  X; X
9 P) D1 I  q6 H/ e# |8 L      data<=8'b1101_1010;/ P. D, e7 V( t. B- W4 \

" C; g" F. X; E( V0 r     end8 M! ?  F; z% g. \$ _0 m: a* r

5 O0 D6 D) a8 s8 O, {    3'b010:
7 a% u/ b! N- a, m! a& f- i! P# ?$ L: l# }
     begin
0 \1 Y; V! |9 P7 d
. {6 ^6 n' n- `      sn<=4'b0100;
: h5 p) l4 X  T
6 G/ P' I/ ^3 x$ ?      data<=8'b1111_0010;8 y3 l4 v1 ?' U
/ I) C4 Z4 R5 P, \$ t4 w
     end
- H& J6 y# ^# E4 Q$ O# D
% G' M4 z2 L, l% {* n0 W9 e# X    3'b011:+ A# y. W8 u' J+ G5 j
: m7 I( M+ T8 n; ?5 `) `
     begin
2 C* ~" Y! [6 v  B" B# c3 r: A0 ~- [  P
      sn<=4'b1000;( ?& }- C, ^6 y0 o  {
" U( }- w+ m. h8 R7 P
      data<=8'b0110_0110;
* v4 B/ b1 b0 [+ d# y' o3 l/ U
1 @! x+ N2 J5 P' X+ A0 {( n     end
; M, ^6 \' Z  R- O' ?0 H: l. |, l8 x; }2 ?0 b+ \) M
      3'b100:
% D( D9 {& J+ {3 i+ d8 t
2 |9 U. \5 N3 ~. \$ N     begin
, a& n* k8 O" j; D( ]0 m2 z" U6 n) j8 I$ u% h7 Q. l+ o( m+ r
      sn<=4'b0001;
* i2 M1 S& \, F4 f) C" c4 O2 e: C+ O6 s- h8 b2 e. ?
      data<=8'b1011_0110;
* }& L  B9 t4 {3 W
* F. J! j; C- {! s# b6 h5 R1 _     end
+ k3 b$ t! X* }0 C3 v2 U1 D1 f/ E6 y9 \7 o( A, B1 j# f
    3'b101:
% M, y+ u' j' h+ t4 D
& N7 D* t9 N5 g+ K4 b( `9 j' \7 t     begin
7 {4 |/ V  U) M0 ]1 q
! V* H( t+ g0 X$ v- h2 y      sn<=4'b0010;& @- u0 T& D, O$ z6 g9 t. R4 H
0 n2 _9 a3 H- ]0 v# i  z8 a
      data<=8'b1011_1110;
* b/ _, e; o, W0 f  G: v9 n4 q3 R3 M0 g7 a. D
     end7 H- F7 W& _8 s4 n8 p& L, ]1 _
, i% h) `: u8 B/ v4 Y
    3'b110:
5 W. f$ {% F! k
. x; i6 Z6 R8 h% B4 T  e- R     begin; }& @) P  i0 c: E+ m# Q
. ]/ c: d' J: ]2 b
      sn<=4'b0100;' e' Z7 A( [3 q2 s4 ]
6 h1 U; @4 k9 o% L" ?/ T9 W# I5 y0 ?6 b
      data<=8'b1110_0000;
9 O, J9 K. O$ {" P' \8 u( _/ Y1 h, B
     end5 J( h( z' ~" w% A% ^

$ _- F+ `; t' A( \, C6 Z; a    3'b111:7 A4 _/ b8 d- j  s- e" x) ^8 ^

- j$ R$ B4 M: ^' E! q     begin
; r$ u( d& d0 S+ b, B3 n( d7 `# {
. y, f5 G+ l0 ?      sn<=4'b1000;
6 @* X# f* B2 G# T
* N# J, G' {- y: ?" K% i      data<=8'b1111_1110;' p- Q- d* G% e& o
0 Z. L  F/ @* L1 L, y' I
     {2 j% Y: [3 e4 [. H$ a; |
( c5 O3 R# K8 x# l
     end7 t! P% b) m  U4 V

4 l7 G8 S& q1 H* s7 N1 R( y   endcase8 H1 o5 G" q. u6 b/ |5 m0 {5 J0 ]
4 S$ {0 E  m$ x" f0 a# y, I9 ^: z
endmodule
: V' S+ D  q, z9 o2 c( {$ Y
" X8 u! f& b" s3 V" W6 b0 z- ^8 u这是我自己编写的一段程序,但只有前三个数码管显示123,567,第四个数码管不显示,按照程序应该显示1234,5678的,请哪个大神帮帮忙看看是哪出了问题?2 L9 l5 a  H( w; z0 u+ |) K
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2025-5-31 02:34 , Processed in 0.089058 second(s), 32 queries , Gzip On.

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

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

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