G
Guest
Guest
لدي مشكلة صغيرة حول inout "".
الوحدة النمطية الرئيسي هو TDSP ، وحدة فرعية هي McBSP0.
"Send_Trig" يستخدم في McBSP0.
أريد استخدام "Send_Trig" كميناء inout لتحريك كتلة ارسال وتغذية مرتدة رسالة الإنجاز.
لكنني لا استطيع دفع "Send_Trig" من قبل Test_Send_FLG من TDSP.
في نتيجة المحاكاة (Modelsim) ، Test_Send_FLG هو أخضر ، ولكن i_Test_Send_FLG هو أحمر ، وSend_Trig أحمر جدا.
الرجاء مساعدتي!
TDSP النمطية (
...
...
)
ريج Test_Send_FLG = 0 ؛
سلك i_Test_Send_FLG = 0 ؛
...
تعيين i_Test_Send_FLG = Test_Send_FLG ؛
McBSP McBSP0 (
. إعادة (TDSP_nRESET) ،
. CLKI (TDSP_CLKI) ،
. SCLK (TDSP_SCLK) ،
. FSR (TDSP_FSR0) ،
الدكتور (TDSP_DR0) ،
. FSX (TDSP_FSX1) ،
. DX (TDSP_DX1) ،
. Send_Trig (i_Test_Send_FLG) ،
. RINT (i_TDSP_RINT) ،
. تينت (i_TDSP_TINT) ،
. Data_Out (i_temp_Out) ،
. Data_In (temp_In) ،
. sym_pos (i_sym_pos)
(؛)
endmodule
McBSP النمطية (
إعادة تعيين ،
CLKI ،
SCLK ،
FSR ،
د ،
FSX ،
DX ،
Send_Trig ،
RINT ،
تينت ،
Data_Out ،
Data_In ،
sym_pos
(؛)
/************************/
/ **入出力信号の定義** /
/************************/
إستعادة المدخلات ؛
مدخلات CLKI ؛
SCLK المدخلات ؛
FSR المدخلات ؛
الدكتور المدخلات ؛
مدخلات FSX ؛
DX المدخلات ؛
Send_Trig inout ؛ريج r_DX = 1'b0 ؛
ريج r_FSX = 1'b0 ؛
ريج [15 : 0] RD1_Data_MEM [15:0] ؛
ريج [3 : 0] RxBit_16_CNT ؛
ريج Send_Trig_Lat = 0 ؛
ريج r_Send_TrigO ؛
r_Send_Start حصوي ؛
ريج Send_Trig_Drv = 1'b0 ؛
ريج r_Tx_Permit = 0 ؛
ريج [3 : 0] TxBit_16_CNT ؛
ريج [15 : 0] RCV_Shift_REG ؛
ريج [15 : 0] Send_Shift_REG ؛
ريج [3 : 0] Word_16_CNT ؛
ريج [1 : 0] r_RINT ؛
ريج [1 : 0] r_TINT ؛
ريج [15 : 0] r_Data_Out ؛
r_sym_pos حصوي ؛
تعيين DX = r_DX ؛
تعيين FSX = r_FSX ؛
تعيين Data_out = r_Data_Out ؛
تعيين sym_pos = r_sym_pos ؛
bufif1 Send_Trig_C (Send_Trig ، r_Send_TrigO ، Send_Trig_Drv) ؛
الأولي
يبدأ
Send_Trig_Drv = 1'b0 ؛
نهاية/***************************************/
/***** إرسال البيانات الرئيسية لCMX *****/
/***************************************/
دائما @ (إعادة تعيين أو posedge SCLK)
يبدأ
إذا كان (إعادة == 1'h0)
Send_Trig_Lat <= 1'b0 ؛
أيضا
Send_Trig_Lat <= Send_Trig ؛
نهايةدائما @ (إعادة تعيين أو posedge SCLK)
يبدأ
إذا كان (إعادة == 1'h0)
r_FSX <= 1'b0 ؛
والا اذا (Send_Trig == 1'b1 & & Send_Trig_Lat == 1'b0)
r_FSX <= 1'b1 ؛
أيضا
r_FSX <= 1'b0 ؛
نهايةدائما @ (إعادة تعيين أو posedge CLKI)
يبدأ
إذا كان (إعادة == 1'h0)
Send_Trig_Drv <= 1'b0 ؛
والا اذا (r_Tx_Permit == 1'b1)
Send_Trig_Drv <= 1'b1 ؛
أيضا
Send_Trig_Drv <= 1'b0 ؛
نهاية...
endmodule
الوحدة النمطية الرئيسي هو TDSP ، وحدة فرعية هي McBSP0.
"Send_Trig" يستخدم في McBSP0.
أريد استخدام "Send_Trig" كميناء inout لتحريك كتلة ارسال وتغذية مرتدة رسالة الإنجاز.
لكنني لا استطيع دفع "Send_Trig" من قبل Test_Send_FLG من TDSP.
في نتيجة المحاكاة (Modelsim) ، Test_Send_FLG هو أخضر ، ولكن i_Test_Send_FLG هو أحمر ، وSend_Trig أحمر جدا.
الرجاء مساعدتي!
TDSP النمطية (
...
...
)
ريج Test_Send_FLG = 0 ؛
سلك i_Test_Send_FLG = 0 ؛
...
تعيين i_Test_Send_FLG = Test_Send_FLG ؛
McBSP McBSP0 (
. إعادة (TDSP_nRESET) ،
. CLKI (TDSP_CLKI) ،
. SCLK (TDSP_SCLK) ،
. FSR (TDSP_FSR0) ،
الدكتور (TDSP_DR0) ،
. FSX (TDSP_FSX1) ،
. DX (TDSP_DX1) ،
. Send_Trig (i_Test_Send_FLG) ،
. RINT (i_TDSP_RINT) ،
. تينت (i_TDSP_TINT) ،
. Data_Out (i_temp_Out) ،
. Data_In (temp_In) ،
. sym_pos (i_sym_pos)
(؛)
endmodule
McBSP النمطية (
إعادة تعيين ،
CLKI ،
SCLK ،
FSR ،
د ،
FSX ،
DX ،
Send_Trig ،
RINT ،
تينت ،
Data_Out ،
Data_In ،
sym_pos
(؛)
/************************/
/ **入出力信号の定義** /
/************************/
إستعادة المدخلات ؛
مدخلات CLKI ؛
SCLK المدخلات ؛
FSR المدخلات ؛
الدكتور المدخلات ؛
مدخلات FSX ؛
DX المدخلات ؛
Send_Trig inout ؛ريج r_DX = 1'b0 ؛
ريج r_FSX = 1'b0 ؛
ريج [15 : 0] RD1_Data_MEM [15:0] ؛
ريج [3 : 0] RxBit_16_CNT ؛
ريج Send_Trig_Lat = 0 ؛
ريج r_Send_TrigO ؛
r_Send_Start حصوي ؛
ريج Send_Trig_Drv = 1'b0 ؛
ريج r_Tx_Permit = 0 ؛
ريج [3 : 0] TxBit_16_CNT ؛
ريج [15 : 0] RCV_Shift_REG ؛
ريج [15 : 0] Send_Shift_REG ؛
ريج [3 : 0] Word_16_CNT ؛
ريج [1 : 0] r_RINT ؛
ريج [1 : 0] r_TINT ؛
ريج [15 : 0] r_Data_Out ؛
r_sym_pos حصوي ؛
تعيين DX = r_DX ؛
تعيين FSX = r_FSX ؛
تعيين Data_out = r_Data_Out ؛
تعيين sym_pos = r_sym_pos ؛
bufif1 Send_Trig_C (Send_Trig ، r_Send_TrigO ، Send_Trig_Drv) ؛
الأولي
يبدأ
Send_Trig_Drv = 1'b0 ؛
نهاية/***************************************/
/***** إرسال البيانات الرئيسية لCMX *****/
/***************************************/
دائما @ (إعادة تعيين أو posedge SCLK)
يبدأ
إذا كان (إعادة == 1'h0)
Send_Trig_Lat <= 1'b0 ؛
أيضا
Send_Trig_Lat <= Send_Trig ؛
نهايةدائما @ (إعادة تعيين أو posedge SCLK)
يبدأ
إذا كان (إعادة == 1'h0)
r_FSX <= 1'b0 ؛
والا اذا (Send_Trig == 1'b1 & & Send_Trig_Lat == 1'b0)
r_FSX <= 1'b1 ؛
أيضا
r_FSX <= 1'b0 ؛
نهايةدائما @ (إعادة تعيين أو posedge CLKI)
يبدأ
إذا كان (إعادة == 1'h0)
Send_Trig_Drv <= 1'b0 ؛
والا اذا (r_Tx_Permit == 1'b1)
Send_Trig_Drv <= 1'b1 ؛
أيضا
Send_Trig_Drv <= 1'b0 ؛
نهاية...
endmodule