Hi guys, I'm trying to connect a simple co-processor to microblaze. The co-processor simply gets 8 inputs and does a simple arithmetic and gives one output. The problem that I'm currently experiencing is (I figured it out during simulation) that, when I put a data from microblaze on FSL the fsl_m_write signal from microblaze doesn't become
- So the co-processor never notices that there are data on the bus and it never changes status. As well when I check the data on the FSL microblaze-to-coprocessor bus, it is not what I'm trying to write. Put instruction takes 2 cycles to execute. The first cycle the data on FSL master output of microblaze is insane but the second cycle it becomes one. However I've made sure that FSL_M_FULL is not 1. So my FIFO is empty. The clk and reset signal of the co-processor is correctly connected to the processor. As well I'm doing blocking read and write. Do you have any idea why it is not working?
I've attached part of my system.v file. As far as I know all the connections are correct. (I used co-processor wizard from EDK to connect my co-processor to microblaze).
By the way just before attaching the code to here I checked to make sure that clock and reset connection is OK. Previously during simulation I checked the clock and reset and they were working fine. However now in the system.v file as you can see below there is no clock signal given as the input to fsl of microblaze or co-processor. However it is working fine during simulation. I tried to set the clock port to sys_clk_s but it seems that it has serious problem. Because my simulation is working as if the fsl buses and peripheral is not clocked.(ilmb_LMB_ABUS and microblaze/fsl_m_data become high impedance).
I really appreciate your help,
.FSL0_S_CLK ( ), .FSL0_S_READ ( custom_ip_0_to_microblaze_0_FSL_S_Read ), .FSL0_S_DATA ( custom_ip_0_to_microblaze_0_FSL_S_Data ), .FSL0_S_CONTROL ( custom_ip_0_to_microblaze_0_FSL_S_Control ), .FSL0_S_EXISTS ( custom_ip_0_to_microblaze_0_FSL_S_Exists ), .FSL0_M_CLK ( ), .FSL0_M_WRITE ( microblaze_0_to_custom_ip_0_FSL_M_Write ), .FSL0_M_DATA ( microblaze_0_to_custom_ip_0_FSL_M_Data ), .FSL0_M_CONTROL ( microblaze_0_to_custom_ip_0_FSL_M_Control ), .FSL0_M_FULL ( microblaze_0_to_custom_ip_0_FSL_M_Full ),
custom_ip_0_to_microblaze_0_wrapper custom_ip_0_to_microblaze_0 ( .FSL_Clk ( sys_clk_s ), .SYS_Rst ( sys_rst_s ), .FSL_Rst ( custom_ip_0_to_microblaze_0_OPB_Rst ), .FSL_M_Clk ( net_gnd0 ), .FSL_M_Data ( custom_ip_0_to_microblaze_0_FSL_M_Data ), .FSL_M_Control ( custom_ip_0_to_microblaze_0_FSL_M_Control ), .FSL_M_Write ( custom_ip_0_to_microblaze_0_FSL_M_Write ), .FSL_M_Full ( custom_ip_0_to_microblaze_0_FSL_M_Full ), .FSL_S_Clk ( net_gnd0 ), .FSL_S_Data ( custom_ip_0_to_microblaze_0_FSL_S_Data ), .FSL_S_Control ( custom_ip_0_to_microblaze_0_FSL_S_Control ), .FSL_S_Read ( custom_ip_0_to_microblaze_0_FSL_S_Read ), .FSL_S_Exists ( custom_ip_0_to_microblaze_0_FSL_S_Exists ), .FSL_Full ( ), .FSL_Has_Data ( ) );
custom_ip_0_wrapper custom_ip_0 ( .FSL_Clk ( sys_clk_s ), .FSL_Rst ( custom_ip_0_to_microblaze_0_OPB_Rst ), .FSL_S_Clk ( ), .FSL_S_Read ( microblaze_0_to_custom_ip_0_FSL_S_Read ), .FSL_S_Data ( microblaze_0_to_custom_ip_0_FSL_S_Data ), .FSL_S_Control ( microblaze_0_to_custom_ip_0_FSL_S_Control ), .FSL_S_Exists ( microblaze_0_to_custom_ip_0_FSL_S_Exists ), .FSL_M_Clk ( ), .FSL_M_Write ( custom_ip_0_to_microblaze_0_FSL_M_Write ), .FSL_M_Data ( custom_ip_0_to_microblaze_0_FSL_M_Data ), .FSL_M_Control ( custom_ip_0_to_microblaze_0_FSL_M_Control ), .FSL_M_Full ( custom_ip_0_to_microblaze_0_FSL_M_Full ) );
microblaze_0_to_custom_ip_0_wrapper microblaze_0_to_custom_ip_0 ( .FSL_Clk ( sys_clk_s ), .SYS_Rst ( sys_rst_s ), .FSL_Rst ( ), .FSL_M_Clk ( net_gnd0 ), .FSL_M_Data ( microblaze_0_to_custom_ip_0_FSL_M_Data ), .FSL_M_Control ( microblaze_0_to_custom_ip_0_FSL_M_Control ), .FSL_M_Write ( microblaze_0_to_custom_ip_0_FSL_M_Write ), .FSL_M_Full ( microblaze_0_to_custom_ip_0_FSL_M_Full ), .FSL_S_Clk ( net_gnd0 ), .FSL_S_Data ( microblaze_0_to_custom_ip_0_FSL_S_Data ), .FSL_S_Control ( microblaze_0_to_custom_ip_0_FSL_S_Control ), .FSL_S_Read ( microblaze_0_to_custom_ip_0_FSL_S_Read ), .FSL_S_Exists ( microblaze_0_to_custom_ip_0_FSL_S_Exists ), .FSL_Full ( ), .FSL_Has_Data ( )