CDL Modules
|
JTAG tap controller module. More...
JTAG tap controller module.
Copyright (C) 2018, Gavin J Stark. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
CDL implementation of a module that (with a client) permits an application specific TAP controller to be built.
It implements the JTAG state machine, with an IR length provided by a constant (so a build option), and a maximum data register (DR) length also by constant.
The client must use the IR to determine how the DR must be CAPTUREd and SHIFTed, and also to use the DR when UPDATE occurs.
The JTAG implementation uses a single shift register between TDI and TDO whose length is effectively adjusted to be ir_length in shifting IR and to be client-defined (based on IR) in shifting DR.
Data Structures | |
struct | jtag_tap::t_jtag_state |
struct | jtag_tap::t_jtag_combs |
Namespaces | |
jtag_tap | |
Variables | |
constant integer | jtag_tap::ir_length =5 |
constant integer | jtag_tap::dr_length =50 |
constant integer | jtag_tap::max_length =50 |