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

Subversion Repositories iso7816_3_master

[/] [iso7816_3_master/] [trunk/] [sources/] [HalfDuplexUartIf.v] - Diff between revs 4 and 7

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

Rev 4 Rev 7
Line 23... Line 23...
    input wire nReset,
    input wire nReset,
    input wire clk,
    input wire clk,
    input wire [DIVIDER_WIDTH-1:0] clkPerCycle,
    input wire [DIVIDER_WIDTH-1:0] clkPerCycle,
         input wire [7:0] dataIn,
         input wire [7:0] dataIn,
    input wire nWeDataIn,
    input wire nWeDataIn,
 
    input wire [CLOCK_PER_BIT_WIDTH-1:0] clocksPerBit,
    output wire [7:0] dataOut,
    output wire [7:0] dataOut,
    input wire nCsDataOut,
    input wire nCsDataOut,
    output wire [7:0] statusOut,
    output wire [7:0] statusOut,
    input wire nCsStatusOut,
    input wire nCsStatusOut,
    input wire serialIn,
    input wire serialIn,
         output wire serialOut,
         output wire serialOut,
         output wire comClk
         output wire comClk
    );
    );
//parameters to override
//parameters to override
parameter DIVIDER_WIDTH = 1;
parameter DIVIDER_WIDTH = 1;
 
parameter CLOCK_PER_BIT_WIDTH = 13;     //allow to support default speed of ISO7816
 
 
   reg [7:0] dataReg;
   reg [7:0] dataReg;
 
 
        // Inputs
        // Inputs
        wire [7:0] txData;
        wire [7:0] txData;
        wire [12:0] clocksPerBit;
        //wire [12:0] clocksPerBit;
        wire stopBit2=1;
        wire stopBit2=1;
        wire oddParity=0; //if 1, parity bit is such that data+parity have an odd number of 1
        wire oddParity=0; //if 1, parity bit is such that data+parity have an odd number of 1
   wire msbFirst=0;  //if 1, bits will be send in the order startBit, b7, b6, b5...b0, parity
   wire msbFirst=0;  //if 1, bits will be send in the order startBit, b7, b6, b5...b0, parity
        reg txPending;
        reg txPending;
        wire ackFlags;
        wire ackFlags;
Line 62... Line 64...
   wire rxFlagsSet = dataOutReadyFlag | overrunErrorFlag | frameErrorFlag;
   wire rxFlagsSet = dataOutReadyFlag | overrunErrorFlag | frameErrorFlag;
   reg bufferFull;
   reg bufferFull;
   reg [1:0] flagsReg;
   reg [1:0] flagsReg;
 
 
   assign txData = dataReg;
   assign txData = dataReg;
   assign clocksPerBit = 7;
   //assign clocksPerBit = 7;
 
 
   assign dataOut=dataReg;
   assign dataOut=dataReg;
   assign statusOut[7:0]={txRun, txPending, rxRun, rxStartBit, isTx, flagsReg, bufferFull};
   assign statusOut[7:0]={txRun, txPending, rxRun, rxStartBit, isTx, flagsReg, bufferFull};
 
 
reg waitTxFull0;//internal reg for managing bufferFull bit in Tx
reg waitTxFull0;//internal reg for managing bufferFull bit in Tx
Line 103... Line 105...
         waitTxFull0 <= txFull;
         waitTxFull0 <= txFull;
      end
      end
   end
   end
end
end
 
 
        BasicHalfDuplexUart #(.DIVIDER_WIDTH(DIVIDER_WIDTH))
        BasicHalfDuplexUart #(
 
                .DIVIDER_WIDTH(DIVIDER_WIDTH),
 
                .CLOCK_PER_BIT_WIDTH(CLOCK_PER_BIT_WIDTH)
 
                )
        uart (
        uart (
                .rxData(rxData),
                .rxData(rxData),
                .overrunErrorFlag(overrunErrorFlag),
                .overrunErrorFlag(overrunErrorFlag),
                .dataOutReadyFlag(dataOutReadyFlag),
                .dataOutReadyFlag(dataOutReadyFlag),
                .frameErrorFlag(frameErrorFlag),
                .frameErrorFlag(frameErrorFlag),

powered by: WebSVN 2.1.0

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