c4m-jtag.git
4 years agoUpdate test code for interface change of c4m_jtag_tap_controller.
Staf Verhaegen [Wed, 4 Dec 2019 16:34:23 +0000 (17:34 +0100)]
Update test code for interface change of c4m_jtag_tap_controller.

4 years agoHandle stall signal.
Staf Verhaegen [Fri, 6 Dec 2019 16:09:26 +0000 (17:09 +0100)]
Handle stall signal.

4 years agoAdded nmigen wrapper and support code for JTAG interface.
Staf Verhaegen [Wed, 13 Nov 2019 11:32:55 +0000 (12:32 +0100)]
Added nmigen wrapper and support code for JTAG interface.

nmigen code has support for adding shift registers and a Wishbone bus
master that is drive by JTAG commands.

4 years agoOnly add assert statement if DEBUG generic is true.
Staf Verhaegen [Tue, 29 Oct 2019 12:02:21 +0000 (13:02 +0100)]
Only add assert statement if DEBUG generic is true.

Default value is false.

4 years agococotb/c4m_jtag: support trst_n to be None.
Staf Verhaegen [Thu, 3 Oct 2019 14:47:47 +0000 (16:47 +0200)]
cocotb/c4m_jtag: support trst_n to be None.

4 years agoc4m_jtag_tap_controller: Remove TAPSTATE_TYPE signals and TDO_EN from interface
Staf Verhaegen [Thu, 3 Oct 2019 14:46:27 +0000 (16:46 +0200)]
c4m_jtag_tap_controller: Remove TAPSTATE_TYPE signals and TDO_EN from interface

4 years agoclean up unused python import statements
Staf Verhaegen [Mon, 26 Aug 2019 19:02:39 +0000 (21:02 +0200)]
clean up unused python import statements

4 years agoIDCODE:
Staf Verhaegen [Sun, 7 Jul 2019 16:29:06 +0000 (18:29 +0200)]
IDCODE:
- provide default manufacturer ID that is invalid according to spec
- provide default for all MANUFACTURER, PART_NUMBER and VERSION

5 years agoDon't use tri-state logic for TDO; introduce TDO_EN signal to indicate when TDO is...
Staf Verhaegen [Mon, 25 Jun 2018 16:48:03 +0000 (18:48 +0200)]
Don't use tri-state logic for TDO; introduce TDO_EN signal to indicate when TDO is valid.

Add assert for conflicting TDO assignment.

5 years agoSimulation setup improvements:
Staf Verhaegen [Mon, 25 Jun 2018 16:46:28 +0000 (18:46 +0200)]
Simulation setup improvements:

 * Use cocotb-path to get cocotb install dir
 * Use relative paths to find source code for simulation
 * Remove rm dual_serial test
 * Ignore build directory

6 years agoAdded SVF_Executor class that allows to execute a SVF file through a JTAG_Master...
Staf Verhaegen [Sat, 14 Apr 2018 09:28:44 +0000 (11:28 +0200)]
Added SVF_Executor class that allows to execute a SVF file through a JTAG_Master object

Currently only limited implementation only enough to run demos in simulation
on the Retro_uC.

6 years agoAdded SVF grammar parser
Staf Verhaegen [Sat, 14 Apr 2018 09:20:36 +0000 (11:20 +0200)]
Added SVF grammar parser

Using modgrammar (can be installed with pip)
TODO: PIO, PIOMAP

6 years agoJTAG_master class: fix bug that wrongly changed state to Scan when TMS is 0
Staf Verhaegen [Sat, 14 Apr 2018 09:18:56 +0000 (11:18 +0200)]
JTAG_master class: fix bug that wrongly changed state to Scan when TMS is 0

6 years agoJTAG_master class: document need for manual setting of state after using change_state...
Staf Verhaegen [Sat, 14 Apr 2018 09:17:45 +0000 (11:17 +0200)]
JTAG_master class: document need for manual setting of state after using change_state method

6 years agoFix ghdl sim script.
Staf Verhaegen [Sat, 25 Nov 2017 15:44:05 +0000 (16:44 +0100)]
Fix ghdl sim script.

6 years agoImport the JTAG interface code as used for the Chips4Maker pilot Retro-uC
Staf Verhaegen [Sun, 27 Aug 2017 20:05:24 +0000 (22:05 +0200)]
Import the JTAG interface code as used for the Chips4Maker pilot Retro-uC

This code has currently been tested in FPGA through a buspirate so should
already be functional.