OpenCores
URL https://opencores.org/ocsvn/adv_debug_sys/adv_debug_sys/trunk

Subversion Repositories adv_debug_sys

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /adv_debug_sys/tags/ADS_RELEASE_1_1_0/Hardware/jtag/cells
    from Rev 8 to Rev 18
    Reverse comparison

Rev 8 → Rev 18

/rtl/verilog/InputCell.v
0,0 → 1,62
/**********************************************************************************
* *
* This verilog file is a part of the Boundary Scan Implementation and comes in *
* a pack with several other files. It is fully IEEE 1149.1 compliant. *
* For details check www.opencores.org (pdf files, bsdl file, etc.) *
* *
* Copyright (C) 2000 Igor Mohor (igorm@opencores.org) and OPENCORES.ORG *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* See the file COPYING for the full details of the license. *
* *
* OPENCORES.ORG is looking for new open source IP cores and developers that *
* would like to help in our mission. *
* *
**********************************************************************************/
 
 
 
/**********************************************************************************
* *
* Input Cell: *
* *
* InputPin: Value that comes from on-chip logic and goes to pin *
* FromPreviousBSCell: Value from previous boundary scan cell *
* ToNextBSCell: Value for next boundary scan cell *
* CaptureDR, ShiftDR: TAP states *
* TCK: Test Clock *
* *
**********************************************************************************/
 
// This is not a top module
module InputCell( InputPin, FromPreviousBSCell, CaptureDR, ShiftDR, TCK, ToNextBSCell);
input InputPin;
input FromPreviousBSCell;
input CaptureDR;
input ShiftDR;
input TCK;
reg Latch;
output ToNextBSCell;
reg ToNextBSCell;
 
wire SelectedInput = CaptureDR? InputPin : FromPreviousBSCell;
 
always @ (posedge TCK)
begin
if(CaptureDR | ShiftDR)
Latch<=SelectedInput;
end
 
always @ (negedge TCK)
begin
ToNextBSCell<=Latch;
end
 
 
endmodule // InputCell
/rtl/verilog/ControlCell.v
0,0 → 1,77
/**********************************************************************************
* *
* This verilog file is a part of the Boundary Scan Implementation and comes in *
* a pack with several other files. It is fully IEEE 1149.1 compliant. *
* For details check www.opencores.org (pdf files, bsdl file, etc.) *
* *
* Copyright (C) 2000 Igor Mohor (igorm@opencores.org) and OPENCORES.ORG *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* See the file COPYING for the full details of the license. *
* *
* OPENCORES.ORG is looking for new open source IP cores and developers that *
* would like to help in our mission. *
* *
**********************************************************************************/
 
 
/**********************************************************************************
* *
* I/O Control Cell: *
* *
* OutputControl: Output Control from on-chip logic *
* FromPreviousBSCell: Value from previous boundary scan cell *
* ToNextBSCell: Value for next boundary scan cell *
* CaptureDR, ShiftDR, UpdateDR: TAP states *
* extest: Instruction Register Command *
* TCK: Test Clock *
* *
* Output Enable can be generated by running CaptureDR-UpdateDR sequence or *
* shifting data for the exact number of time *
* *
**********************************************************************************/
 
// This is not a top module
module ControlCell( OutputControl, FromPreviousBSCell, CaptureDR, ShiftDR, UpdateDR, extest, TCK, ToNextBSCell, ToOutputEnable);
input OutputControl;
input FromPreviousBSCell;
input CaptureDR;
input ShiftDR;
input UpdateDR;
input extest;
input TCK;
 
reg Latch;
 
output ToNextBSCell;
output ToOutputEnable;
 
reg ToNextBSCell;
reg ShiftedControl;
 
wire SelectedInput = CaptureDR? OutputControl : FromPreviousBSCell;
 
always @ (posedge TCK)
begin
if(CaptureDR | ShiftDR)
Latch<=SelectedInput;
end
 
always @ (negedge TCK)
begin
ToNextBSCell<=Latch;
end
 
always @ (negedge TCK)
begin
if(UpdateDR)
ShiftedControl<=ToNextBSCell;
end
 
assign ToOutputEnable = extest? ShiftedControl : OutputControl;
 
endmodule // ControlCell
/rtl/verilog/OutputCell.v
0,0 → 1,83
/**********************************************************************************
* *
* This verilog file is a part of the Boundary Scan Implementation and comes in *
* a pack with several other files. It is fully IEEE 1149.1 compliant. *
* For details check www.opencores.org (pdf files, bsdl file, etc.) *
* *
* Copyright (C) 2000 Igor Mohor (igorm@opencores.org) and OPENCORES.ORG *
* *
* This program is free software; you can redistribute it and/or modify *
* it under the terms of the GNU General Public License as published by *
* the Free Software Foundation; either version 2 of the License, or *
* (at your option) any later version. *
* *
* See the file COPYING for the full details of the license. *
* *
* OPENCORES.ORG is looking for new open source IP cores and developers that *
* would like to help in our mission. *
* *
**********************************************************************************/
 
 
 
/**********************************************************************************
* *
* Output Cell: *
* *
* FromCore: Value that comes from on-chip logic and goes to pin *
* FromPreviousBSCell: Value from previous boundary scan cell *
* ToNextBSCell: Value for next boundary scan cell *
* CaptureDR, ShiftDR, UpdateDR: TAP states *
* extest: Instruction Register Command *
* TCK: Test Clock *
* TristatedPin: Signal from core is connected to this output pin via BS *
* FromOutputEnable: This pin comes from core or ControlCell *
* *
* Signal that is connected to TristatedPin comes from core or BS chain. *
* Tristate control is generated in core or BS chain (ControlCell). *
* *
**********************************************************************************/
 
// This is not a top module
module OutputCell( FromCore, FromPreviousBSCell, CaptureDR, ShiftDR, UpdateDR, extest, TCK, ToNextBSCell, FromOutputEnable, TristatedPin);
input FromCore;
input FromPreviousBSCell;
input CaptureDR;
input ShiftDR;
input UpdateDR;
input extest;
input TCK;
input FromOutputEnable;
 
reg Latch;
 
output ToNextBSCell;
reg ToNextBSCell;
 
output TristatedPin;
 
reg ShiftedControl;
 
wire SelectedInput = CaptureDR? FromCore : FromPreviousBSCell;
 
always @ (posedge TCK)
begin
if(CaptureDR | ShiftDR)
Latch<=SelectedInput;
end
 
always @ (negedge TCK)
begin
ToNextBSCell<=Latch;
end
 
always @ (negedge TCK)
begin
if(UpdateDR)
ShiftedControl<=ToNextBSCell;
end
 
wire MuxedSignal = extest? ShiftedControl : FromCore;
assign TristatedPin = FromOutputEnable? MuxedSignal : 1'bz;
 
endmodule // OutputCell
/rtl/verilog/BiDirectionalCell.v
0,0 → 1,66
/**********************************************************************************
* *
* BiDirectional Cell: *
* *
* FromCore: Value that comes from on-chip logic and goes to pin *
* ToCore: Value that is read-in from the pin and goes to core *
* FromPreviousBSCell: Value from previous boundary scan cell *
* ToNextBSCell: Value for next boundary scan cell *
* CaptureDR, ShiftDR, UpdateDR: TAP states *
* extest: Instruction Register Command *
* TCK: Test Clock *
* BiDirPin: Bidirectional pin connected to this BS cell *
* FromOutputEnable: This pin comes from core or ControlCell *
* *
* Signal that is connected to BiDirPin comes from core or BS chain. Tristate *
* control is generated in core or BS chain (ControlCell). *
* *
**********************************************************************************/
 
module BiDirectionalCell( FromCore, ToCore, FromPreviousBSCell, CaptureDR, ShiftDR, UpdateDR, extest, TCK, ToNextBSCell, FromOutputEnable, BiDirPin);
input FromCore;
input FromPreviousBSCell;
input CaptureDR;
input ShiftDR;
input UpdateDR;
input extest;
input TCK;
input FromOutputEnable;
 
reg Latch;
 
output ToNextBSCell;
reg ToNextBSCell;
 
output BiDirPin;
output ToCore;
 
reg ShiftedControl;
 
wire SelectedInput = CaptureDR? BiDirPin : FromPreviousBSCell;
 
always @ (posedge TCK)
begin
if(CaptureDR | ShiftDR)
Latch<=SelectedInput;
end
 
always @ (negedge TCK)
begin
ToNextBSCell<=Latch;
end
 
always @ (negedge TCK)
begin
if(UpdateDR)
ShiftedControl<=ToNextBSCell;
end
 
wire MuxedSignal = extest? ShiftedControl : FromCore;
assign BiDirPin = FromOutputEnable? MuxedSignal : 1'bz;
 
//BUF Buffer (.I(BiDirPin), .O(ToCore));
assign ToCore = BiDirPin;
 
 
endmodule // TristateCell

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.