CTU CAN FD IP Core issueshttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues2018-07-09T15:20:20Zhttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/113Coding style unification2018-07-09T15:20:20ZIlle, Ondrej, Ing.Coding style unificationMake sure that all the synthesizable sources codes have unified coding style with 4 spaces
indent.Make sure that all the synthesizable sources codes have unified coding style with 4 spaces
indent.Wishlisthttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/163Add sync. chain attributes.2018-07-09T12:08:01ZIlle, Ondrej, Ing.Add sync. chain attributes.VHDL attributes should be set on input synchronisation chain in busSync module like so:
https://forums.xilinx.com/t5/Timing-Analysis/Setting-ASYNC-REG-in-VHDL-for-Two-Flop-Synchronizer/td-p/700175
This can be done by TCL constraints fi...VHDL attributes should be set on input synchronisation chain in busSync module like so:
https://forums.xilinx.com/t5/Timing-Analysis/Setting-ASYNC-REG-in-VHDL-for-Two-Flop-Synchronizer/td-p/700175
This can be done by TCL constraints file, but it is better to have it in VHDL file defined explicitly.Bug fixinghttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/147Timestamp options feature test2018-06-29T11:50:52ZIlle, Ondrej, Ing.Timestamp options feature testImplement feature test which will configure timestamp capturing from both, end and beginning of
frames and verify that timestamp is captured properly!Implement feature test which will configure timestamp capturing from both, end and beginning of
frames and verify that timestamp is captured properly!Test maintenancehttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/165ci: automatically generate FPGA bitstream2018-06-29T10:24:25ZMartin Jeřábekci: automatically generate FPGA bitstreamOn master update, run a delayed nightly build of FPGA top-level design and make the bitstream available to speed up HW testing.
This issue really targets the toplevel repo https://gitlab.fel.cvut.cz/canbus/zynq/zynq-can-sja1000-top, but...On master update, run a delayed nightly build of FPGA top-level design and make the bitstream available to speed up HW testing.
This issue really targets the toplevel repo https://gitlab.fel.cvut.cz/canbus/zynq/zynq-can-sja1000-top, but is included here as a means of (devel) "documentation".
Description is in AUTOBUILD.md. Bitstream may be downloaded from pipeline artifacts on branch autobuild_*.Continuous integrationMartin JeřábekMartin Jeřábekhttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/164Reference test problem2018-06-29T09:28:12ZIlle, Ondrej, Ing.Reference test problemAt the moment, reference test does not have the test properly specified, which causes RX buffer unit
test to be executed instead of reference test!At the moment, reference test does not have the test properly specified, which causes RX buffer unit
test to be executed instead of reference test!Bug fixinghttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/129TXT Buffer in bus-off2018-06-28T19:17:34ZIlle, Ondrej, Ing.TXT Buffer in bus-offError frame transmission causes transfer of TXT buffer to either READY (without reaching retransmit limit) or FAILED (when retransmit limit was reached). However if retransmit limit remains disabled (or it is not reached) during transiti...Error frame transmission causes transfer of TXT buffer to either READY (without reaching retransmit limit) or FAILED (when retransmit limit was reached). However if retransmit limit remains disabled (or it is not reached) during transition to bus-off state, the buffer goes back to READY state.
Such a behaviour is logically incorrect! Additional logic should be implemented, that shall force active TXT Buffer to go to FAILED when Error frame transmission causes controller to go to BUS OFF.Bug fixinghttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/108Referrence test with Kvaser2018-06-28T17:57:00ZIlle, Ondrej, Ing.Referrence test with KvaserInstall Linux software for Kvaser CAN FD, use it to generate several
custom CAN Frames with different protocol options such as:
Normal, FD, RTR, NO RTR, frame with 15,17,21 bit CRC, with BRS
, without BRS.
Sample the final bit sequence b...Install Linux software for Kvaser CAN FD, use it to generate several
custom CAN Frames with different protocol options such as:
Normal, FD, RTR, NO RTR, frame with 15,17,21 bit CRC, with BRS
, without BRS.
Sample the final bit sequence by logic analyzer, store it to file,
and implement test which will transmitt the same CAN Frames as the
one transmitted by Kvaser, and compare the bit values with
Bit values from Kvaser.
Note that this test should provide some basic level testing with
reference controller in simulation!Test maintenanceIlle, Ondrej, Ing.Ille, Ondrej, Ing.https://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/138Severity failure finish2018-06-27T13:32:51ZIlle, Ondrej, Ing.Severity failure finishUp to now, CAN Test framework is using report with severity failure to force end of simulation.
This is not good for future automated runs. If tests would be evaluated by severities of logs,
this would cause all tests to fail. And, it i...Up to now, CAN Test framework is using report with severity failure to force end of simulation.
This is not good for future automated runs. If tests would be evaluated by severities of logs,
this would cause all tests to fail. And, it is just pure shit to print out:
report "TEST SUCCESS" severity failure.
This task should focus on updating "generate_clock" function to forbid generation once "run" input
is set to false (Or rather when test status is "passed" or "failed"). Hopefully this will not
decrease simulation performance (since there will be extra comparison each clock cycle).
Furthermore, main test loop should finish with "wait" statement to avoid running the test again.
Tricky part of this task is that some of the test have processes which never finish (e.g. are
blocked due to disabled feature in test). Simulator should quit, once there are no events to
process. Hopefully blocked processes won't block the simulator in infinite loop.
If yes (check in Bit Stuffing unit test), then tests must be examined and approach must be
modified.
I believe it is not too many processes...Test maintenancehttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/148GHDL 2008 support2018-06-23T04:46:18ZIlle, Ondrej, Ing.GHDL 2008 supportCheck GHDL 2008 support for possible use with feature tests and internal signals.Check GHDL 2008 support for possible use with feature tests and internal signals.Test maintenancehttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/157driver: handle SocketCAN mode switches2018-06-20T15:15:03ZMartin Jeřábekdriver: handle SocketCAN mode switches* [x] CAN_CTRLMODE_LISTENONLY
* [x] CAN_CTRLMODE_3_SAMPLES
* [x] CAN_CTRLMODE_FD (enable/disable FD)
* [x] CAN_CTRLMODE_PRESUME_ACK
* [x] CAN_CTRLMODE_FD_NON_ISO
* [x] CAN_CTRLMODE_ONE_SHOT* [x] CAN_CTRLMODE_LISTENONLY
* [x] CAN_CTRLMODE_3_SAMPLES
* [x] CAN_CTRLMODE_FD (enable/disable FD)
* [x] CAN_CTRLMODE_PRESUME_ACK
* [x] CAN_CTRLMODE_FD_NON_ISO
* [x] CAN_CTRLMODE_ONE_SHOTLinux driverMartin JeřábekMartin Jeřábekhttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/150interrupt RXBNEI is set, but the RX FIFO is empty2018-06-20T08:59:08ZMartin Jeřábekinterrupt RXBNEI is set, but the RX FIFO is emptyWhat happens:
- one frame is transmitted on the bus and the core receives it
- RXBNEI is set
- ISR clears the interrupt and reads the frame
- RXBNEI is set again, but the frame count in CTU_CAN_FD_RX_STATUS is 0 (should not happen)
- aft...What happens:
- one frame is transmitted on the bus and the core receives it
- RXBNEI is set
- ISR clears the interrupt and reads the frame
- RXBNEI is set again, but the frame count in CTU_CAN_FD_RX_STATUS is 0 (should not happen)
- after clearing it, it is not set again until next frame reception
It is reproducible on the dev board. The RX interrupt handler prints debug messages to kernel log.Bug fixinghttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/106Simple driver in userspace2018-06-20T08:59:08ZMartin JeřábekSimple driver in userspaceCreate a simple userspace app to access the IP, using the low-level driver.Create a simple userspace app to access the IP, using the low-level driver.Martin JeřábekMartin Jeřábekhttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/155Use upstream-based ghdl docker image in CI2018-06-18T12:03:34ZMartin JeřábekUse upstream-based ghdl docker image in CITry it and switch to it. GHDL is getting its share of bugfixes and it is wasteful to compile own images now that GCC builds are distributed officially.Try it and switch to it. GHDL is getting its share of bugfixes and it is wasteful to compile own images now that GCC builds are distributed officially.Continuous integrationMartin JeřábekMartin Jeřábekhttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/154Extend basic unit test run2018-06-13T15:33:31ZIlle, Ondrej, Ing.Extend basic unit test runTest maintenancehttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/45Feature test consolidation2018-06-13T15:14:20ZIlle, Ondrej, Ing.Feature test consolidationFind out problems in all feature tests after the optimization changes!Find out problems in all feature tests after the optimization changes!Test maintenanceIlle, Ondrej, Ing.Ille, Ondrej, Ing.https://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/149CAN Test randomization2018-06-09T11:38:22ZIlle, Ondrej, Ing.CAN Test randomizationAdd randomize input to
CAN Test entity (and possibly also to CAN Test wrapper).
During test initialization random index should be selected for each rand_ctr, if this input is true.
This will allow for automated runs of tests with diffe...Add randomize input to
CAN Test entity (and possibly also to CAN Test wrapper).
During test initialization random index should be selected for each rand_ctr, if this input is true.
This will allow for automated runs of tests with different data!Test maintenancehttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/104Test run from command line2018-06-08T14:18:12ZIlle, Ondrej, Ing.Test run from command lineCreate a simple script which would start Modelsim from Linux command line (e.g. in Python),
and run the CAN Test framework completely in command line.Create a simple script which would start Modelsim from Linux command line (e.g. in Python),
and run the CAN Test framework completely in command line.Test maintenancehttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/62Unit test consolidation2018-06-08T12:41:38ZIlle, Ondrej, Ing.Unit test consolidationMake sure that all the unit tests are accustomized to the changes done during resource optimizationsMake sure that all the unit tests are accustomized to the changes done during resource optimizationsTest maintenancehttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/9RX buffer unit test2018-06-08T12:40:52ZIlle, Ondrej, Ing.RX buffer unit testMake sure that RX buffer unit test run properly after changes in structure of reading the RX data.Make sure that RX buffer unit test run properly after changes in structure of reading the RX data.Test maintenancehttps://gitlab.fel.cvut.cz/canbus/ctucanfd_ip_core/-/issues/103Identifier comparison in Testlib2018-06-06T13:04:20ZIlle, Ondrej, Ing.Identifier comparison in TestlibCAN Test library used in sanity tests is missing comparison of identifier decimal values!CAN Test library used in sanity tests is missing comparison of identifier decimal values!Test maintenance