|
EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
& I% r- J2 V; _/ }2 _
各位大神 ,我在做FPGA与mcu8位并行通信,自定义协议 ,在Modelsim中仿真能达到要求(如上图) ,但板子上验证时出现了一些问题 。
! t f$ l1 P/ _: H/ f1 \
1 u# t1 q! k$ ~0 N- K& nmodule talk_to_mcu% K- B4 P' `7 r7 E) C8 B& x! s: Q$ B
(8 F7 k( ]+ B2 b, J
inclk,rst,csn,data_in,data_out,flag_end' A: K, J2 \% w, R
);
& T- o0 b9 y$ x7 |; N7 \& ^0 L! T input inclk,rst,csn;+ Q* y: L8 @& v+ F! M$ l8 {3 V7 ]1 t
input [31:0]data_in;3 M1 c7 V+ r+ d* y0 t {* r4 l
output [7:0]data_out;
- l# N$ j( r3 p# \$ N' d output flag_end;
2 @$ @1 \& T0 ~" c7 m7 w& U2 P9 @8 R8 [- g0 N Z: y8 f4 {
reg [7:0]data_out;! {5 a/ w4 L4 B7 G6 n) P, B
reg [3:0]cnt;) c# {* a6 o) p# z2 }: w% u' T) B1 Z
2 r, M0 q, J O6 R7 ]0 `9 g
always @ (posedge inclk or negedge rst)
% e; D9 J6 E! Q( \0 a3 o+ X begin * x& O. P2 F) U, Y2 r M
if (!rst)1 q6 V9 U$ E4 q. X( b3 v& Y
begin
) {( r! e# y$ Y8 m) V- |$ o" ~ data_out<=0;$ c- S( F7 t8 i
cnt<=0;- R% H- c: a) H! j7 k( F% Y( l
end
. I U% e% c1 `3 a4 w/ Y s# \ else if (csn); Q0 v! ^9 V/ d: z- ~7 P8 s. H0 W+ n7 T
cnt<=0;2 k: i8 Q+ ?; V6 \
else6 v6 R: W9 T" p& @; {
begin
! d( o. N% k( c6 \ G" S& G: E cnt<=cnt+1'b1;
D# w( C: b# b: G5 U3 @9 t; }" K' Q case (cnt)
; d* s( L S9 ]1 m; r 4'd0: data_out<={data_in[31],data_in[30:24]};
( x9 K6 W6 e+ i- T0 w. J 4'd1: data_out<={data_in[23],data_in[22:16]};
' y5 ~$ Z, I: d7 a8 p8 Q& M 4'd2: data_out<={data_in[15],data_in[14:8]};
" c# b9 E9 p) y+ o: `* z9 h 4'd3: data_out<={data_in[7],data_in[6:0]};6 S4 v1 v. W7 [( q* F* H
endcase ( z0 `* _% |8 ~* l
end5 X- ?7 y5 w! ?+ R: z2 _* C: ]
end # I( _' K0 `$ Q3 A0 _# U
assign flag_end=(cnt==4'd5)?1'b1:1'b0;
1 J z% ^5 f: R endmodule
, P0 R! t, b" S4 n2 y) d % ?+ x, p/ E/ x% c. S/ I
以上是我的Verilog代码。
. b: `% @# `, N; v0 z; {为何不能还是不能通信呢?
: N6 i/ |! U# j q4 H8 V4 O8 `- N. r, T E# ^1 |9 ]
) T& \$ Z" D$ w) V% H0 m |
|