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

Subversion Repositories iso7816_3_master

[/] [iso7816_3_master/] [trunk/] [test/] [tsAnalyzer.v] - Diff between revs 15 and 17

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 15 Rev 17
Line 1... Line 1...
/*
/*
Author: Sebastien Riou (acapola)
Author: Sebastien Riou (acapola)
Creation date: 22:22:43 01/10/2011
Creation date: 22:22:43 01/10/2011
 
 
$LastChangedDate: 2011-02-13 16:20:10 +0100 (Sun, 13 Feb 2011) $
$LastChangedDate: 2011-02-18 15:23:07 +0100 (Fri, 18 Feb 2011) $
$LastChangedBy: acapola $
$LastChangedBy: acapola $
$LastChangedRevision: 15 $
$LastChangedRevision: 17 $
$HeadURL: file:///svn/iso7816_3_master/iso7816_3_master/trunk/test/tsAnalyzer.v $
$HeadURL: file:///svn/iso7816_3_master/iso7816_3_master/trunk/test/tsAnalyzer.v $
 
 
This file is under the BSD licence:
This file is under the BSD licence:
Copyright (c) 2011, Sebastien Riou
Copyright (c) 2011, Sebastien Riou
 
 
Line 55... Line 55...
reg [16:0] resetCnt;
reg [16:0] resetCnt;
reg waitTs;
reg waitTs;
assign tsReceived = ~waitTs;
assign tsReceived = ~waitTs;
assign atrIsEarly = ~waitTs & (resetCnt<(16'h100+16'd400));
assign atrIsEarly = ~waitTs & (resetCnt<(16'h100+16'd400));
assign atrIsLate = resetCnt>(16'h100+16'd40000);
assign atrIsLate = resetCnt>(16'h100+16'd40000);
assign useIndirectConvention = ~waitTs & (ts==8'h03);//03 is 3F written LSB first and complemented
assign useIndirectConvention = ~waitTs & (ts==8'h3F);
assign tsError = ~waitTs & (ts!=8'h3B) & ~useIndirectConvention;
assign tsError = ~waitTs & (ts!=8'h3B) & (ts!=8'h3F);
 
 
assign isActivated = isoReset & isoVdd;
assign isActivated = isoReset & isoVdd;
wire fsm_nReset=nReset & isoReset & isoVdd;
wire fsm_nReset=nReset & isoReset & isoVdd;
always @(posedge isoClk, negedge fsm_nReset) begin
always @(posedge isoClk, negedge fsm_nReset) begin
        if(~fsm_nReset) begin
        if(~fsm_nReset) begin
Line 70... Line 70...
                if(waitTs) begin
                if(waitTs) begin
                        if(endOfRx) begin
                        if(endOfRx) begin
                                waitTs<=1'b0;
                                waitTs<=1'b0;
                                case(rxData)
                                case(rxData)
                                        8'h3B: ts<=rxData;
                                        8'h3B: ts<=rxData;
                                        8'h03: ts<=8'h3F;
                                        8'h03: ts<=8'h3F;//03 is 3F written LSB first and complemented
                                        default: ts<=rxData;
                                        default: ts<=rxData;
                                endcase
                                endcase
                        end
                        end
                        resetCnt<=resetCnt+1;
                        resetCnt<=resetCnt+1;
                end
                end

powered by: WebSVN 2.1.0

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