|
各位先進好~
J6 K, D+ I; E& B8 F; h我是剛從學校進入這領域的新生,說不上是初學者; D3 A( V3 i2 @% `
因為若要設計一些簡單的project,這點我還堪用
\4 X/ E& i% y. N另外,小弟也用過兩大FPGA廠商的EDA相關的Tool : Xilinx ISE 、Quartus II 、ModelSim ...等! t* M! R% @1 l8 v/ D( m. h
* T- V: Y( W8 r3 J' ~不過最近剛近公司,開始學著看程式卻發覺有一些寫法我不太懂。
/ x0 \2 s6 r7 n8 R, A: T是關於 `ifdef ... `else .. `endif6 a/ w! M1 X% K8 X' x: I3 z, R
7 n& A, F0 {& {/ k+ g1 n7 @% ]下面舉某段code 請哪位有經驗的大大能幫我解釋一下
H# b2 |+ X- x6 @/ U+ ?; |
5 A+ Z: g u& ?0 k8 V3 F`ifdef ASYNC_RESET1 S) R- l3 A7 U& c( c( U
always @(posedge clk or negedge rst)
- x) E& N, |& F' x( S* q`else2 B) K, s5 L/ q$ \
always @(posedge clk)
' h) Y, S5 b7 S5 ~. y+ A8 p" Z. P`endif
, |$ J( b+ r( @* Q1 H' X if(!rst) state <= POR;
; t7 E! M; k5 X" d: C( H else
# x; h( P: B5 y5 n5 U( d if(vbus) state <= POR;
7 O2 a# S- |' O# E) i$ r else state <= next_state;
6 F1 T/ \5 g9 R8 r3 T* ^) K8 Z4 ^- T. E& f" a7 P1 s
請各為大大賜教了!4 [# P: K, \* m. D
]* Y1 J* `. ?$ Q4 {
我是在猜想說,若條件符合者 是以always@(posedge clk or negedge rst) 再接到 if ..else
" H5 ~# b: K/ m1 `( p+ Y不過這條件判斷是以ASYNC_RESET為依據嗎?# N, g7 k, w' Q* O1 j0 l- ?% G: b
但我在程式中找不到這個ASYNC_RESET的相關程式斷落.. |
|