📄 idt70t3589.vhd
字号:
--------------------------------------------------------------------------------- File Name: idt70t3589.vhd--------------------------------------------------------------------------------- Integrated Device Technology, Inc. ("IDT") hereby grants the-- user of this VITAL model a non-exclusive, nontransferable-- license to use this VITAL model under the following terms.-- The user is granted this license only to use the VITAL-- model and is not granted rights to sell, copy (except as needed-- to run the IBIS model), rent, lease or sub-license the VITAL-- model in whole or in part, or in modified form to anyone. The User-- may modify the VITAL model to suit its specific applications,-- but rights to derivative works and such modifications shall belong-- to IDT.---- This VITAL model is provided on an "AS IS" basis and-- IDT makes absolutely no warranty with respect to the information-- contained herein. IDT DISCLAIMS AND CUSTOMER WAIVES ALL-- WARRANTIES, EXPRESS AND IMPLIED, INCLUDING WARRANTIES OF-- MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE-- ENTIRE RISK AS TO QUALITY AND PERFORMANCE IS WITH THE-- USER ACCORDINGLY, IN NO EVENT SHALL IDT BE LIABLE-- FOR ANY DIRECT OR INDIRECT DAMAGES, WHETHER IN CONTRACT OR-- TORT, INCLUDING ANY LOST PROFITS OR OTHER INCIDENTAL,-- CONSEQUENTIAL, EXEMPLARY, OR PUNITIVE DAMAGES ARISING OUT OF-- THE USE OR APPLICATION OF THE VITAL model. Further,-- IDT reserves the right to make changes without notice to any-- product herein to improve reliability, function, or design.-- IDT does not convey any license under patent rights or-- any other intellectual property rights, including those of-- third parties. IDT is not obligated to provide maintenance-- or support for the licensed VITAL model.---- http://www.FreeModelFoundry.com----------------------------------------------------------------------------------- MODIFICATION HISTORY:---- version: | author: | mod date: | changes made:-- V1.0 M.Marinkovic 03 Oct 07 Inital Release-- V1.1 R. Munden 04 Mar 29 made counter independent of CEs-- corrected setup/hold checks-- V1.2 R. Munden 04 Nov 14 corrected output enable behavior-- V1.3 R. Munden 05 Aug 06 correct right port PL read----------------------------------------------------------------------------------- PART DESCRIPTION:---- Library: RAM-- Technology:-- Part: IDT70T3589---- Description: 64K x 36 SYNCHRONOUS DUAL-PORT STATIC RAM with JTAG-------------------------------------------------------------------------------LIBRARY IEEE; USE IEEE.std_logic_1164.ALL; USE IEEE.vital_timing.ALL; USE IEEE.vital_primitives.ALL; USE STD.textio.ALL;LIBRARY FMF; USE FMF.gen_utils.ALL; USE FMF.conversions.ALL;--------------------------------------------------------------------------------- ENTITY DECLARATION-------------------------------------------------------------------------------ENTITY idt70t3589 IS GENERIC ( -- tipd delays: interconnect path delays tipd_A0L : VitalDelayType01 := VitalZeroDelay01; tipd_A1L : VitalDelayType01 := VitalZeroDelay01; tipd_A2L : VitalDelayType01 := VitalZeroDelay01; tipd_A3L : VitalDelayType01 := VitalZeroDelay01; tipd_A4L : VitalDelayType01 := VitalZeroDelay01; tipd_A5L : VitalDelayType01 := VitalZeroDelay01; tipd_A6L : VitalDelayType01 := VitalZeroDelay01; tipd_A7L : VitalDelayType01 := VitalZeroDelay01; tipd_A8L : VitalDelayType01 := VitalZeroDelay01; tipd_A9L : VitalDelayType01 := VitalZeroDelay01; tipd_A10L : VitalDelayType01 := VitalZeroDelay01; tipd_A11L : VitalDelayType01 := VitalZeroDelay01; tipd_A12L : VitalDelayType01 := VitalZeroDelay01; tipd_A13L : VitalDelayType01 := VitalZeroDelay01; tipd_A14L : VitalDelayType01 := VitalZeroDelay01; tipd_A15L : VitalDelayType01 := VitalZeroDelay01; tipd_IO0L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO1L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO2L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO3L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO4L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO5L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO6L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO7L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO8L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO9L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO10L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO11L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO12L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO13L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO14L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO15L : VitalDelayType01z := VitalZeroDelay01Z; tipd_IO16L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO17L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO18L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO19L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO20L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO21L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO22L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO23L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO24L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO25L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO26L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO27L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO28L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO29L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO30L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO31L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO32L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO33L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO34L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO35L : VitalDelayType01Z := VitalZeroDelay01Z; tipd_CE0NegL : VitalDelayType01 := VitalZeroDelay01; tipd_CE1L : VitalDelayType01 := VitalZeroDelay01; tipd_RWL : VitalDelayType01 := VitalZeroDelay01; tipd_CLKL : VitalDelayType01 := VitalZeroDelay01; tipd_ADSNegL : VitalDelayType01 := VitalZeroDelay01; tipd_CNTENNegL : VitalDelayType01 := VitalZeroDelay01; tipd_REPEATNegL : VitalDelayType01 := VitalZeroDelay01; tipd_BE0NegL : VitalDelayType01 := VitalZeroDelay01; tipd_BE1NegL : VitalDelayType01 := VitalZeroDelay01; tipd_BE2NegL : VitalDelayType01 := VitalZeroDelay01; tipd_BE3NegL : VitalDelayType01 := VitalZeroDelay01; tipd_ZZL : VitalDelayType01 := VitalZeroDelay01; tipd_A0R : VitalDelayType01 := VitalZeroDelay01; tipd_A1R : VitalDelayType01 := VitalZeroDelay01; tipd_A2R : VitalDelayType01 := VitalZeroDelay01; tipd_A3R : VitalDelayType01 := VitalZeroDelay01; tipd_A4R : VitalDelayType01 := VitalZeroDelay01; tipd_A5R : VitalDelayType01 := VitalZeroDelay01; tipd_A6R : VitalDelayType01 := VitalZeroDelay01; tipd_A7R : VitalDelayType01 := VitalZeroDelay01; tipd_A8R : VitalDelayType01 := VitalZeroDelay01; tipd_A9R : VitalDelayType01 := VitalZeroDelay01; tipd_A10R : VitalDelayType01 := VitalZeroDelay01; tipd_A11R : VitalDelayType01 := VitalZeroDelay01; tipd_A12R : VitalDelayType01 := VitalZeroDelay01; tipd_A13R : VitalDelayType01 := VitalZeroDelay01; tipd_A14R : VitalDelayType01 := VitalZeroDelay01; tipd_A15R : VitalDelayType01 := VitalZeroDelay01; tipd_IO0R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO1R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO2R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO3R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO4R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO5R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO6R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO7R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO8R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO9R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO10R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO11R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO12R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO13R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO14R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO15R : VitalDelayType01z := VitalZeroDelay01Z; tipd_IO16R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO17R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO18R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO19R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO20R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO21R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO22R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO23R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO24R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO25R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO26R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO27R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO28R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO29R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO30R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO31R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO32R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO33R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO34R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_IO35R : VitalDelayType01Z := VitalZeroDelay01Z; tipd_CE0NegR : VitalDelayType01 := VitalZeroDelay01; tipd_CE1R : VitalDelayType01 := VitalZeroDelay01; tipd_RWR : VitalDelayType01 := VitalZeroDelay01; tipd_CLKR : VitalDelayType01 := VitalZeroDelay01; tipd_ADSNegR : VitalDelayType01 := VitalZeroDelay01; tipd_CNTENNegR : VitalDelayType01 := VitalZeroDelay01; tipd_REPEATNegR : VitalDelayType01 := VitalZeroDelay01; tipd_BE0NegR : VitalDelayType01 := VitalZeroDelay01; tipd_BE1NegR : VitalDelayType01 := VitalZeroDelay01; tipd_BE2NegR : VitalDelayType01 := VitalZeroDelay01; tipd_BE3NegR : VitalDelayType01 := VitalZeroDelay01; tipd_ZZR : VitalDelayType01 := VitalZeroDelay01; tipd_TMS : VitalDelayType01 := VitalZeroDelay01; tipd_TRSTNeg : VitalDelayType01 := VitalZeroDelay01; tipd_TCK : VitalDelayType01 := VitalZeroDelay01; tipd_TDI : VitalDelayType01 := VitalZeroDelay01; tipd_OENegL : VitalDelayType01 := VitalZeroDelay01; tipd_OENegR : VitalDelayType01 := VitalZeroDelay01; tipd_PLNegL : VitalDelayType01 := VitalZeroDelay01; tipd_PLNegR : VitalDelayType01 := VitalZeroDelay01; -- tpd delays tpd_CLK_ColNeg : VitalDelayType01 := UnitDelay01; --tCOLR,tCOLS tpd_CLK_IntNeg : VitalDelayType01 := UnitDelay01; --tINR,tINS -- (tCD2,tCD2, tCKHZ,tCKHZ, tCKHZ, tCKHZ) tpd_CLKP_IO : VitalDelayType01Z := UnitDelay01Z; -- (tCD1,tCD1, tCKHZ,tCKHZ, tCKHZ, tCKHZ) tpd_CLKF_IO : VitalDelayType01Z := UnitDelay01Z; -- (tOE, tOE, tOHz, tOHZ, tOHZ, tOHZ) tpd_OENeg_IO : VitalDelayType01Z := UnitDelay01Z; tpd_TCK_TDO : VitalDelayType01 := UnitDelay01; -- tpw values: pulse widths --pipeline mode tpw_CLKP_posedge : VitalDelayType := UnitDelay; --tCH2 tpw_CLKP_negedge : VitalDelayType := UnitDelay; --tCL2 --flowthrough tpw_CLKF_posedge : VitalDelayType := UnitDelay; --tCH1 tpw_CLKF_negedge : VitalDelayType := UnitDelay; --tCL1 --tck tpw_TCK_posedge : VitalDelayType := UnitDelay; --tJCH tpw_TCK_negedge : VitalDelayType := UnitDelay; --tJCL --jtag reset tpw_TRSTNeg_negedge : VitalDelayType := UnitDelay; --tJRST -- tperiod min (calculated as 1/max freq) --pipeline tperiod_CLKP : VitalDelayType := UnitDelay; --tCYC2 --flowthrough tperiod_CLKF : VitalDelayType := UnitDelay; --tCYC1 tperiod_TCK : VitalDelayType := UnitDelay; --tJCYC -- tsetup values: setup times --tSA, tSC, tSB, tSW, tSD, tSAD, tSCN, tSRPT tsetup_A0_CLK : VitalDelayType := UnitDelay; tsetup_TDI_TCK : VitalDelayType := UnitDelay; --tJS -- thold values: hold times --tHA, tHC, tHB, tHW, tHD, tHAD, tHCN, tHRPT thold_A0_CLK : VitalDelayType := UnitDelay; thold_TDI_TCK : VitalDelayType := UnitDelay; -- tJH -- trecovery values : recovery times trecovery_TRSTNeg_TCK: VitalDelayType := UnitDelay; --tJRSR --t device values tdevice_TCO : VitalDelayType := 5 ns; --tCO -- generic control parameters InstancePath : STRING := DefaultInstancePath; TimingChecksOn : BOOLEAN := DefaultTimingChecks; MsgOn : BOOLEAN := DefaultMsgOn; XOn : BOOLEAN := DefaultXon; SeverityMode : SEVERITY_LEVEL := WARNING;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -