📄 dsss.tdf
字号:
--本程序实现扩频数据的产生;
INCLUDE "LPM_ROM.INC";
SUBDESIGN dsss
(
HIGHCLK: INPUT; --8倍码片时钟;
PN: OUTPUT;
IDATA: OUTPUT;
QDATA: OUTPUT;
IDS: OUTPUT;
QDS: OUTPUT;
CHIPCLK1X: OUTPUT;
CHIPCLK2X: OUTPUT;
CHIPCLK4X: OUTPUT;
DATACLK: OUTPUT;
RRCADD[2..0]: OUTPUT;
)
VARIABLE
COUNTER[9..0]: DFF;
ADD_DATA[4..0]: DFF;
ADD_PN[6..0]: DFF;
DATA[1..0]: NODE;
PNCODE: NODE;
BEGIN
COUNTER[].CLK = HIGHCLK;
COUNTER[].D = COUNTER[].Q + 1;
CHIPCLK4X = COUNTER[0].Q;
CHIPCLK2X = COUNTER[1].Q;
CHIPCLK1X = COUNTER[2].Q;
DATACLK = COUNTER[9].Q;
ADD_DATA[].CLK = COUNTER[9].Q;
IF ADD_DATA[].Q == 30 THEN
ADD_DATA[].D = 0;
ELSE
ADD_DATA[].D = ADD_DATA[].Q + 1;
END IF;
ADD_PN[].CLK = COUNTER[2].Q;
ADD_PN[].D = ADD_PN[].Q + 1;
DATA[] = LPM_ROM(.INCLOCK = !COUNTER[9].Q, .OUTCLOCK = !COUNTER[9].Q,
.ADDRESS[] = ADD_DATA[].Q)
WITH(LPM_WIDTH = 2, LPM_WIDTHAD = 5, LPM_NUMWORDS = 31, LPM_FILE = "TDMPN.MIF") RETURNS(.Q[]);
IDATA = DATA[1];
QDATA = DATA[0];
PNCODE = LPM_ROM(.INCLOCK = !COUNTER[2].Q, .OUTCLOCK = !COUNTER[2].Q,
.ADDRESS[] = ADD_PN[].Q)
WITH(LPM_WIDTH = 1, LPM_WIDTHAD = 7, LPM_FILE = "PNG.MIF")
RETURNS(.Q[]);
PN = PNCODE;
IDS = DATA[1] XNOR PNCODE;
QDS = DATA[0] XNOR PNCODE;
RRCADD[2] = NOT COUNTER[2].Q;
RRCADD[1] = NOT (COUNTER[2].Q XOR COUNTER[1].Q);
RRCADD[0] = NOT (COUNTER[2].Q XOR COUNTER[0].Q);
END;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -