opencomputeproject / Time-Appliance-Project

Develop an end-to-end hypothetical reference model, network architectures, precision time tools, performance objectives and the methods to distribute, operate, monitor time synchronization within data center and much more...
MIT License
1.32k stars 101 forks source link

Should the version numbers in the CoreList be the same as the version registers? #104

Open JohnHay opened 9 months ago

JohnHay commented 9 months ago

Should the version number in the CoreList match the number in the Version register of that core? There are some that are different.

timecard0: CoreList 0x10000, register 0x10001, TC SMA Selector Inst0 Slave1
timecard0: CoreList  0x10000, register 0x10001, TC SMA Selector Inst0 Slave2
timecard0: CoreList  0x20001, register 0x20002, TC ToD Slave

I looks like TodSlave.vhd has a different version number (0x20003) from the above 2 ToD version numbers:

constant TodSlaveMajorVersion_Con               : std_logic_vector(7 downto 0) := std_logic_vector(to_unsigned(0, 8));
constant TodSlaveMinorVersion_Con               : std_logic_vector(7 downto 0) := std_logic_vector(to_unsigned(2, 8));
constant TodSlaveBuildVersion_Con               : std_logic_vector(15 downto 0) := std_logic_vector(to_unsigned(3, 16));
thschaub commented 9 months ago

Yes, that's the idea but at the moment it's manual work and therefore the potential high to miss the update in the CoreList as well. It's fixed in a903680d5155aa2600549b9dd2f26e3a086021e7

JohnHay commented 9 months ago

Thank you. :-)

Currently my driver compare them in the attach routine and print a message to the console if there is a difference.

JohnHay commented 9 months ago

I have now loaded the version 9 LitePcie firmware and still see a version mismatch on the SMA Selector. It is not an issue for me, so you do not have to bring out a new version just for that. I just thought I'll mention it for when you next bring out a new version:

timecard0: CoreList 0x10000, register 0x10001, TC SMA Selector Inst0 Slave1
timecard0: CoreList 0x10000, register 0x10001, TC SMA Selector Inst0 Slave2