Staf Verhaegen [Wed, 21 Apr 2021 18:23:34 +0000 (20:23 +0200)]
Merge rebased_on_upstream into master
Some commits were upstreamed and the rest was rebased on upstream master.
Then the was merged in out master to keep continuos stream of commits.
Luke Kenneth Casson Leighton [Sat, 17 Apr 2021 08:03:44 +0000 (09:03 +0100)]
whitespace (pep8)
Luke Kenneth Casson Leighton [Sat, 17 Apr 2021 07:46:26 +0000 (08:46 +0100)]
add code-comments regarding potential use of FFSynchroniser
Luke Kenneth Casson Leighton [Fri, 16 Apr 2021 22:47:15 +0000 (23:47 +0100)]
single-cycle mode fix on wb "wen" signal, must hold fully until ACKed
Luke Kenneth Casson Leighton [Fri, 16 Apr 2021 20:00:26 +0000 (21:00 +0100)]
underscore names on submodules possibly interfering with verilator
Luke Kenneth Casson Leighton [Thu, 8 Apr 2021 23:02:24 +0000 (00:02 +0100)]
if no wb stall assume single-cycle mode
Luke Kenneth Casson Leighton [Sun, 25 Oct 2020 11:26:26 +0000 (11:26 +0000)]
resolve issue in coriolis2 with passing nmigen expressions rather
than signals to a submodule
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 19:30:40 +0000 (20:30 +0100)]
add cocotb as a test dependency (not an install dependency)
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 19:22:37 +0000 (20:22 +0100)]
removing cocotb from install dependencies, it is a test dependency
not an operational dependency;
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 13:12:02 +0000 (14:12 +0100)]
code-cleanup / comments on JTAG IO
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:54:19 +0000 (13:54 +0100)]
add DMI interface to JTAG TAP
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:42:29 +0000 (13:42 +0100)]
fix wishbone optional stall
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:38:43 +0000 (13:38 +0100)]
add default features over-ride option to wishbone
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:33:26 +0000 (13:33 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:32:51 +0000 (13:32 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:27:09 +0000 (13:27 +0100)]
nmigen explicit imports
Staf Verhaegen [Wed, 21 Apr 2021 17:35:34 +0000 (19:35 +0200)]
Remove generated test file.
Staf Verhaegen [Wed, 21 Apr 2021 17:30:54 +0000 (19:30 +0200)]
Fix path for env
Luke Kenneth Casson Leighton [Sat, 17 Apr 2021 08:03:09 +0000 (09:03 +0100)]
comment on why clocks are in FSM
Staf Verhaegen [Thu, 1 Apr 2021 12:38:46 +0000 (14:38 +0200)]
modgrammar dependency
Staf Verhaegen [Thu, 1 Apr 2021 11:48:37 +0000 (13:48 +0200)]
Typo (is -> ==)
Staf Verhaegen [Thu, 1 Apr 2021 11:48:17 +0000 (13:48 +0200)]
svfcocotb: Fix results access for SDR and SIR.
Staf Verhaegen [Thu, 1 Apr 2021 11:47:18 +0000 (13:47 +0200)]
svfgrammar: Forgotten SVF statements.
Staf Verhaegen [Thu, 1 Apr 2021 11:46:34 +0000 (13:46 +0200)]
Support lower case hex letters.
Staf Verhaegen [Wed, 21 Apr 2021 17:19:32 +0000 (19:19 +0200)]
Connect tdi to tdo for boundary scan without IOs.
Staf Verhaegen [Wed, 21 Apr 2021 17:35:34 +0000 (19:35 +0200)]
Remove generated test file.
Staf Verhaegen [Wed, 21 Apr 2021 17:30:54 +0000 (19:30 +0200)]
Fix path for env
Staf Verhaegen [Wed, 21 Apr 2021 17:19:32 +0000 (19:19 +0200)]
Connect tdi to tdo for boundary scan without IOs.
Luke Kenneth Casson Leighton [Thu, 22 Oct 2020 17:13:57 +0000 (18:13 +0100)]
Handle case with zero IO cells for boundary scan.
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:36:47 +0000 (13:36 +0100)]
Comment sections in TAP.elaborate()
Staf Verhaegen [Wed, 21 Apr 2021 15:54:40 +0000 (17:54 +0200)]
Merge upstream master in libre-soc master.
Luke Kenneth Casson Leighton [Sat, 17 Apr 2021 08:03:44 +0000 (09:03 +0100)]
whitespace (pep8)
Luke Kenneth Casson Leighton [Sat, 17 Apr 2021 08:03:09 +0000 (09:03 +0100)]
comment on why clocks are in FSM
Luke Kenneth Casson Leighton [Sat, 17 Apr 2021 07:46:26 +0000 (08:46 +0100)]
add code-comments regarding potential use of FFSynchroniser
Luke Kenneth Casson Leighton [Fri, 16 Apr 2021 22:47:15 +0000 (23:47 +0100)]
single-cycle mode fix on wb "wen" signal, must hold fully until ACKed
Luke Kenneth Casson Leighton [Fri, 16 Apr 2021 20:00:26 +0000 (21:00 +0100)]
underscore names on submodules possibly interfering with verilator
Luke Kenneth Casson Leighton [Thu, 8 Apr 2021 23:02:24 +0000 (00:02 +0100)]
if no wb stall assume single-cycle mode
Staf Verhaegen [Thu, 8 Apr 2021 11:43:48 +0000 (13:43 +0200)]
nmigen-soc dependency
Staf Verhaegen [Thu, 1 Apr 2021 12:38:46 +0000 (14:38 +0200)]
modgrammar dependency
Staf Verhaegen [Thu, 1 Apr 2021 11:48:37 +0000 (13:48 +0200)]
Typo (is -> ==)
Staf Verhaegen [Thu, 1 Apr 2021 11:48:17 +0000 (13:48 +0200)]
svfcocotb: Fix results access for SDR and SIR.
Staf Verhaegen [Thu, 1 Apr 2021 11:47:18 +0000 (13:47 +0200)]
svfgrammar: Forgotten SVF statements.
Staf Verhaegen [Thu, 1 Apr 2021 11:46:34 +0000 (13:46 +0200)]
Support lower case hex letters.
Luke Kenneth Casson Leighton [Mon, 29 Mar 2021 14:59:36 +0000 (15:59 +0100)]
Revert "remove scm_version from setup.py"
This reverts commit
8241c4fdf5d89c710b073c3a6544f7cc7c944e02.
Luke Kenneth Casson Leighton [Wed, 17 Mar 2021 21:55:31 +0000 (21:55 +0000)]
remove scm_version from setup.py
Luke Kenneth Casson Leighton [Sun, 25 Oct 2020 11:26:26 +0000 (11:26 +0000)]
resolve issue in coriolis2 with passing nmigen expressions rather
than signals to a submodule
Luke Kenneth Casson Leighton [Thu, 22 Oct 2020 17:16:05 +0000 (18:16 +0100)]
correctly test length of IOs
Luke Kenneth Casson Leighton [Thu, 22 Oct 2020 17:13:57 +0000 (18:13 +0100)]
do not need to do IOconn
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 19:30:40 +0000 (20:30 +0100)]
add cocotb as a test dependency (not an install dependency)
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 19:22:37 +0000 (20:22 +0100)]
removing cocotb from install dependencies, it is a test dependency
not an operational dependency;
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 13:12:02 +0000 (14:12 +0100)]
code-cleanup / comments on JTAG IO
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:54:19 +0000 (13:54 +0100)]
add DMI interface to JTAG TAP
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:42:29 +0000 (13:42 +0100)]
fix wishbone optional stall
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:38:43 +0000 (13:38 +0100)]
add default features over-ride option to wishbone
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:36:47 +0000 (13:36 +0100)]
whitespace, comments
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:33:26 +0000 (13:33 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:32:51 +0000 (13:32 +0100)]
whitespace cleanup
Luke Kenneth Casson Leighton [Fri, 9 Oct 2020 12:27:09 +0000 (13:27 +0100)]
nmigen explicit imports
Staf Verhaegen [Mon, 6 Jan 2020 16:39:25 +0000 (17:39 +0100)]
Fix cocotb path for c4m_jtag_svfgrammar.
Staf Verhaegen [Wed, 25 Dec 2019 14:21:35 +0000 (15:21 +0100)]
BinaryValue API change.
Staf Verhaegen [Tue, 17 Dec 2019 19:26:08 +0000 (20:26 +0100)]
Update the unit tests.
* Add test for custom shiftreg
* Add Wishbone JTAG port test.
Staf Verhaegen [Tue, 17 Dec 2019 16:53:08 +0000 (17:53 +0100)]
cocotb improvements
* Made ir_width configurable.
* Allow to use BinaryValue for load_ir.
Staf Verhaegen [Mon, 6 Jan 2020 17:06:05 +0000 (18:06 +0100)]
Made nmigen code independent of VHDL code.
All blocks have been converted to nmigen.
Staf Verhaegen [Mon, 6 Jan 2020 17:05:06 +0000 (18:05 +0100)]
Support for different IO types in VHDL code.
IO cells can now be input, output, tri-state output, tri-state
inout. Update tests and added separate test for c4m_jtag_ioblock.
Staf Verhaegen [Tue, 17 Dec 2019 19:26:46 +0000 (20:26 +0100)]
Force passing by name for TAP.add_shiftreg().
Staf Verhaegen [Tue, 17 Dec 2019 19:27:08 +0000 (20:27 +0100)]
Also clean python cache.
Staf Verhaegen [Mon, 16 Dec 2019 10:00:04 +0000 (11:00 +0100)]
Added test bench for nmigen TAP with cocotb.
Based on vhdl controller test bench.
Staf Verhaegen [Mon, 16 Dec 2019 15:36:45 +0000 (16:36 +0100)]
Fix order of iocells in ioblock.
Staf Verhaegen [Mon, 16 Dec 2019 09:45:15 +0000 (10:45 +0100)]
Specify names for TAP signals.
Staf Verhaegen [Sun, 15 Dec 2019 12:54:18 +0000 (13:54 +0100)]
Basic nmigen generator bench for TAP top cell.
Simple generation with nmigen and yosys as only dependency.
Staf Verhaegen [Sun, 15 Dec 2019 14:19:51 +0000 (15:19 +0100)]
Fix paths after move.
Staf Verhaegen [Sun, 15 Dec 2019 13:55:36 +0000 (14:55 +0100)]
[broken]Moved test benches to test/vhdl
test/vhdl will be for test benches of the vhdl code; test/nmigen for the
nmigen code.
This just moves the files. They will be fixed in next commit.
Staf Verhaegen [Sun, 15 Dec 2019 13:52:36 +0000 (14:52 +0100)]
Move idcode.vhdl to test/ghdl/idcode
Staf Verhaegen [Sun, 15 Dec 2019 13:49:46 +0000 (14:49 +0100)]
Remove unused bench
Staf Verhaegen [Tue, 10 Dec 2019 20:31:16 +0000 (21:31 +0100)]
Made STATE and NEXT_STATE internal to c4m_jtag_tap_fsm.
This also makes the STATE_TYPE type internal to c4m_jtag_tap_fsm.
Staf Verhaegen [Tue, 10 Dec 2019 20:17:18 +0000 (21:17 +0100)]
Pass VERSION generic from controller to idblock.
Staf Verhaegen [Tue, 10 Dec 2019 20:16:00 +0000 (21:16 +0100)]
Moved function definitions before component definitions in pkg.
Staf Verhaegen [Tue, 10 Dec 2019 20:14:31 +0000 (21:14 +0100)]
Added TODO for IOMODEs.
Staf Verhaegen [Sun, 8 Dec 2019 09:48:56 +0000 (10:48 +0100)]
Add top controller instance from nmigen code.
Currently ghdlsynth needs instantiated cell with given generic values.
Staf Verhaegen [Fri, 6 Dec 2019 19:06:49 +0000 (20:06 +0100)]
Simplify signal generation for TAP wishbone interfaces.
Staf Verhaegen [Fri, 6 Dec 2019 19:06:06 +0000 (20:06 +0100)]
Use Elif for third m.next assignment.
This way m.next assignments are done in one If/Elif statements for
the "IDLE" state and not in two different If statements.
Staf Verhaegen [Fri, 6 Dec 2019 10:40:40 +0000 (11:40 +0100)]
Use Wishbone code from nmigen-soc.
Staf Verhaegen [Fri, 6 Dec 2019 11:07:27 +0000 (12:07 +0100)]
Support JTAG bus with a reset signal.
Staf Verhaegen [Fri, 6 Dec 2019 10:47:43 +0000 (11:47 +0100)]
Rework ShiftReg and Wishbone elaboration.
- ShiftReg is now a Record subclass just providing the interface for
user code.
- JTAGWishbone class is removed.
- elaboration for ShiftReg and Wishbone is now done in
_elaborate_shiftregs() and _elaborate_whishbones() TAP methods.
Staf Verhaegen [Fri, 6 Dec 2019 10:17:48 +0000 (11:17 +0100)]
Use the JTAG Interface class as bus.
Staf Verhaegen [Fri, 6 Dec 2019 09:46:18 +0000 (10:46 +0100)]
Get Wishbone from c4m lib.
Staf Verhaegen [Fri, 6 Dec 2019 09:43:10 +0000 (10:43 +0100)]
Rename JTAG to TAP.
Staf Verhaegen [Thu, 5 Dec 2019 19:48:18 +0000 (20:48 +0100)]
Renamed jtag.py -> tap.py.
Staf Verhaegen [Thu, 5 Dec 2019 19:43:26 +0000 (20:43 +0100)]
Added JTAG bus interface.
Staf Verhaegen [Thu, 5 Dec 2019 16:22:20 +0000 (17:22 +0100)]
Move pmod resource to own file and convert it in one function.
Staf Verhaegen [Wed, 4 Dec 2019 19:50:13 +0000 (20:50 +0100)]
python setuptools files
Staf Verhaegen [Wed, 4 Dec 2019 16:36:22 +0000 (17:36 +0100)]
Fix code after move
* tests fixed
* path to vhdl source
Staf Verhaegen [Fri, 6 Dec 2019 18:07:41 +0000 (19:07 +0100)]
[broken]Move code
Moved files without any changes to easily track later changes.
Staf Verhaegen [Wed, 4 Dec 2019 15:29:31 +0000 (16:29 +0100)]
Setup new structure for code
New structure will be compatible with easy pip/conda installing.
Staf Verhaegen [Thu, 5 Dec 2019 19:39:50 +0000 (20:39 +0100)]
Made _add_files static method of JTAG.
Staf Verhaegen [Wed, 4 Dec 2019 16:34:23 +0000 (17:34 +0100)]
Update test code for interface change of c4m_jtag_tap_controller.
Staf Verhaegen [Fri, 6 Dec 2019 16:09:26 +0000 (17:09 +0100)]
Handle stall signal.
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.
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.
Staf Verhaegen [Thu, 3 Oct 2019 14:47:47 +0000 (16:47 +0200)]
cocotb/c4m_jtag: support trst_n to be None.