找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

巢课
电巢直播8月计划
查看: 1566|回复: 8
打印 上一主题 下一主题

FPGA引脚分配问题(DDR2控制器)

[复制链接]

15

主题

80

帖子

260

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
260
跳转到指定楼层
1#
发表于 2012-6-19 10:24 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

EDA365欢迎您!

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

x
本项目使用的是cycloneIII的芯片,利用IP核生成了一个DDR2的控制器,但是再分配引脚的时候产生了如下问题,如, g  q6 R! e1 ]
        Error: The assigned location PIN U21 for DQ pin "mem_dq[0]" is not a legal location
3 W2 ?$ }9 R" i" N/ r, @8 v/ B6 d$ y                Info: There is no legal DQ location that supports 9 DQ pins2 ~" h+ `1 M9 `1 ^. O& N
此时才知道,利用ip核时候,输出引脚是需要分配到特定的引脚上面的,,,,
1 D' {  j/ D0 e4 M3 J- m这个倒是没有什么,对于仿真的人员而言,是可以修改的,但是我的程序是跑在自己设计的板子上面的,而且已经制作成功,所以修改引脚分配是木有用的,这才是欲哭无泪的地方啊!!!!
# o6 |. P+ Z: h  n1 W% p针对于这种情况,有没有其他解决方案,而不是从新设计硬件PCB板的,求助!!!!!
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 支持!支持! 反对!反对!

15

主题

80

帖子

260

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
260
2#
 楼主| 发表于 2012-6-22 17:29 | 只看该作者
自己顶一个吧!
' @6 Q; p# L  ?6 t' [+ g法一:自己重新设计一个DDR控制器,这个比较难,而且时间不允许,放弃;如果走运的话,可以在网上找到别人贡献的DDR控制器,做一下修改可以的。根据本人经验,这个对于altera系列的来说,还真是少,有strrixt系列,但是cyclone系列那就比较悲剧了,大部分都是Xilinx的。全凭个人人品啦- S8 A6 v; l/ J2 o7 A
法二:重新设计PCB,这个是没有办法的,建议先配置DDR控制器,这样就可以根据FPGA来调整PCB,并且回想调整直到满意为止。0 P2 A* W. J# [( y- n3 ~5 L

5 k. v3 b. z( N; ?遗留问题:altera的IP核位宽只能设置为4,这个比较头疼,效率太低了,唉,,,,' G5 V) }! H- X# k! G6 q; x

* _5 a6 b5 ?: Z; Y% _经验教训:下次做这种IP核的时候,一定要完全软件配置完成,包括引脚配置,这样可以降低成本!减少弯路

15

主题

80

帖子

260

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
260
3#
 楼主| 发表于 2012-6-22 17:31 | 只看该作者
另外还有个问题是,我使用的是cycloneIII系列的板子,发现居然引脚输出支持的只有167MHZ,而不是配置时候推荐的200MHZ,无语了,估计这个与电平标准有关,不过我试过SSTL_18,一样问题,木有办法

2

主题

321

帖子

147

积分

二级会员(20)

Rank: 2Rank: 2

积分
147
4#
发表于 2012-7-13 08:35 | 只看该作者
教训表明,你没有认真熟悉这款FPGA就使用错误的方案,

0

主题

2

帖子

1

积分

初级新手(9)

Rank: 1

积分
1
5#
发表于 2012-7-15 15:33 | 只看该作者
verilog编写的程序有四段数码管分别显示1234,然后又显示5678,就这样循环下去?: J' n6 M# c4 c  N6 A. l

* i; x8 i5 o  U! [7 ymodule s4_7seg(clk,rst,; ^0 A  a2 E. N3 g- B' s- M  w

, k, X% o8 u" M0 [# R   s0,s1,s2,s3,
+ Y0 ^( k3 a9 E! C- S; g- x+ v( R- p6 S! @1 T0 j
   d0,d1,d2,d3,d4,d5,d6,d72 X9 ^+ a0 i3 J% {6 x6 R
3 ^2 A% E1 U) q8 k1 i9 _
   );. h. u! j% L; ?' J
8 c& V/ E: y$ I  R9 `- d/ y
input      clk,rst       ;
* d  {  P1 E- e1 ]/ }
* {8 v) Y; l7 w/ x7 M# K output     s0,s1,s2,s3   ;& w- b9 k( R/ A% Q) h, H2 R* Y: g

" F9 y* |1 o/ M7 O9 K- x output     d0,d1,d2,d3,d4,d5,d6,d7 ;
2 p# d8 k. W4 u- U  B5 J: z; v4 y
2 Z# r$ g/ m4 u& f6 P6 g2 g reg [2 :0 ] state ;) j3 `3 t8 b: {' i9 U6 J$ N, @$ w" e

% X$ l/ e  c/ s$ X2 } reg [2 :0 ] sn ;0 s. s; w" F1 X4 G5 {

1 a) F. w4 ~0 H$ z: T$ Q reg [7 :0 ] data ;
# k! C* Q& P9 R; _; s  Z5 S0 q: f
reg [23:0 ] cnt ;
5 I# D: u& W6 Q# R! k7 Y2 I( ?0 Y; @7 o4 q

+ U; Q/ J9 I/ [) K8 r- x+ J" o! ~
wire       s0,s1,s2,s3   ;; v3 v3 J5 Y: Y3 i7 n

% u3 h  t5 R8 B9 s( k  T wire       d0,d1,d2,d3,d4,d5,d6,d7 ; ) l0 j9 W9 n+ V9 N: ^6 o

/ o) E& ?2 v; k( {. D4 f3 b) f5 b assign     {s3,s2,s1,s0} = sn ;
0 G. m0 N9 E, X/ a; M) L* E4 j( G# g$ y- n  M* h* P
assign     {d7,d6,d5,d4,d3,d2,d1,d0} = data ;
# D" w& R/ h. j. n+ o- ]5 ^, d  f, j# M& I
always @ ( posedge clk )
; f& G$ x. j$ O% }
/ S. i/ E& z: n. O; ?  if( !rst )) w: c) j7 P2 G: Y# I+ R
0 m  ?0 X- a" J( G
   cnt<=16'b0;
. c. b) x) m  D0 x8 l5 I) p) z+ e  O8 E7 J* Z
  else2 }# }) C% h( v: y
# _  q; n; [$ E! C3 L  q8 L* l6 O
   cnt<=cnt+3'b1;
& g& ?7 q7 G( D9 P% V- D
9 O# p, e/ w2 K  G3 o7 d wire clk_slow = cnt[24] ;3 O+ D) B2 s" c5 m. P) G
0 F0 L5 u$ ~" T( P8 |, L9 T
always @ ( posedge clk_slow or negedge rst )& I! i' X8 U1 d( _* i6 S: c
1 j, c  f, D% H0 P9 }% C! G
  if( !rst )
# n- N0 Z9 y- A- h1 P* {' t0 j7 a3 J1 O& ?: G
   state<=3'b000;
. {! \; ~: q# M/ g8 M( _" l- O) s, c; c& q
  else
/ w# t& n6 f: [6 S
# P5 X: o% |2 M" ^/ ?   state<=state+3'b001;
. N- q- M+ a  p8 G1 ~
5 v: l" |; e& Z9 k+ u. z) h always @ ( posedge clk_slow or negedge rst )
: c$ Q9 l5 [  z* d2 G, K) l& D+ _# h( z
  if( !rst )0 Q) f2 ?8 _7 g4 F) I( _6 t

4 q1 h/ U. _/ l   begin
( e! k! e6 H8 z$ i/ D5 D3 i2 w" s6 l) x% r
    sn<=4'b0;* l( a1 |2 q1 e, U; f

8 {2 S1 x, Q9 f" S" C: C8 K7 Y    data<=8'b0;
8 p. }2 X; c0 k" n' D) V9 J. p
# a+ T6 a2 u, s5 @   end
, t# t3 d0 E+ x5 W+ c% U6 a* ^" v: U3 Q$ L
  else
- x6 C& \/ `% Q: X! p1 ?( `$ p! s! l8 Z9 J# B
   case(state)
# X9 ~2 S- j3 C: K, ~& @6 g
+ ?2 Z; {" C6 H    3'b000:
4 e0 V$ O( r1 z
9 U% ?( [; K( C- g: h& U: l5 q     begin- P# J9 v4 o. \

6 G( \1 a& N2 W" V4 h* |      sn<=4'b0001;
8 X( E( I1 L/ E8 N( f9 [" x
& Y; }% X2 ^0 d. @5 w      data<=8'b0110_0000;
, \. ^; S/ }6 ]( r( j
6 T2 a2 w" E5 u# }$ i     end: I8 K9 b4 I! {# o9 p

; e  Z6 v: d; y9 M2 \6 m, @    3'b001:$ g5 ^  {. m9 E) {1 q
9 r; k; T  `4 z8 ?
     begin' t1 t8 W+ `! |2 M% i

" h' k9 C/ c- c% L      sn<=4'b0010;
* X6 V8 w+ n5 B8 L0 C- [# B/ ~1 k) B4 K
& K! _6 @+ E) ], C( Y; I      data<=8'b1101_1010;8 K  x) L% y+ |, F# S9 \3 E

5 e. ?  z  a# `  Y% g, X# \     end
# h! J% O/ s" k0 s0 q
0 B% p3 ~+ z: ~- p! @! @1 W    3'b010:8 n; g5 w/ o/ N
- O% x) G4 W! E" L# f0 N. \; L
     begin
" O5 d1 e( x$ h% n/ R
' i6 W9 X3 ?) n) W6 v      sn<=4'b0100;8 [$ j" z8 s5 T2 W* b
+ E, ^$ V6 Y4 E  m
      data<=8'b1111_0010;
5 K2 A, F0 a5 L1 k1 i7 A) {. M3 \3 t% u4 {- G' B4 Y. `
     end+ N+ d4 a+ [0 A4 a6 _6 q
8 ~" H2 r/ r) L/ D1 i- {
    3'b011:! V0 _% L/ O6 r( Y4 _8 p) s! q- |3 K& e
: S) |% ?: A$ g5 |$ {
     begin+ M/ O6 L4 r* N4 C

: `) I8 b# P! t9 E/ `! o5 _8 d; i      sn<=4'b1000;
( h7 B, u' m/ M9 K4 ~. Q+ \5 I% u
      data<=8'b0110_0110;
! n; \; F; h( i9 f! m6 j! U2 F8 E/ h0 Z" L7 p$ X8 E8 u3 f
     end
3 \/ }# V/ V4 p; ~& D; Y& X" H$ c7 M0 ~1 q4 s
      3'b100:
7 M! M" ^3 V2 ?  E( z5 Y' x$ u! R; d6 Y$ Y: J
     begin
2 ~8 T3 \  A& C! l9 r( \
- J( U6 D+ @' D' R      sn<=4'b0001;% X7 s) H) }" [5 v# N" w

2 K- Q; @. N: L0 d      data<=8'b1011_0110;5 w) b: c# G( {, P. b( m5 X
) _4 R  g% M" J8 f- p
     end& ?, `5 M) _; Q0 }2 ?% I8 M" V

# V  a) P6 ?, i8 B3 Y! G$ ^    3'b101:
$ O% V0 f, J7 l& z- I% U0 C
  k7 {* i5 _5 J: i, Z     begin
7 r2 S; P& d8 V/ c( k- A% V. N
% F0 X0 ?; M( z; ~8 i2 H      sn<=4'b0010;
5 L) o8 g; L; S% [) f. g
2 `" K' \' K" a& b1 U, \) u) ]9 T/ C      data<=8'b1011_1110;& z* d: i/ g+ j/ E) V/ e

# Y3 r$ W  O2 {; O     end
6 {. Z+ ?' M! l$ J4 u9 P% @7 ]+ ^1 s
( g* G* z: g5 A/ e$ ^) x    3'b110:
0 i5 T' o: Z7 n7 g
0 M- \. P& C( P- G* h     begin9 _$ z; l5 X$ f+ N$ {& {1 y: a. q
2 A# b; ^% I' w: q8 v
      sn<=4'b0100;
' E( f6 O7 Q% g+ @8 y9 p+ d3 y! A$ K; E, d& P* K
      data<=8'b1110_0000;
. S6 z$ P" c- {
0 \# r" y- ^0 d/ X9 L( E     end
& \% t3 B$ Q+ ]& }/ E/ z* }# s' L( l0 z9 y  ]  K3 C
    3'b111:( l" R# x& h% j8 n( i* T: {) G$ H

: V7 C* N* m3 D4 x     begin0 x- S$ L, N% b3 `7 w

) S& d' u  I! L      sn<=4'b1000;
# a3 _! f1 F! n$ c. l5 Q3 v6 Y, x
: f1 l8 D, E1 Z. v4 R" Z. k      data<=8'b1111_1110;& ^+ ?* b# v; {* [7 n. P( T

3 F7 b+ S! E) w0 ?& b" x   
( [7 }" N! v# t! `0 ]: a& ]/ O- ?# d2 c% h! P4 V. N
     end9 ?" |6 U" Y3 Z/ F8 z
' K6 R. N% ]' C: }8 R7 _5 M/ u
   endcase! d9 ?7 o( c2 t7 c- W

$ T+ X- w3 W' E! a: D; a, T. nendmodule( y. T' R) b/ F. F* X6 A3 [, _

1 |' o/ K0 f+ i9 Y; s% c! E这是我自己编写的一段程序,但只有前三个数码管显示123,567,第四个数码管不显示,按照程序应该显示1234,5678的,请哪个大神帮帮忙看看是哪出了问题?. ^3 N5 ^- z6 `' T0 l' z* E1 S) ^

15

主题

80

帖子

260

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
260
6#
 楼主| 发表于 2012-7-18 09:12 | 只看该作者
huangzj 发表于 2012-7-13 08:35 1 l  T% X+ f6 h. ?. R: H
教训表明,你没有认真熟悉这款FPGA就使用错误的方案,
  ~# x5 l& F5 L
确实,才开始入手这个东西,走了弯路

15

主题

80

帖子

260

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
260
7#
 楼主| 发表于 2012-7-18 09:13 | 只看该作者
chenbingen 发表于 2012-7-15 15:33
' F! S. y4 g: A. c1 p) F8 Pverilog编写的程序有四段数码管分别显示1234,然后又显示5678,就这样循环下去?
+ q: `% H* B# D, a0 {, P
3 P/ b! w% _+ ?5 tmodule s4_7seg(clk,rs ...

% G2 U2 s& s* n, t; }3 E) ?第四个数码管有问题!

11

主题

62

帖子

399

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
399
8#
发表于 2012-7-19 09:21 | 只看该作者
硬件可能要重新设计了

15

主题

80

帖子

260

积分

三级会员(30)

Rank: 3Rank: 3Rank: 3

积分
260
9#
 楼主| 发表于 2012-7-20 11:47 | 只看该作者
绝。对 发表于 2012-7-19 09:21 9 W' i6 _  V# E6 P7 q, M
硬件可能要重新设计了

( `( K8 R1 l* s4 i6 f( W5 X已经重新设计了
: Y1 d4 H9 u' A4 T) DOK了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

关闭

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

巢课

技术风云榜

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

GMT+8, 2024-11-28 02:34 , Processed in 0.066290 second(s), 39 queries , Gzip On.

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

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

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