JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx

上传人:b****4 文档编号:17830233 上传时间:2022-12-11 格式:DOCX 页数:60 大小:29.18KB
下载 相关 举报
JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx_第1页
第1页 / 共60页
JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx_第2页
第2页 / 共60页
JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx_第3页
第3页 / 共60页
JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx_第4页
第4页 / 共60页
JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx_第5页
第5页 / 共60页
点击查看更多>>
下载资源
资源描述

JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx

《JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx(60页珍藏版)》请在冰豆网上搜索。

JH5001二次开发实验指导书老师供综合设计参考Word格式文档下载.docx

LCELL;

Counter[7..0]:

DFF;

Mode[1..0]:

Counter_Out:

%studentspustdefinedvariablesathere%

Counter_Reset:

Counter_Out_Buff:

BEGIN

Main_CLK=MUX_CLK;

Mode[]=M_SEL[];

%

INPUT:

Main_CLK:

input256KHzclock

Mode[1..0]:

Controlcountermode

Counter_Out:

Counteroutput

function:

ifMode[]=0:

Counter_Out=Main_CLK/213;

ifMode[]=1:

Counter_Out=Main_CLK/187;

ifMode[]=2:

Counter_Out=Main_CLK/156;

ifMode[]=3:

Counter_Out=Main_CLK/15;

--studentsputhisprograminhere

CASEMode[]IS

WHEN0=>

Counter_Reset=(Counter[]==212);

WHEN1=>

Counter_Reset=(Counter[]==186);

WHEN2=>

Counter_Reset=(Counter[]==155);

WHEN3=>

Counter_Reset=(Counter[]==14);

ENDCASE;

Counter[].clk=Main_CLK;

CASE(Counter_Reset)IS

Counter[].d=Counter[]+1;

Counter[].d=0;

Counter_Out_Buff.clk=!

Main_CLK;

Counter_Out_Buff.d=(Counter[]<

106);

93);

78);

7);

Counter_Out=Counter_Out_Buff;

--fellowingprogramcan'

tberewriteable

m_test=Counter_Out;

--notusedpin

MUX_DT=(FSX_PCM,BCLKT,DT_PCM,m_Sequence,SW[7..0],Error_SEL[1..0],MUX_CLK)==0;

(Error_ind,Frame_Ind)=0;

END;

课程设计二、m序列的产生实验

mgeneratingsequence"

SUBDESIGNm

Main_CLK,Mode[1..0]:

Delay_m[6..0]:

m_Out:

All_Zero:

input256KHzclock

m_SEL[1..0]:

selectoutputmsequencetype

OUTPUT:

m_Out:

msequenceoutput

generatingmsequence

m_SEL[]=0:

msequencetypeis(13)

m_SEL[]=1:

msequencetypeis(23)

m_SEL[]=2:

msequencetypeis(103)

m_SEL[]=3:

msequencetypeis(203)

All_Zero=(Delay_m[]==0);

Delay_m[].clk=Main_CLK;

Delay_m[5..0].d=Delay_m[6..1];

CASEm_SEL[]IS

Delay_m6.d=Delay_m5$Delay_m4$All_Zero;

Delay_m6.d=Delay_m4$Delay_m3$All_Zero;

Delay_m6.d=Delay_m2$Delay_m1$All_Zero;

Delay_m6.d=Delay_m1$Delay_m0$All_Zero;

m_out=Delay_m6;

m_test=m_Out;

课程设计三、噪声信号的产生

noisegenerating"

SUBDESIGNNoise

%MUXinput%

MUX_DR,MUX_CLKR:

%PCMoutput%

DR_PCM:

FSR,BCLKR:

%moutput%

DR_m:

%SWoutput%

SW_Out[7..0]:

Delay_m[24..0]:

PCM_Count[3..0],DR_PCM:

%

input:

FSR:

PCMframeindication

BCLKR:

PCMdatainputclock

Output:

DR_PCM:

noisePCMcode

function:

thisprogramoutputnoisetoPCMdecoder

%msequencegenerating%

Delay_m[].clk=FSR;

Delay_m[23..0].d=Delay_m[24..1];

--200000011

Delay_m24.d=Delay_m3$Delay_m0$(Delay_m[]==0);

PCM_Count[].d=PCM_Count[]+1;

PCM_Count[].clk=BCLKR&

FSR;

PCM_COunt[].clrn=FSR;

DR_PCM.clk=!

BCLKR;

CASEPCM_Count[]IS

DR_PCM.d=Delay_m0;

DR_PCM.d=Delay_m1;

DR_PCM.d=Delay_m2;

DR_PCM.d=Delay_m3;

WHEN4=>

DR_PCM.d=Delay_m4;

WHEN5=>

DR_PCM.d=Delay_m5;

WHEN6=>

DR_PCM.d=Delay_m6;

WHEN7=>

DR_PCM.d=Delay_m7;

%fellowingprogramcan'

tbewriteable%

(DR_m,Frame_Ind)=((MUX_DR,MUX_CLKR)==0);

SW_Out[7..0]=Delay_m[7..0];

课程设计四、复接实验

FRAME"

%===========MUXplexdatadefining==============%

CONSTANTUW=B"

11100100"

CONSTANTDataA=h"

11"

CONSTANTDataB=h"

22"

SUBDESIGNFrame

%studentsdefinevariableinhere%

Count[4..0],load,Send_buff[7..0]:

Send_bit:

MUX_CLK:

inputmultiplex256KHzclock

SW[7..0]:

multiplexdata1--->

8bitswitchinformation

DataA:

multiplexdataAwhichisdefineasconstant

DataB:

multiplexdataBwhichisdefineasconstant

UW:

multiplexdataBwhichisdefineasconstant

output:

MUX_DT:

multiplexdataoutput

Frame_Int:

Frameindication

ultiplex

DataA,DataB,SW,UWiscombinedasoneoutputdatastream

%==========studentsprogramputhere=============%

%32bytecounterforperframeis32bit%

Count[].clk=MUX_CLK;

Count[].d=Count[]+1;

Frame_Ind=Count4;

%loadgenerating%

load.d=(Count[]==31)#(Count[]==7)#(Count[]==15)#(Count[]==23);

load.clk=!

MUX_CLK;

%loaddata%

Send_buff[].clk=load;

CASE(Count[4..3])IS

Send_Buff[].d=UW;

Send_Buff[].d=DataA;

Send_Buff[].d=DataB;

Send_Buff[].d=SW[];

%paralleltoserial%

CASECount[2..0]IS

Send_bit=Send_buff7;

Send_bit=Send_buff6;

Send_bit=Send_buff5;

Send_bit=Send_buff4;

Send_bit=Send_buff3;

Send_bit=Send_buff2;

Send_bit=Send_buff1;

Send_bit=Send_buff0;

MUX_DT.d=Send_bit;

MUX_DT.clk=!

%fellowingcan'

tberewriteable%

Error_ind=(FSX_PCM,BCLKT,DT_PCM,m_Sequence,Error_SEL[1..0],m_SEL[])==0;

m_test=GND;

课程设计五、帧同步实验

deframe"

%=========UWdefine===========%

SUBDESIGNDeFrame

%=============studentvariabledefine===============%

--serialtoparallel

stop_Buff[7..0]:

--loadword

Line_Count[4..0]:

Load_UW,UW_Buff[7..0]:

Load_DataA,DataA_Buff[7..0]:

load_DataB,DataB_Buff[7..0]:

load_SW,SW_Buff[7..0]:

%detectperiodcounter%

Period_Count[9..0]:

%synchronous%

NO_SYN,Reset:

Delay_NO_SYN[2..0]:

Loss_one_Clock,Hold_Count:

Error_Word_Count[4..0]:

Frame_ind:

MUX_DR:

multiplexdata

SW:

multiplexSW

multiplexdataUW

Frame_Ind:

receiverframeindication

demultiplex

DataA,DataB,SW,UWisextractedfrominputdatastream

%===============studentsprogramputhere==============%

%Clockformsequence%

Frame_ind.d=(Line_Count[]==0);

Frame_ind.clk=!

MUX_CLKR;

%serialtoparallel%

stop_Buff[7..1].d=stop_Buff[6..0];

stop_Buff0.d=MUX_DR;

stop_Buff[].clk=MUX_CLKR;

%loadword%

Line_Count[].d=Line_Count[]+1;

Line_Count[].clk=(MUX_CLKR&

!

Loss_one_Clock);

--loadUWword

load_UW.d=(Line_Count[]==7);

load_UW.clk=!

UW_buff[].d=stop_Buff[];

UW_buff[].clk=load_UW;

--loadDataA

load_DataA.d=(Line_Count[]==15);

load_DataA.clk=!

DataA_buff[].d=stop_Buff[];

DataA_buff[].clk=load_DataA;

--loadDataB

load_DataB.d=(Line_Count[]==23);

load_DataB.clk=!

DataB_buff[].d=stop_Buff[];

DataB_buff[].clk=load_DataB;

--loadSW

load_SW.d=(Line_Count[]==31);

load_SW.clk=!

SW_buff[].d=stop_Buff[];

SW_buff[].clk=load_SW;

SW_Out[]=SW_buff[];

%periodcounter%

Period_Count[].d=Period_Count[]+1;

--512frame

Period_Count[].clk=Load_UW;

NO_SYN.d=(Error_Word_Count[]>

30);

NO_SYN.clk=load_UW;

Reset.d=(period_Count[]==1);

Reset.clk=Load_UW;

%lossoneclockgenerating%

Delay_NO_SYN[2..0].clk=!

Delay_NO_SYN[2..1].d=Delay_NO_SYN[1..0];

Delay_NO_SYN0.d=NO_SYN;

Loss_one_Clock=(Delay_NO_SYN2$Delay_NO_SYN1)&

Delay_NO_SYN1;

%erorwordcounter%

Error_Word_Count[].clrn=!

Reset;

Error_Word_Count[].clk=!

load_UW;

Hold_Count=(Error_Word_Count[]==31);

CASE(Hold_Count,(UW_Buff[]==UW))IS

Error_Word_Count[].d=Error_Word_Count[]+1;

WHENOTHERS=>

Error_Word_Count[].d=Error_Word_Count[];

tbechange%

(DR_PCM,DR_m)=((FSR,BCLKR)==0)$(DataA_Buff[]==0)$(DataB_Buff[]==0);

课程设计六、扰码实验

Scrambler

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 初中教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1