Index homing Mesa 7i96s
29 May 2024 21:31 #301779
by PCW
Replied by PCW on topic Index homing Mesa 7i96s
1. Is your hardware using inmux (needs external mux) or inm (direct inputs)
(the pins and module id sections are different for these)
2. The inm or inmux width tag must be the number of inm or inmux inputs
(0xb or 11 on a 7I96S)
(the pins and module id sections are different for these)
2. The inm or inmux width tag must be the number of inm or inmux inputs
(0xb or 11 on a 7I96S)
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
30 May 2024 02:52 #301805
by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
Yes, the board has multiplexers. . I have to use inmuх.
Before adding the shared encoder index pulse . The board was working. I will try to compile the firmware with last line included.
(InMWidth0Tag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"0x00000b")
Yes, this line is missing in the examples I looked at .
There are 24 inputs pin on the board .On mesa the board uses 6 pins (5 outputs and 1 input)
For x"0x00000b" I have to put the number 18 .
thank you very much for the help
Before adding the shared encoder index pulse . The board was working. I will try to compile the firmware with last line included.
(InMWidth0Tag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"0x00000b")
Yes, this line is missing in the examples I looked at .
There are 24 inputs pin on the board .On mesa the board uses 6 pins (5 outputs and 1 input)
For x"0x00000b" I have to put the number 18 .
thank you very much for the help
Please Log in or Create an account to join the conversation.
30 May 2024 03:06 #301807
by PCW
Replied by PCW on topic Index homing Mesa 7i96s
The inmux has a different module ID section entry:
package PIN_SV8_7I36x2D_72 is
constant ModuleID : ModuleIDType :=(
(HM2DPLLTag, x"00", ClockLowTag, x"01", HM2DPLLBaseRateAddr&PadT, HM2DPLLNumRegs, x"00", HM2DPLLMPBitMask),
(WatchDogTag, x"00", ClockLowTag, x"01", WatchDogTimeAddr&PadT, WatchDogNumRegs, x"00", WatchDogMPBitMask),
(IOPortTag, x"00", ClockLowTag, x"03", PortAddr&PadT, IOPortNumRegs, x"00", IOPortMPBitMask),
(InMuxTag, x"00", ClockLowTag, x"02", InMuxControlAddr&PadT, InMuxNumRegs, x"00", InmuxMPBitMask),
(MuxedQcountTag, MQCRev, ClockLowTag, x"08", MuxedQcounterAddr&PadT, MuxedQCounterNumRegs, x"00", MuxedQCounterMPBitMask),
(MuxedQCountSelTag, x"00", ClockLowTag, x"01", NullAddr&PadT, x"00", x"00", x"00000000"),
(PWMTag, x"01", ClockHighTag, x"08", PWMValAddr&PadT, PWMNumRegs, x"00", PWMMPBitMask),
(SSerialTag, x"00", ClockLowTag, x"01", SSerialCommandAddr&PadT, SSerialNumRegs, x"10", SSerialMPBitMask),
(LEDTag, x"00", ClockLowTag, x"01", LEDAddr&PadT, LEDNumRegs, x"00", LEDMPBitMask),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(InMuxWidth0Tag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000020"), -- hide this tag here until we find a better way
(InMuxWidth1Tag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000020") -- hide this tag here until we find a better way
);
Note that this example uses 2 inmux interfaces both with a width of 32 (0x20)
package PIN_SV8_7I36x2D_72 is
constant ModuleID : ModuleIDType :=(
(HM2DPLLTag, x"00", ClockLowTag, x"01", HM2DPLLBaseRateAddr&PadT, HM2DPLLNumRegs, x"00", HM2DPLLMPBitMask),
(WatchDogTag, x"00", ClockLowTag, x"01", WatchDogTimeAddr&PadT, WatchDogNumRegs, x"00", WatchDogMPBitMask),
(IOPortTag, x"00", ClockLowTag, x"03", PortAddr&PadT, IOPortNumRegs, x"00", IOPortMPBitMask),
(InMuxTag, x"00", ClockLowTag, x"02", InMuxControlAddr&PadT, InMuxNumRegs, x"00", InmuxMPBitMask),
(MuxedQcountTag, MQCRev, ClockLowTag, x"08", MuxedQcounterAddr&PadT, MuxedQCounterNumRegs, x"00", MuxedQCounterMPBitMask),
(MuxedQCountSelTag, x"00", ClockLowTag, x"01", NullAddr&PadT, x"00", x"00", x"00000000"),
(PWMTag, x"01", ClockHighTag, x"08", PWMValAddr&PadT, PWMNumRegs, x"00", PWMMPBitMask),
(SSerialTag, x"00", ClockLowTag, x"01", SSerialCommandAddr&PadT, SSerialNumRegs, x"10", SSerialMPBitMask),
(LEDTag, x"00", ClockLowTag, x"01", LEDAddr&PadT, LEDNumRegs, x"00", LEDMPBitMask),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(NullTag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000000"),
(InMuxWidth0Tag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000020"), -- hide this tag here until we find a better way
(InMuxWidth1Tag, x"00", NullTag, x"00", NullAddr&PadT, x"00", x"00", x"00000020") -- hide this tag here until we find a better way
);
Note that this example uses 2 inmux interfaces both with a width of 32 (0x20)
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
30 May 2024 04:50 #301814
by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
Hi, it doesn't want to compile. After 5-10 minutes the calculated bit file is missing. Can you try to compile it ? Thanks!
Attachments:
Please Log in or Create an account to join the conversation.
30 May 2024 04:59 #301815
by PCW
Replied by PCW on topic Index homing Mesa 7i96s
I see two errors with a quick look:
1:
(InMuxTag, x"00", ClockLowTag, x"00", InMuxControlAddr&PadT, InMuxNumRegs, x"00", InmuxMPBitMask),
(you are specifying 0 inmux modules, this should be x"01")
2:
IOPortTag & x"17" & NullTag & NullPin, -- I/O 33 PIN 25 free
-- 26 HDR -- IDC 26
IOPortTag & x"06" & NullTag & NullPin, -- I/O 34 PIN 1 just GPIO_6
IOPortTag & x"07" & NullTag & NullPin, -- I/O 35 PIN 2 just GPIO_7
IOPortTag & x"04" & NullTag & NullPin, -- I/O 36 PIN 3 just GPIO_4
IOPortTag & x"05" & NullTag & NullPin, -- I/O 37 PIN 4 just GPIO_5
IOPortTag & x"02" & NullTag & NullPin, -- I/O 38 PIN 5 just GPIO_2
IOPortTag & x"03" & NullTag & NullPin, -- I/O 39 PIN 6 just GPIO_3
IOPortTag & x"00" & NullTag & NullPin, -- I/O 40 PIN 7 just GPIO_0
IOPortTag & x"01" & NullTag & NullPin, -- I/O 41 PIN 8 just GPIO_1
IOPortTag & x"08" & NullTag & NullPin, -- I/O 42 PIN 9 just GPIO_8
IOPortTag & x"09" & NullTag & NullPin, -- I/O 43 PIN 11 just GPIO_9
IOPortTag & x"10" & NullTag & NullPin, -- I/O 44 PIN 13 just GPIO_10
IOPortTag & x"11" & NullTag & NullPin, -- I/O 45 PIN 15 just GPIO_11
IOPortTag & x"12" & NullTag & NullPin, -- I/O 46 PIN 17 just GPIO_12
IOPortTag & x"13" & NullTag & NullPin, -- I/O 47 PIN 19 just GPIO_13
IOPortTag & x"14" & NullTag & NullPin, -- I/O 48 PIN 21 just GPIO_14
IOPortTag & x"15" & NullTag & NullPin, -- I/O 49 PIN 23 just GPIO_15
IOPortTag & x"16" & NullTag & NullPin, -- I/O 50 PIN 25 just GPIO_16
The second column numbers need to all be x"00" (you cannot renumber GPIO)
1:
(InMuxTag, x"00", ClockLowTag, x"00", InMuxControlAddr&PadT, InMuxNumRegs, x"00", InmuxMPBitMask),
(you are specifying 0 inmux modules, this should be x"01")
2:
IOPortTag & x"17" & NullTag & NullPin, -- I/O 33 PIN 25 free
-- 26 HDR -- IDC 26
IOPortTag & x"06" & NullTag & NullPin, -- I/O 34 PIN 1 just GPIO_6
IOPortTag & x"07" & NullTag & NullPin, -- I/O 35 PIN 2 just GPIO_7
IOPortTag & x"04" & NullTag & NullPin, -- I/O 36 PIN 3 just GPIO_4
IOPortTag & x"05" & NullTag & NullPin, -- I/O 37 PIN 4 just GPIO_5
IOPortTag & x"02" & NullTag & NullPin, -- I/O 38 PIN 5 just GPIO_2
IOPortTag & x"03" & NullTag & NullPin, -- I/O 39 PIN 6 just GPIO_3
IOPortTag & x"00" & NullTag & NullPin, -- I/O 40 PIN 7 just GPIO_0
IOPortTag & x"01" & NullTag & NullPin, -- I/O 41 PIN 8 just GPIO_1
IOPortTag & x"08" & NullTag & NullPin, -- I/O 42 PIN 9 just GPIO_8
IOPortTag & x"09" & NullTag & NullPin, -- I/O 43 PIN 11 just GPIO_9
IOPortTag & x"10" & NullTag & NullPin, -- I/O 44 PIN 13 just GPIO_10
IOPortTag & x"11" & NullTag & NullPin, -- I/O 45 PIN 15 just GPIO_11
IOPortTag & x"12" & NullTag & NullPin, -- I/O 46 PIN 17 just GPIO_12
IOPortTag & x"13" & NullTag & NullPin, -- I/O 47 PIN 19 just GPIO_13
IOPortTag & x"14" & NullTag & NullPin, -- I/O 48 PIN 21 just GPIO_14
IOPortTag & x"15" & NullTag & NullPin, -- I/O 49 PIN 23 just GPIO_15
IOPortTag & x"16" & NullTag & NullPin, -- I/O 50 PIN 25 just GPIO_16
The second column numbers need to all be x"00" (you cannot renumber GPIO)
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
30 May 2024 05:06 #301817
by PCW
Replied by PCW on topic Index homing Mesa 7i96s
Also you may simply be running out of room...
(Usually the will be a reported as an error in the mapping phase)
(Usually the will be a reported as an error in the mapping phase)
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
30 May 2024 09:40 - 30 May 2024 10:38 #301832
by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
Yes, I tried but again the bit file doesn't compile.
For testing, I removed 2 step generators and there is no change. I am attaching the log file from ISE Design Suite 14.7
I apologize for taking up so much of your time.Thank you very much for the help !
PS. I did an experiment. I removed the changes for the shared index. I left only the new changes on the multiplexer inputs. Again the bit file is not created.
For testing, I removed 2 step generators and there is no change. I am attaching the log file from ISE Design Suite 14.7
I apologize for taking up so much of your time.Thank you very much for the help !
PS. I did an experiment. I removed the changes for the shared index. I left only the new changes on the multiplexer inputs. Again the bit file is not created.
Attachments:
Last edit: 30 May 2024 10:38 by besriworld.
The following user(s) said Thank You: tommylight
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
30 May 2024 11:25 - 30 May 2024 11:44 #301837
by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
New update .I can manually create a bit file . But it comes with several warning messages and one error
WARNING:Bitgen:284 - Setting next_config_register_write to Disable will cause
the next_config_addr, next_config_new_mode, and next_config_boot_mode options
to be ignored and their respective register writes to be excluded from the
bitstream.
INFO:Bitgen:341 - This design is using one or more 9K Block RAMs (RAMB8BWER).
9K Block RAM initialization data, both user defined and default, requires a
special bit stream format. For more information, please reference Xilinx
Answer Record 39999.
WARNING:PhysDesignRules:367 - The signal
<ahostmot2/makesserialmod.makesserials[0].asserial/processor/StackRam/Mram_RA
M1_RAMD_D1_O> is incomplete. The signal does not drive any load pins in the
design.
WARNING:PhysDesignRules:367 - The signal
<ahostmot2/makesserialmod.makesserials[0].asserial/processor/StackRam/Mram_RA
M2_RAMD_D1_O> is incomplete. The signal does not drive any load pins in the
design.
INFO:PhysDesignRules:1861 - To achieve optimal frequency synthesis performance
with the CLKFX and CLKFX180 outputs of the DCM comp ClockMult1, consult the
device Data Sheet.
INFO:PhysDesignRules:1861 - To achieve optimal frequency synthesis performance
with the CLKFX and CLKFX180 outputs of the DCM comp ClockMult2, consult the
device Data Sheet.
WARNING:PhysDesignRules:2410 - This design is using one or more 9K Block RAMs
(RAMB8BWER). 9K Block RAM initialization data, both user defined and
default, may be incorrect and should not be used. For more information,
please reference Xilinx Answer Record 39999.
FATAL_ERROR:Bitstream:stanbsbitfile.c:3408:1.57 - Incorrect number of bits in
bitstream (18) for FDRI write. For technical support on this issue, please
visit www.xilinx.com/support.
PS. I loaded the file into the board it seems to work. The multiplexer pins are visible in the HAL
If the board works, the error is not important?
WARNING:Bitgen:284 - Setting next_config_register_write to Disable will cause
the next_config_addr, next_config_new_mode, and next_config_boot_mode options
to be ignored and their respective register writes to be excluded from the
bitstream.
INFO:Bitgen:341 - This design is using one or more 9K Block RAMs (RAMB8BWER).
9K Block RAM initialization data, both user defined and default, requires a
special bit stream format. For more information, please reference Xilinx
Answer Record 39999.
WARNING:PhysDesignRules:367 - The signal
<ahostmot2/makesserialmod.makesserials[0].asserial/processor/StackRam/Mram_RA
M1_RAMD_D1_O> is incomplete. The signal does not drive any load pins in the
design.
WARNING:PhysDesignRules:367 - The signal
<ahostmot2/makesserialmod.makesserials[0].asserial/processor/StackRam/Mram_RA
M2_RAMD_D1_O> is incomplete. The signal does not drive any load pins in the
design.
INFO:PhysDesignRules:1861 - To achieve optimal frequency synthesis performance
with the CLKFX and CLKFX180 outputs of the DCM comp ClockMult1, consult the
device Data Sheet.
INFO:PhysDesignRules:1861 - To achieve optimal frequency synthesis performance
with the CLKFX and CLKFX180 outputs of the DCM comp ClockMult2, consult the
device Data Sheet.
WARNING:PhysDesignRules:2410 - This design is using one or more 9K Block RAMs
(RAMB8BWER). 9K Block RAM initialization data, both user defined and
default, may be incorrect and should not be used. For more information,
please reference Xilinx Answer Record 39999.
FATAL_ERROR:Bitstream:stanbsbitfile.c:3408:1.57 - Incorrect number of bits in
bitstream (18) for FDRI write. For technical support on this issue, please
visit www.xilinx.com/support.
PS. I loaded the file into the board it seems to work. The multiplexer pins are visible in the HAL
If the board works, the error is not important?
Attachments:
Last edit: 30 May 2024 11:44 by besriworld.
Please Log in or Create an account to join the conversation.
30 May 2024 13:19 #301840
by PCW
Replied by PCW on topic Index homing Mesa 7i96s
Yeah the log file was OK (though it looked like you did not select the option to make the bit file)
It looks like the bit file error is related to running ISE on Windows 10 or 11 but not selecting compatibility mode
(I always use Linux now so I've never seen that error)
It looks like the bit file error is related to running ISE on Windows 10 or 11 but not selecting compatibility mode
(I always use Linux now so I've never seen that error)
The following user(s) said Thank You: besriworld
Please Log in or Create an account to join the conversation.
- besriworld
- Offline
- Elite Member
Less
More
- Posts: 250
- Thank you received: 70
30 May 2024 13:28 - 30 May 2024 15:24 #301841
by besriworld
Replied by besriworld on topic Index homing Mesa 7i96s
Thank you very much! Yes, the OS is Windows 10.
Last edit: 30 May 2024 15:24 by besriworld.
Please Log in or Create an account to join the conversation.
Moderators: cmorley
Time to create page: 0.089 seconds