Chip123 科技應用創新平台

標題: Altera Cyclone II (EP2C35F672C6)燒錄 [打印本頁]

作者: difgor0426    時間: 2008-3-6 11:03 AM
標題: Altera Cyclone II (EP2C35F672C6)燒錄
剛拿到這塊kit,寫了一個測試sw跟led
# r) D+ S2 I. {: _//==================================================//
4 ]3 E5 i6 m! B% [: e$ p" u" h`timescale 1 ns/1 ns- q: ]! G- C7 q9 Z

6 Z; v8 [9 S7 j/ z8 W( V+ Q  module  test_001(
3 q" B! Q5 R7 P& V                   D,
1 d$ ?0 W3 H- J1 z. L                   Q,1 L: i  N/ Z0 m4 [
                   clk,
0 F6 K: H, K1 x1 p4 n                   reset," F  j+ u; x+ A
                   QB4 }0 V9 s( y) c
                   );
2 g2 D( \, \, K4 Q' Ainput   reset, clk;$ n, j7 s3 [! H$ z  T
input   [3:0] D;
: V8 U) F* g5 y- ], y7 Moutput  [7:0] Q;
6 s9 H4 k7 A* }5 V; z* \8 c. `output  [7:0] QB;1 J* Q8 J( m& T. a1 D
wire    [7:0] Q;( ?6 f3 n- |  s
wire    [7:0] QB;& P7 d) {; x) V& a' d' f
reg     [7:0] X;1 A7 p2 l9 [. Y
reg     [7:0] a;
( J  u! I% D2 k* W: f, a6 ?' k7 z( `' u: i3 P4 d

; o5 A( f5 |3 y/ W2 Z- T& H6 ^) s; s* Z1 f0 r. R+ G

  s1 l* E5 T  [8 k$ I2 q' a" Ealways@(D)7 ~) q7 t) ?& |5 Q7 {0 v' t
  begin, z4 b# j  \7 _# ~
         case(D)
" ~8 i7 ?9 _  P5 W! A& A             4'b0000   :  X = 8'b0000_0000;2 |6 A! N3 o' V# X3 v
             4'b0001   :  X = 8'b0000_0011;$ F* T+ Y: z7 q
             4'b0010   :  X = 8'b0000_1100;1 X- ~8 Y2 A$ z* W9 J' h/ Y$ S
             4'b0100   :  X = 8'b0011_0000;+ V) D; H7 B) x0 t' Y- _
             4'b1000   :  X = 8'b1100_0000;- _" `& N1 [$ P4 v: z2 p5 f
             default   :  X = 8'b1100_0011;; g3 i! r& e! n* h: c
         endcase    # k1 Y/ Q4 y2 ^
  end             4 }4 a. `, U. O6 ^& X: |" R
  2 D3 x$ ]& b1 ^, i5 L% O" P9 J1 k
assign  Q =   a;
4 L/ c  d' i+ u9 r8 L5 I3 [5 k; \1 d- bassign  QB = ~a;( ?' ^% b' S+ r% Y$ H1 m' s
             2 g5 J/ F% h7 v# N* u3 T; o/ B
always@(posedge clk or negedge reset)% E) N, v4 s$ k( i/ w1 Z1 ^3 ^* [
  begin; A5 O. b9 |4 A# ^: @8 H- s
     if(!reset)
" m  p0 s  e& p* R6 _- L8 R$ i$ W: \          a = #1 1'b0;
. m: V. G" _7 z     else
) w. _1 U7 l) o# S& S" E; @          a = #1 X;
8 c+ I2 a. k1 h; U  C' [) n0 ^  end                                  , s7 {( y- l1 u9 T, I' t4 V3 X
   3 ~! a# e" ~1 \4 I) O5 U* g% m) ~
  endmodule
8 k! Y2 G' B8 j6 Y. t  [! ]- L//===========================================================//
0 H" h0 x; o/ k$ }然後以下是Quartus產生的qsf檔。
* Y9 O" V/ a" ]1 L% Z0 ]2 C1 j//===========================================================//2 _! `" ]7 j0 ~/ {5 l8 {
# Copyright (C) 1991-2006 Altera Corporation- I3 r" v! Z4 G0 |) ]: z8 A
# Your use of Altera Corporation's design tools, logic functions , G1 W0 a) ~! @. |* P' x
# and other software and tools, and its AMPP partner logic
' g3 h. p1 f$ U0 o$ R# functions, and any output files any of the foregoing
' y+ O2 N9 Z0 U3 J. r+ O# (including device programming or simulation files), and any 3 R) f. w# d! _6 l( B) \) u7 Q
# associated documentation or information are expressly subject
* i, O* b! d9 _$ V# to the terms and conditions of the Altera Program License
/ z) N% e3 T( \/ j1 w- f# Subscription Agreement, Altera MegaCore Function License ) U/ P# H. D' s4 E# t3 `- I1 S% Q
# Agreement, or other applicable license agreement, including, 9 e0 Z0 a* X. {- }
# without limitation, that your use is for the sole purpose of
5 r/ q9 K1 v# R; A# programming logic devices manufactured by Altera and sold by
: L: n. n8 p$ S8 U# Altera or its authorized distributors.  Please refer to the
# }! i5 [: `% G  w; h) x. i7 t# applicable agreement for further details.1 }6 ^" k) h& g9 h4 ]. o: b1 C  K/ D0 r
7 N4 b, B: A- J( r8 e# _

" y6 w0 s! o+ D  T* Z, E- z' ]% R# The default values for assignments are stored in the file: s, L! I6 Z2 l8 h6 s
#                test_001_assignment_defaults.qdf
/ G) |2 c: [5 G& k: X. ~# If this file doesn't exist, and for assignments not listed, see file
' h; n  Q9 y) T5 D" z: T$ ]& Z#                assignment_defaults.qdf
. }% ^. z# x$ C$ R* t8 b3 J9 V& b2 [$ f) I: ]
# Altera recommends that you do not modify this file. This0 o) @, g  M; v3 k0 u
# file is updated automatically by the Quartus II software- ?3 \2 T8 c$ ?: Z5 y6 t
# and any changes you make may be lost or overwritten.2 G" v$ h- ~; c+ j, k
! Z- v% ~0 \' X9 ^) n, e1 s& g9 h

- B* W; D# u# ~+ z) l2 [set_global_assignment -name FAMILY "Cyclone II"0 m* G& [, |3 L! Z+ V% z, _
set_global_assignment -name DEVICE EP2C35F672C6
# \% @7 C" r! l/ F5 C* o) g" dset_global_assignment -name TOP_LEVEL_ENTITY test_0013 x6 K; @, Z1 {5 t
set_global_assignment -name ORIGINAL_QUARTUS_VERSION 6.0
+ ~) ]! a* Y+ V1 aset_global_assignment -name PROJECT_CREATION_TIME_DATE "09:57:03  MARCH 06, 2008"
  F$ O0 `, G) z' M8 {- C7 i; qset_global_assignment -name LAST_QUARTUS_VERSION 6.0
. |* a: y0 v% @9 U# P& a) \set_global_assignment -name USER_LIBRARIES "D:\\Altera II\\970305\\test\\1/"
& \) Z4 F: Y# }+ a9 \* ]set_global_assignment -name DEVICE_FILTER_PIN_COUNT 672. \# F1 X2 ?2 Z
set_global_assignment -name VERILOG_FILE old_test_001.v: z' k, S7 k+ C( K& Y) V
set_location_assignment PIN_Y11 -to D[0]
" y; D4 o( C2 b! k8 c5 bset_location_assignment PIN_AA10 -to D[1]! y8 ~+ @# ^+ U+ Z! Y1 u
set_location_assignment PIN_AB10 -to D[2]
! s' n  @4 o- q: ^5 l3 E( }set_location_assignment PIN_AE6 -to D[3]
# r" ]. d  L* tset_location_assignment PIN_AC10 -to Q[0]( [! ^" r# O9 [
set_location_assignment PIN_W11 -to Q[1]
2 ?1 _8 q. }- l3 f8 b- F7 bset_location_assignment PIN_W12 -to Q[2]
% _1 m+ b% Z, }( o# \) z; P$ z4 G  Aset_location_assignment PIN_AE8 -to Q[3]
8 c& l3 Q' H+ Nset_location_assignment PIN_AF8 -to Q[4]
9 `, F" _5 F. I" |set_location_assignment PIN_AE7 -to Q[5]
: q+ ~. ]. _- Y7 ]# Oset_location_assignment PIN_AF7 -to Q[6]
. q& q/ p. ?: z( X  q7 A- E& Aset_location_assignment PIN_AA11 -to Q[7]( s7 Z' N9 A% ~
set_global_assignment -name SIGNALTAP_FILE stp1.stp
) _& B% x$ v* W1 h$ k! e  _/ xset_global_assignment -name ENABLE_SIGNALTAP ON  p8 C. |( V' Z( D# E" k. T- c9 g' X
set_global_assignment -name USE_SIGNALTAP_FILE stp1.stp5 o6 d  s' ~& ~+ A  G
set_location_assignment PIN_M21 -to reset6 ?5 E6 I9 c4 w
set_location_assignment PIN_P25 -to clk; q$ l. t" x/ S: ~  w1 Z
set_global_assignment -name EDA_DESIGN_ENTRY_SYNTHESIS_TOOL "Design Compiler"
6 c/ f7 O0 I; u5 Gset_global_assignment -name EDA_INPUT_VCC_NAME VDD -section_id eda_design_synthesis; t1 X3 B6 _% D4 U9 A7 M
set_global_assignment -name EDA_LMF_FILE altsyn.lmf -section_id eda_design_synthesis8 y7 f. s2 m2 X: V
set_global_assignment -name EDA_INPUT_DATA_FORMAT "VERILOG HDL" -section_id eda_design_synthesis
) p& |: p9 Z, y- k( l0 H//=================================================================================================//4 t" r) Y4 ~. v, n/ }3 c( e8 ~1 S0 d
我的問題是,不知道為何怎麼樣都燒不進kit裡,7 M  V  G8 u0 o
已經排除並非JTAG跟KIT的問題!
+ E  ^7 q3 V! Z2 B* ?& {% j請各位先進一起來分析一下!

作者: ikki    時間: 2008-3-6 11:10 AM
把programmer的錯誤訊息post出來看看, 光看qsf, 無法知道program的問題....
作者: difgor0426    時間: 2008-3-6 11:13 AM
' P/ V0 {3 o1 R% P0 U
只有WARNING3 C( h: P. T0 s( j
沒有ERROR) z, }" ?' O) p8 r5 \1 E
這就是我感到奇怪的地方

作者: ikki    時間: 2008-3-6 12:02 PM
所以是有成功??
- U, Y2 t8 V0 K不然把program的畫面抓下來看看..
作者: difgor0426    時間: 2008-3-6 01:31 PM
[attach]3111[/attach]
" B& F3 T3 g7 w0 z$ {) ^, p5 O  D6 e) @. ^
這是program的畫面
! T8 t, Z8 [9 Q
7 x; C: [& B/ ~/ _) a8 \  R[attach]3112[/attach]
/ i5 m! `. \6 S4 b+ {
, y. G! s+ ^# o* f) ]# D  [# @這是assignment pin的畫面
, Z+ q/ f$ H- R0 s: k. A3 a
3 q& ]" D8 `8 f) v: _" G[attach]3113[/attach]5 ~( H2 {2 F$ ]; q

5 u. r8 k' W& B1 S, h5 S這是燒錄下載到kit的畫面% o" @) s2 d4 v, r) \, p2 S3 V1 s

* ^8 d1 C. a5 m8 p####################################################
1 U1 F4 Q/ R! z# |8 i* s& |到這都很順利,2 Q$ l* \- ~. ]
但是~kit就是不動作!!

作者: ikki    時間: 2008-3-6 02:05 PM
檢查看看clock pin 是不是assign錯?( _0 C& x  A8 }0 V5 y+ ~
導致電路不動...
作者: difgor0426    時間: 2008-3-6 02:11 PM
確定沒有!我對著這塊kit的手冊在assign的
作者: michael6172    時間: 2008-3-6 04:12 PM
你那是要做 signaltap 的lab  吧( ?6 A9 }7 s( q  S( \' ~
1 }1 ?( M/ R# v( z$ l
看看文件中的設定有沒有遺漏的部份
作者: difgor0426    時間: 2008-3-6 04:54 PM
在我關閉project的時候,會出現以下3個畫面,是否我的signal沒設定好才會使KIT無法動作!
7 `! d) A6 k' ~+ @& G
( x  Q3 N+ f% c- x/ D+ I[attach]3123[/attach]0 @+ J  \7 Y) P6 H
* Z" ]# Y- l" p! `( p7 G0 S% G
5 K7 w  ~. d( F- j
[attach]3124[/attach]1 W5 d7 e5 @2 J2 x* ?& Z

" g9 f+ G  P3 U+ t3 a2 [
( B6 x  z; o3 g; {- O+ W3 P& F' }[attach]3125[/attach]
作者: sieg70    時間: 2008-3-7 09:41 AM
雖然我夠菜了, 但似乎幫的上一點, 所以我就講一點, 還不懂的feature不要亂開啟- Y( \. J4 R' l
上面signaltap2跟in-system memory content editor不要亂開,
3 k9 m1 C  W1 q% x* Z; t* g特別是signaltap2開了又沒作正確設定, 就會出現最後面關project時的三個畫面: J0 k- ]: K( O0 C' Y
發展板的manual要K完, 有沒特別的jumper要設mode?8 _. q7 ]2 Y/ {% `7 ~
另外, 下載後, 發展板上config_DONE的燈有沒有亮? 有亮的話就是有正確下載,
' b7 I- F5 h: O. B那就是你的設計的問題,
; E3 ]2 k* [& l0 q% I) d這電路你期待會在板子上看到什麼動作? 是否你忘了要用手去扳動對應的D的switch提供輸入? 合成過的電路有沒利用RTL view看看電路是否是你要的?
作者: difgor0426    時間: 2008-3-7 11:52 AM

8 L8 k. W0 S2 z; B8 B感謝各位的意見~
( a% {2 S: n+ V5 y' j' z( h同樣的描述~" ]. h$ q& ^2 z# j2 G
我放到altera另外一塊kit→EP2C20F484C8(茂倫)
) B2 A3 J# q2 K所得出的結果就是我要的~8 p& `- U, i( j
差別只在PIN的ASSIGN$ k; z7 W- h' v  V1 D1 ]) e) T
這樣子可能會認為KIT有問題~
, W6 o; |' b5 o* E# T3 `3 h所以~
$ i  j- M9 I# D; p+ ]$ n+ J我又重新寫了一個
7 T) t9 {& s" D+ f3 O放到altera EP2C35F672C6這塊KIT~
$ K% Z! p* p/ [
, z2 [- c. t% i# E5 M6 o+ y4 f居然可以動作了~* n4 _1 q( s9 s* Z- i
以下就是這段硬體的VERILOG HDL6 j" m& x9 h9 G
`timescale 1 ns/1 ns
8 {9 b5 S3 y& `6 x! |module chip_top (. S; o% P# e/ u9 ^; h
                  clk,. [0 p- z0 p, e7 l2 u; C) ^
                  rst_b,
: [' t9 z+ l4 _; a, @                  cnt,
3 x" W. i' u/ q. Z) [9 P7 Y                  seg,  1 B& e; V3 C) d0 ]  T' H
                  a,; D0 F& U$ P: \# ?/ d* F
                  sel,$ R8 f4 \9 _. }7 T& \' T  j. q" w
                  seg_u9,   
9 _1 P) w8 |' r) i) T0 N' h& q" }( I/ w                  rst,( G) I, q! `! f4 b: j
                  clock,: c' ^/ o  E- e- w# b% B
                 );
* e1 B+ H) O8 j' w1 f  
7 T0 T3 u. ^& J   # y6 f2 u$ P% H( D+ \6 }% I
  input  clk;, C, k) e/ k' j0 L8 N& H4 Z- R  h
  input  rst_b;2 \( `/ x7 D) c9 X( X9 M: w
  input  a, sel, rst, clock;
  Y/ H1 `5 v9 V' L8 O  output [7:0] cnt;; M# Y) q! `4 R! O/ c* Z: w
  output [7:0] seg;
8 V: v/ k) \' Z. I! ]  output [7:0] seg_u9;9 J/ |  }0 c9 v) a. f8 E( h: J
  reg    [7:0] cnt;3 @( N+ w! g2 h6 ?) |( d; ~
  reg    [7:0] seg;
7 u3 K* x* P5 v2 ?  reg    [7:0] seg_u9; 2 Z9 U, Q! `, z! t+ k0 L0 ~8 G
  reg    [40:0] clk_cnt;2 \% _, D8 C1 {6 ^* p
  reg    [40:0] clk_seg;
! V# q5 @1 `9 H  reg    [40:0] clk_seg_u9;
8 Z- Y" u& k: L( i+ {' I5 I7 N/ F; x    wire   clk_cnt_end = clk_cnt[20];
8 D8 t) \4 \4 U0 j   wire   clk_seg_end = clk_seg[20];9 F, O9 Y2 q: X9 v+ g: V$ W
  wire   clk_seg_u9_end = clk_seg_u9[20];/ S4 E0 L) d- o" s7 G
  , j( i+ ~0 ~% g+ ]# |) ]! S0 m
  
5 X$ k) b' O7 ]: W//---------------------------------------------------------------
+ |" x4 `8 ~9 J4 a  Q- s  always @(posedge clk or negedge rst_b)0 G* E* f9 d9 Z( l8 n. T; H
    if (!rst_b)
# @0 S1 k2 d- K; A7 Z" z( {              clk_cnt <= 0;5 W( N0 B* e9 p6 B2 M. \+ J8 ~
    else  7 }: Q5 t% C: i
             clk_cnt <= clk_cnt + 1;
0 N  h$ y- n- P2 s1 W& x4 n2 i8 Q# B* ?8 L/ @2 g2 Z
  always @(posedge clk_cnt_end or negedge rst_b)
) y; T+ y8 R) B4 L2 n, h/ [5 T5 G' t    if (!rst_b) $ s; C" b' Y. J9 G9 S
              cnt <= 0;+ ^! f+ h6 J' Y% S
    else ! ]1 ]0 B" V, u$ S
              cnt <= cnt + 1;& g# j) M( S2 j( k; j+ o
- q% a3 ]' e( {) F1 L8 l( U0 F
//---------------------------------------------------------------! x) X% W+ \# q6 q( u

% A3 v* _9 |3 p  W: G% W3 S/ J) v+ ~6 L- l3 q4 C' ~: s
// always @(posedge clk or negedge rst_b)
( r7 e% y+ h. ~, k//   if (!rst_b)
/ [: f  _# Z: [- s' Y5 c//               clk_seg <= 0;
: H% [% J3 K" H1 O& J7 k//   else . X2 F% {, Z: c, x) e+ {: t& p
//               clk_seg <= clk_seg + 1;* ~; X& u( V- ~# u/ K) J3 E
  A& D$ T9 F. c( y# y4 z8 y6 I
// always @(posedge clk_seg_end or negedge rst_b)
* B3 y' n: A; n3 i$ R# ^6 i+ O0 w, w//   if (!rst_b) " {2 d' ?$ Q1 h& D9 e* j* O
//              seg <= 0;4 J) w1 v3 p  [& \. Y
//   else
6 f5 M2 ~) n0 P2 @% o: z& G' Y, G' f9 b//              seg <= seg + 1;
; J, P0 s7 Z: H$ i% q9 d//---------------------------------------------------------------     ; b1 u. P& w7 @, J; @* r. w; S
//===============================================================           $ V2 A3 x5 m: P
//  always @(posedge clk or negedge rst_b)
4 A4 W0 E) H, H. z( A; f' o  y1 {//    if (!rst_b)
$ }% M+ X) Z" f! `1 r//                clk_seg_u9 <= 0;! [" z$ S6 m! P
//    else
/ h1 K8 u+ _+ p3 n, [, [- R//                clk_seg_u9 <= clk_seg_u9 + 1;4 j8 Q0 ~4 o2 p) a; v" `, M

& O+ e- T1 q+ x+ r& O//  always @(posedge clk_seg_u9_end or negedge rst_b)" G' ~2 U2 d: e9 j
//    if (!rst_b) 5 `) d5 d: A' ]0 p5 Q
//                seg_u9 <= 0;0 K  \  }! s; @! |
//    else4 a' G+ F; L0 i' G) L5 {7 s
//                seg_u9 <= seg_u9 + 1;            
+ P! p# b' l' A6 m8 I//===============================================================     
) }6 ^$ i/ H- j9 k/ c: O- H    always@(sel or a)
7 M) u, Q2 m% c3 l- C   begin* O4 A) P7 K8 R6 y% o5 J
          if  (sel == 1'b1)
5 u% k2 a+ ~, M, l6 r. N( k               seg_u9 = 8'b0111_1001;              ! U- E7 b4 \/ \# ?) g( c( a& }
    end     " R& h# ^7 I8 R: F) E
     always@(sel or a)
. u: G% @& A; m3 \   begin( O1 v8 M: l, _
          if  (sel == 1'b1)+ i4 f1 V$ n. @1 ?
              seg = 8'b0010_0100;              
0 K1 O# i. ^( S* |# I: ^/ O: y    end  
: I9 [: R/ v- I1 D7 {//===============================================================
2 e5 h4 K- W2 F- R+ q& ]7 g" k' C9 w      5 Y2 ~/ I. x# `5 q  J; b6 t8 `
endmodule
作者: tommywgt    時間: 2008-3-11 12:01 PM
標題: 社群真是個好地方
嗯, 一個問題丟出來後會有很多大大都幫忙, 社群真是個好地方




歡迎光臨 Chip123 科技應用創新平台 (http://free.vireal.world/chip123_website/innoingbbs/) Powered by Discuz! X3.2