找回密码
 注册

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还不会,迫切需要进一步学习,希望版主继续讨论!!!6 Z3 P: }" g0 ^2 z3 u

6

主题

34

帖子

55

积分

二级会员(20)

Rank: 2Rank: 2

积分
55
170#
发表于 2012-3-13 22:13 | 只看该作者
下面是FPGA内部FIFO的一段verilog代码,抛砖引玉,希望版主把学习项目继续,一起提高。! V9 _0 u9 u* g
module fpga_fifo(
- N" v( t' B1 g% s1 M8 o                        rst_n,6 B" n0 ~& O- \7 Q8 y- y: N
                        iclk,9 |! k" U/ @5 d$ {7 q
                        idata,/ x% T# o, z- r# Q: r6 b
                        oclk,
4 A  Y2 J/ ^, K. d/ y, O# ~                        odata,) `: {5 }8 R# P) ~6 F
                        fifo_empty,# p% W- m6 g( c. W# {
                        fifo_full,
6 }& s6 A" X4 f% Y5 O/ C( A                        stop,
- q+ K" R. F# M2 |; v0 Y) N6 S                        flag
2 O# C' k# K) q' i3 U2 n2 S) Y                        );+ @! J- z7 U/ L
        : N8 s, K; q" |0 s' P7 ?1 Z
        parameter length=10'b1000000000;
9 ]/ M( }+ a: ^1 e$ \        parameter width=16;  O; o  B/ v( r6 K1 I
        //parameter dimin=6'b000100;
4 r: W" @3 G  E% A, @6 {/ b- N                        - {) R7 r; X8 f
        input rst_n;    //启动
" R2 [% E8 Q0 B1 I( f* d5 K2 [        input iclk;   //输入数据时钟! ]" W' P" O" V0 a
        input [1 :0] idata;   //输入数据
$ P; e5 e6 N  W. V, Y        input oclk;   //输出时钟--接USB同步时钟: J& d& P- I$ |6 Q  h/ H3 s$ q; w
        input [2:0] flag;
2 `, |. g% A) E6 e, J
0 M4 D# I3 U3 `$ }3 w1 p
* ?, }7 h9 j1 Y: s! j8 d3 g3 [- f        output [width-1 :0] odata;
% o7 w' n: f6 L7 E& b        output fifo_empty, fifo_full;, N+ M: a1 \; f6 P/ u
        output stop;, H9 S* G+ h  j: B
! B% m3 D  D$ ]8 {) M
        wire        [2:0]                data_set;" g! a: D5 a9 X- [7 d& ?
# |/ z" x+ l3 K0 r$ P* J
        reg [width-1:0] fifo[length-1:0];: S# r5 Y' {6 j. B7 T
        reg [width-1:0] idatabuf,idatabuf2,odata;
6 C9 r! n  e& {1 S/ K4 u! N7 {        //reg [1:0]                idatabuf1,idatabuf3;
5 b1 ]* Q: W9 G$ ^4 W. k        reg [9:0]                 reddr,wrddr,wrddri,wrddro,wrddro1,wrddro2,reddri,reddri1;( g$ v; b/ }( v. N- K, W
        reg                         fifo_empty, fifo_full;7 b9 t; a+ A6 W3 W: m- Q
        reg [1:0]                 clk_set;; J1 a! Z/ ]3 D* f
        reg                         fifo_empty_tmp0;
; `1 e7 U  b% Z; t6 ]6 T% b' v' ]$ R7 F        reg                         fifo_empty_tmp1;# M* x( O' z9 W
        reg                         fifo_empty_tmp2;
, `5 D" N  T- z+ n+ J        reg                         fifo_empty_tmp3;7 m, D1 [% @0 T3 {9 z. Q5 l
        reg                         stop;# R+ \3 C* a4 e$ n$ i
        reg [31:0]                stop_counter;
* Z  }2 |  b6 C
) _1 \6 _6 A$ _& Y5 m* \        assign        data_set        =        flag - 1'b1;
+ F3 E! K) t2 @2 }6 c1 ~: n, p, P) H2 C$ T% `2 u1 F) R& q
//-----------------------------------------------------------------& s7 U& A: \, _4 D5 D" ~1 e
       
7 W. V! P, B$ {( Q) i. T+ q- Q        always@(posedge iclk, negedge rst_n)//输入时钟域( N/ o- g8 u$ m" G" w2 A
        begin4 _1 }% D8 h8 i) m" p9 Z
                 if(rst_n==0)
/ B2 I' L4 ^( Y7 v' m                begin5 |% J  m* P% j+ n- K
                        wrddr                <=0;
6 }( J: H' v& C- t7 N( v) V                        wrddri                <=0;: o. O" S; m! Y' \) L; V
                        reddri                <=0;) i) T  w" a3 B8 A3 p+ B9 _2 d" {
                        reddri1                <=0;7 F. |! `* t, Y0 M$ d; H
                //        data_set        <=0;- G: b- J* M7 Z6 Y3 i$ E) \
                        idatabuf        <=0;
; ?/ g3 e* o! F1 |6 H( j                        idatabuf2        <=0;* g3 K8 I  I3 o7 g
                        fifo_full        <=0;' g* [* `% U5 l9 X4 `
                        stop                <=0;2 b$ p% n, z. O7 U/ C7 D
                        stop_counter<=0;
- N( v: ~% l( V* V                end
! O- D7 j% d7 p( K4 f                else ; T6 m5 A; l  q5 [
                begin' z" z& Q( o- Z  e8 y1 v
                        stop_counter<=stop_counter+1'b1;
' \, _- u7 T4 p. D4 U                        if(stop_counter==1800*1024*1024)stop<=1;
; a1 y6 F" y4 q( X                        case(data_set)& `# s! k: e* o; x
                        3'b000:idatabuf[7:6]<=idata;
) d3 ]( G8 {! @                        3'b001:idatabuf[5:4]<=idata;
/ A9 V0 o. z4 v                        3'b010:idatabuf[3:2]<=idata;- E: u% [& N  e7 W& x6 Q0 J
                        3'b011:idatabuf[1:0]<=idata;
- E# U4 {& {' ~  {& }' U- x                        3'b100:idatabuf[15:14]<=idata;
& U% d; E! P9 s5 m" C# P                        3'b101:idatabuf[13:12]<=idata;5 B5 M- K( B8 W$ Z2 c
                        3'b110:idatabuf[11:10]<=idata;
/ f9 a4 I- |0 j5 i! D3 Q$ I                        3'b111:idatabuf[9:8]<=idata;
/ ~  C& K' N" V4 C) y! P4 G9 M                        endcase' e" T0 \4 T* f
                        //data_set<=data_set+1'b1;
( F6 E0 N, G& }2 ?% a) ?" \                        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 | 只看该作者
没看完~~~~~~ 先顶,好同志' L# F" R9 M7 l) G
6 Y) m4 A: u% |1 h& I& k9 B8 F# E

. Z  C8 T3 f7 E2 _& @4 s- Z# x7 |2 |0 }& r! Z
2 ?' {( m) `0 L! `9 i
" P5 ]( e6 {0 E2 \
* S8 E* D2 v9 r% p% H9 l  R8 \! \

7 U  B1 R* I; x& \! ?/ z
+ l$ ]1 u/ a2 M! a3 R8 O5 i; M+ c9 h6 [9 G5 l

( d9 F) y- k( O8 V- B" ?7 _: q. G+ C4 p

+ E- H/ B. g" @$ n+ R" ]5 f, m好看电视剧2012 好看头像

3

主题

82

帖子

107

积分

二级会员(20)

Rank: 2Rank: 2

积分
107
173#
发表于 2012-4-24 14:56 | 只看该作者
我也想学,希望多多指教8 S3 e; X4 e( L( P) X; ?. s# c3 a* U
你的i2c的应答位有吗& X7 Z4 P" y; g( S$ c

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,就这样循环下去?
2 }2 o$ J/ E9 Q2 }module s4_7seg(clk,rst,
$ N6 o- V" n  I, i9 Z- `  _
+ @, B, i2 Z4 @/ w7 U$ Z& E3 |7 K   s0,s1,s2,s3,/ c5 a; I1 f7 s  M" ~8 e; y

) U9 g3 e' G" b! h/ K   d0,d1,d2,d3,d4,d5,d6,d77 n. a  l! J6 t  s+ o/ m4 h7 i, `

  T0 _/ w' `( H/ n1 O* L   );: E3 z$ w' O, ^: F+ c4 ~: R/ P
8 Q1 k( p$ z: G1 y/ N" }1 P" B
input      clk,rst       ;
, _/ o) Q( B7 K8 `2 F3 s4 t# T1 Z5 S# K! E* O& k# L9 R
output     s0,s1,s2,s3   ;
6 n# f3 E3 t: F$ _! G& {6 w& {! f  Y% x$ h3 }9 ?: o
output     d0,d1,d2,d3,d4,d5,d6,d7 ;
* p; _0 {( y$ E( R2 d' a( T7 e8 z5 |) `& z: \
reg [2 :0 ] state ;
, e9 ~3 |3 t1 |+ t
6 i( y7 b1 g. X1 K reg [2 :0 ] sn ;
" u/ s' [+ f4 f+ @8 X! i* y( `$ Y2 R% n* v( P. i
reg [7 :0 ] data ;
3 f% v1 O$ c# ]: J; T, g9 g* i- l5 t" b
reg [23:0 ] cnt ;
- x; @+ c* g# |* _: x5 L5 q
& J2 \" A& j) N
( i' [; S+ O2 [/ N' Y9 `/ w
0 E3 \4 K$ Z% ^3 F% M, j wire       s0,s1,s2,s3   ;
. I/ B: L/ e8 V0 M6 }; T
0 d/ Q: T* f3 E( l. r2 }; x wire       d0,d1,d2,d3,d4,d5,d6,d7 ; 6 v$ E' ~# H8 z/ H

' ?$ F2 J3 V, Z) @( {; x2 B assign     {s3,s2,s1,s0} = sn ;
6 S1 r0 W" ?! s, q1 |/ M/ L! G8 P" `/ G  m- I
assign     {d7,d6,d5,d4,d3,d2,d1,d0} = data ;
4 q3 T5 U; T0 |1 h' ^" A# q7 i" K7 K. ^% @4 K# I& R, B3 u
always @ ( posedge clk )1 C: ^- m1 p4 K5 A( p
  E" U( n/ g( ~- Z2 O6 R
  if( !rst )
: {* ]& x+ E2 v* t
7 x. B- D. @1 s9 i1 s. ^   cnt<=16'b0;  l* o, |& R: w. k7 A
8 X6 X& R1 z3 v1 Y; N: I
  else5 k) [& ^, W/ Q7 O

, X3 Z2 ~% m. D* U, B# `+ H$ Y' ]   cnt<=cnt+3'b1;9 N! X& j4 C  s' E- [
7 K) p! ]" T' K# p) ~
wire clk_slow = cnt[24] ;
, ^) [) J9 g% d* z. C( {& e% N/ J
always @ ( posedge clk_slow or negedge rst )
. e5 p2 f/ k9 f: d2 p7 l& O6 X* l# t/ ^: u- S! U$ N* ]
  if( !rst )# R+ C. S' N2 r
* L: S% n. z6 t; q/ I3 l
   state<=3'b000;& p( X4 d$ C' x5 V5 U4 J+ z

  _2 f$ U2 z* P2 |) W  else3 v* ^* ]: L$ K& [5 C( s+ ?# C* t
7 P. P( _% p6 O( D$ q5 N
   state<=state+3'b001;* I! |+ n( m. R7 h" G# e( c; Z
# V5 [, _' h4 }6 k) q# q
always @ ( posedge clk_slow or negedge rst )+ X1 U) @3 A4 \
3 H4 o* ?8 V2 E3 |3 ]8 a6 T
  if( !rst )! C* q6 d* t2 T6 V4 ?

8 q( G9 x3 I6 w( ], n* _   begin
/ w1 X2 w0 @/ j8 e
) m' D) _1 J* M# t1 J    sn<=4'b0;& @! ^" A, X; C* X1 W
: z) Z) V( h' h. @& M
    data<=8'b0;2 C  R% y! s2 X3 G+ A+ E

) ^8 I# p" u9 u% S   end2 y2 O1 J# E+ S4 K. i, ~8 c
- A* w1 \- |& Z! b$ I- z3 O! `: q
  else1 A( _8 j2 [; W; x7 s! {2 e
8 h9 G& W3 r: d# w7 d. L
   case(state)
6 y" t6 y: f- y
$ ^: \  i0 v" P2 E* m( t    3'b000:
: U7 n1 O+ S( I  y+ O, L  @- @* c9 t/ X' `% O7 f
     begin
* T/ y' N0 ^( y( y
) T, O$ f! ~2 r- `2 T      sn<=4'b0001;
" {! t6 ^! m, J; Q
! \0 V8 w6 M+ S5 B* E3 H. D      data<=8'b0110_0000;
* L4 ~# _3 V  f1 i' Q1 K5 |5 k9 \6 S" m7 B5 v8 K
     end7 s7 @  Z' Q, C6 L2 |( J% N
8 C8 g. I$ v+ \/ E1 B3 Z
    3'b001:- j; X0 a9 |" n) R# F9 \
; v! E. K+ i# A, D3 D
     begin
& a  C4 B3 T! R! a- K3 O4 R- c* }, {/ U) b' l
      sn<=4'b0010;
) X' \+ @$ C5 w& T- x
0 l7 D) L1 h& W" ~      data<=8'b1101_1010;5 ]( S' ^: K7 M5 R
2 S2 C4 ]# }! g6 c& M0 C
     end- C, p$ Q( j: _7 x( V* E

% @1 u+ e' g. h3 Y    3'b010:
( R! }& z" e7 e: a+ p: L6 d. U, E6 f* H) Q' K7 C6 A% j% b
     begin
; l5 c/ }* D; k' R3 s  w
% c4 l6 Y( g+ [, w  e6 A      sn<=4'b0100;" y9 O# d/ ?8 M' o

6 V, y/ f6 W; \. i: W( U& {2 y& R* x      data<=8'b1111_0010;
: C* }8 O- d- m7 w- S. \& `5 [" V9 i1 f% V9 d3 W
     end" Y6 \- f; f/ O9 _9 k, I" ]  P

5 U0 b& q. z* F* x    3'b011:4 S6 @) b& c4 D9 d2 D/ t

) e+ `, H' K1 P/ I; n+ R. T' f     begin
3 u% f- \9 Y: W% K$ d1 {0 @
  f5 Y' h2 z  i0 D7 L: ?      sn<=4'b1000;- [7 x- B/ [7 l; ^# p( v1 f$ H

* B/ Y- X( H; U4 M, R! v      data<=8'b0110_0110;1 o: Q# ~& x) r% S7 |/ m

5 e! w9 y6 M0 z! C8 y  |     end( r  W# c. J1 v1 t* C/ V: K( y

0 _0 y7 [+ [0 K, [" ?/ r) @/ N      3'b100:
0 W/ z1 |3 G5 g3 h3 b
3 p2 o. O2 s5 Z/ c% ?# `8 z     begin9 }  ~, [( q: ?* @. U( D0 B7 j
/ U. _- N: T- Q& \3 V- s  X2 m6 X
      sn<=4'b0001;: n: S. T5 s8 j7 [. I
  b! N( l' d; z. J7 K7 L
      data<=8'b1011_0110;
  g* Q- }. `4 h
# Q$ {+ B: a; G3 G) ^; E  _     end4 \& Z! b, b5 w- d) O2 l, X0 |
# ^) p( c- A0 G) M) c; v. E
    3'b101:" A' a! m# s" e) ~+ ?0 F- n' g5 n

; ?0 \! t4 T* V( Y+ Y     begin. r9 }9 n$ P% J( _: h3 T. x
6 K3 i3 L6 x& i" H4 {$ ]
      sn<=4'b0010;9 H1 r! Z6 G% L- a$ q% f
4 c& I* C' H2 [$ s$ d! N. b
      data<=8'b1011_1110;  p3 u3 m. m2 E9 [) C' G

& o7 u, W1 m4 ?8 W9 l     end
+ c6 l5 j# x) R8 Y& c9 k" z9 U1 x4 i/ P5 ?4 c# F% B/ _- E
    3'b110:
/ z" c2 }& J; f" k4 m! h9 @# e9 h5 h, d: i5 k: b
     begin
" J5 q% g( O( j6 e  r  w8 @
/ E; w* {4 E: e      sn<=4'b0100;1 W9 I; H& A& c0 e

. L4 K0 }: Y! I% L. y      data<=8'b1110_0000;0 c/ r$ x& d, |
2 A8 C' k6 i( `9 W" W
     end5 P) d7 k& ?4 H8 j

+ a4 J( f* f! w    3'b111:. x9 b9 U! A" D' U

- ~: x  }- G  j; e- t. n3 @     begin2 ?+ S. V6 q6 k; M+ q
6 g: U+ m9 {+ Z$ F4 i" H
      sn<=4'b1000;9 G4 l' K& I8 P% ]. A0 s
1 O, G0 D2 O' \: F/ a
      data<=8'b1111_1110;
# |% R9 u8 f5 h0 Q0 g! ^
& L" O5 ~  t1 A. n' l: q) V# H. i; D   
3 n" M8 o+ N3 v3 v
( d$ ~! I$ i$ h. |. f; t     end
. ?, k. H- y6 O% ~, N8 [* s
( f+ N' _: `. ^6 i4 n" J   endcase. U! y  O1 T1 k1 V' l. [, [

  f/ U7 R$ w- Xendmodule# O; H& Z2 r- q0 O* v; V
0 @3 u+ C7 j0 g5 f$ f  k
这是我自己编写的一段程序,但只有前三个数码管显示123,567,第四个数码管不显示,按照程序应该显示1234,5678的,请哪个大神帮帮忙看看是哪出了问题?
! F  s. Z- A) W. H. N
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

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

GMT+8, 2025-7-5 15:15 , Processed in 0.077170 second(s), 31 queries , Gzip On.

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

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

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