?? cosine.tdf
字號(hào):
TITLE "cosine";
-- Version 1.0,
-- Copyright Rune Baeverrud, August 19, 1997
-- You may use or distribute this function freely,
-- provided you do not remove this copyright notice.
-- You can download it from www.fpga.com.cn or www.pld.com.cn
INCLUDE "lpm_rom";
INCLUDE "lpm_add_sub";
INCLUDE "lpm_mux";
PARAMETERS
(
POLARITY = "BIPOLAR",
LEVEL1 = "UNREGISTERED",
LEVEL2 = "UNREGISTERED",
LEVEL3 = "UNREGISTERED"
);
SUBDESIGN cosine
(
SysClk : INPUT;
Angle[8..0] : INPUT;
Wave[7..0] : OUTPUT;
)
VARIABLE
IF POLARITY == "UNIPOLAR" GENERATE
Rom : LPM_ROM WITH (LPM_WIDTH=8, LPM_WIDTHAD=8, LPM_NUMWORDS=256,
LPM_FILE="cos180p.MIF", LPM_ADDRESS_CONTROL=LEVEL2,
LPM_OUTDATA=LEVEL3, USE_EAB = "YES");
ELSE GENERATE
Rom : LPM_ROM WITH (LPM_WIDTH=8, LPM_WIDTHAD=8, LPM_NUMWORDS=256,
LPM_FILE="cos180n.MIF", LPM_ADDRESS_CONTROL=LEVEL2,
LPM_OUTDATA=LEVEL3, USE_EAB = "YES");
END GENERATE;
NAngle[7..0], NIndex[7..0] : NODE;
BEGIN
ASSERT (POLARITY == "BIPOLAR" OR POLARITY == "UNIPOLAR")
REPORT """Cosine"" POLARITY must be ""BIPOLAR"" or ""UNIPOLAR"". It is now ""%"""
POLARITY SEVERITY ERROR;
ASSERT (LEVEL1 == "REGISTERED" OR LEVEL1 == "UNREGISTERED")
REPORT "Cosine ""LEVEL1"" must be ""REGISTERED"" or ""UNREGISTERED"". It is now ""%"""
LEVEL1 SEVERITY ERROR;
ASSERT (LEVEL2 == "REGISTERED" OR LEVEL2 == "UNREGISTERED")
REPORT "Cosine ""LEVEL2"" must be ""REGISTERED"" or ""UNREGISTERED"". It is now ""%"""
LEVEL2 SEVERITY ERROR;
ASSERT (LEVEL3 == "REGISTERED" OR LEVEL3 == "UNREGISTERED")
REPORT "Cosine ""LEVEL3"" must be ""REGISTERED"" or ""UNREGISTERED"". It is now ""%"""
LEVEL3 SEVERITY ERROR;
ASSERT REPORT "Compiling ""cosine"" for POLARITY = ""%""" POLARITY SEVERITY INFO;
(NAngle[],,) = LPM_ADD_SUB (, 255, Angle[7..0],,,)
WITH (LPM_WIDTH=8, LPM_DIRECTION="SUB", LPM_REPRESENTATION="UNSIGNED",
LPM_PIPELINE=0, ONE_INPUT_IS_CONSTANT="YES");
IF LEVEL1 == "REGISTERED" GENERATE
NIndex[] = LPM_MUX (NAngle[], Angle[7..0], Angle[8], SysClk,)
WITH (LPM_WIDTH=8, LPM_SIZE=2, LPM_WIDTHS=1, LPM_PIPELINE=1);
ELSE GENERATE
NIndex[] = LPM_MUX (NAngle[], Angle[7..0], Angle[8],,)
WITH (LPM_WIDTH=8, LPM_SIZE=2, LPM_WIDTHS=1, LPM_PIPELINE=0);
END GENERATE;
IF LEVEL2 == "REGISTERED" GENERATE
Rom.inclock = SysClk;
END GENERATE;
IF LEVEL3 == "REGISTERED" GENERATE
Rom.outclock = SysClk;
END GENERATE;
Rom.address[] = NIndex[];
Wave[] = Rom.q[];
END;
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -