⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 m3s008ct.v

📁 这是16位定点dsp源代码。已仿真和综合过了
💻 V
字号:
//*******************************************************************       ////IMPORTANT NOTICE                                                          ////================                                                          ////Copyright Mentor Graphics Corporation 1996 - 1998.  All rights reserved.  ////This file and associated deliverables are the trade secrets,              ////confidential information and copyrighted works of Mentor Graphics         ////Corporation and its licensors and are subject to your license agreement   ////with Mentor Graphics Corporation.                                         ////                                                                          ////These deliverables may be used for the purpose of making silicon for one  ////IC design only.  No further use of these deliverables for the purpose of  ////making silicon from an IC design is permitted without the payment of an   ////additional license fee.  See your license agreement with Mentor Graphics  ////for further details.  If you have further questions please contact        ////Mentor Graphics Customer Support.                                         ////                                                                          ////This Mentor Graphics core (m320c50eng v1999.010) was extracted on         ////workstation hostid 800059c1 Inventra                                      //// Block Repeat Controller// Copyright Mentor Graphics Corporation and Licensors 1998.// V1.203// Revision history// V1.203 - 27 June 1997//          Number of tri-state drivers reduced.// V1.202 - 16 December 1996//          BRCR decrement delayed and gated with IFnEx.// V1.201 - 29 July 1996//          Reads of BRCR pipelined by one stage for compatability.// V1.2   - 3 June 1996//          SetBRAF signal generated when LdPARegs and BRCR not being loaded//          with 0.// V1.103 - 10 May 1996// m3s008ct// M320C50 Block repeat controller// Provides the three registers (PASR, PAER, and BRCR) that control the// block repeat operation.//// BrptRegCntrl://    0    Load BRCR//    1    Load PASR//    2    Load PAER//    3    Store BRCR//    4    Store PASR//    5    Store PAER//module m3s008ct (ProgBus, DataBus, PFC, PFCDec,//*******************************************************************       ////IMPORTANT NOTICE                                                          ////================                                                          ////Copyright Mentor Graphics Corporation 1996 - 1998.  All rights reserved.  ////This file and associated deliverables are the trade secrets,              ////confidential information and copyrighted works of Mentor Graphics         ////Corporation and its licensors and are subject to your license agreement   ////with Mentor Graphics Corporation.                                         ////                                                                          ////These deliverables may be used for the purpose of making silicon for one  ////IC design only.  No further use of these deliverables for the purpose of  ////making silicon from an IC design is permitted without the payment of an   ////additional license fee.  See your license agreement with Mentor Graphics  ////for further details.  If you have further questions please contact        ////Mentor Graphics Customer Support.                                         ////                                                                          ////This Mentor Graphics core (m320c50eng v1999.010) was extracted on         ////workstation hostid 800059c1 Inventra                                      //    Clock, MemCycle, InsCycle, LdPARegs, BrptRegCntrl, iMMR, BRAF, IFnEx,    PASR, SelPASR, SetBRAF, ClrBRAF, DataWrite, DataRead);    input  [15:0] ProgBus, DataBus, PFC, PFCDec;    input         Clock, MemCycle, InsCycle;    input   [5:0] BrptRegCntrl;    input         LdPARegs, iMMR, BRAF, IFnEx;    input  [15:0] DataWrite;    output [15:0] PASR, DataRead;    output        SelPASR, SetBRAF, ClrBRAF;    reg  [15:0] NextPASR, NextPAER, NextBRCR, NextRdBRCR;    reg         SelPASR, SetBRAF, ClrBRAF, Cmpr, NextBRCRZero, DelCmpr, DecBRCR;    reg  [15:0] DataReadOp;    wire [15:0] PASR, PAER, BRCR, RdBRCR;// Register updatesalways @(InsCycle or LdPARegs or BrptRegCntrl or iMMR or DecBRCR or PFCDec      or ProgBus or DataBus or DataWrite or PASR or PAER or BRCR or RdBRCR)begin    if (InsCycle & LdPARegs) NextPASR = PFCDec;    else if (BrptRegCntrl[1] & iMMR) NextPASR = DataBus;    else if (BrptRegCntrl[1] & ~iMMR) NextPASR = DataWrite;    else NextPASR = PASR;    if (InsCycle & LdPARegs) NextPAER = ProgBus;    else if (BrptRegCntrl[2] & iMMR) NextPAER = DataBus;    else if (BrptRegCntrl[2] & ~iMMR) NextPAER = DataWrite;    else NextPAER = PAER;    if (BrptRegCntrl[0] & iMMR) NextBRCR = DataBus;    else if (BrptRegCntrl[0] & ~iMMR) NextBRCR = DataWrite;    else if (InsCycle & DecBRCR) NextBRCR = BRCR - 1;    else NextBRCR = BRCR;    if (BrptRegCntrl[0] & iMMR) NextRdBRCR = DataBus;    else if (BrptRegCntrl[0] & ~iMMR) NextRdBRCR = DataWrite;    else if (InsCycle) NextRdBRCR = BRCR;    else NextRdBRCR = RdBRCR;endm3s058ct U1 (Clock, MemCycle, NextPASR, NextPAER, NextBRCR, NextRdBRCR,  PASR, PAER, BRCR, RdBRCR);// End address comparealways @(PAER or PFC)    if (PAER == PFC) Cmpr = 1;    else Cmpr = 0;// Repeat counter zero detectalways @(NextBRCR)    if (!NextBRCR) NextBRCRZero = 1;    else NextBRCRZero = 0;// Control signalsalways @(LdPARegs or Cmpr or NextBRCRZero or BRAF or DecBRCR)begin    SetBRAF = LdPARegs & ~NextBRCRZero;    SelPASR = BRAF & Cmpr;    ClrBRAF = DecBRCR & NextBRCRZero;end// Delay decrement of BRCRalways @(posedge Clock)if (InsCycle & MemCycle)    DelCmpr <= SelPASR;always @(DelCmpr or IFnEx)    DecBRCR = DelCmpr & ~IFnEx;// DataRead output muxalways @(BrptRegCntrl or RdBRCR or PASR or PAER)    if (BrptRegCntrl[3]) DataReadOp = RdBRCR;    else if (BrptRegCntrl[4]) DataReadOp = PASR;    else if (BrptRegCntrl[5]) DataReadOp = PAER;    else DataReadOp = 0;// Output driversassign DataRead = (BrptRegCntrl[3] | BrptRegCntrl[4] | BrptRegCntrl[5])     ? DataReadOp : 16'bZ;endmodule

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -