VHDL硬件描述语言实验报告.docx

VHDL硬件描述语言实验报告.docx

ID:61035472

大小:880.73 KB

页数:21页

时间:2021-01-20

VHDL硬件描述语言实验报告.docx_第1页
VHDL硬件描述语言实验报告.docx_第2页
VHDL硬件描述语言实验报告.docx_第3页
VHDL硬件描述语言实验报告.docx_第4页
VHDL硬件描述语言实验报告.docx_第5页
资源描述:

《VHDL硬件描述语言实验报告.docx》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、课程名称:VHDL硬件描述语言实验时间:2013年10月实验报告姓名:学号:专业:信息工程班级:目录实验一时钟分频电路3一、实验概述3二、实验目的3三、实验要求3四、VHDL源代码3五、仿真结果4实验二序列检测器5一、实验概述5二、实验目的5三、实验要求5四、状态转移图6五、实验代码6六、仿真结果8七、实验感悟8实验三2FSK解调电路9一、自拟题目9二、题目分析9三、方案一的设计、仿真101.系统级设计及simulink仿真102.VHDL实现(子模块描述)133.MATLAB与Modelsim联合仿真16四、结论与感受17五、附录181.VHDL源

2、代码(部分)182.仿真测试源程序20实验一时钟分频电路一、实验概述按“Modulus”为模,将“ClkIn”时钟脉冲信号分频,在“ClkOut”上输出。如果“Modulus”是偶数,它产生对称的输出波形,否则,其输出波形的高电平宽度大于低电平宽度。(参考讲义4后实例)二、实验目的理解Generic语句参数传递的作用。三、实验要求1.编写源程序2.用VHDL建立测试平台(Test-Bench)3.用ModelSim仿真4.“Modulus”设不同值观察波形结果四、VHDL源代码libraryIEEE;useIEEE.STD_LOGIC_1164.AL

3、L;entitytopisgeneric(Modulus:integer:=3);--用generic语句设置参数Modulusport(ClkIn:instd_logic;Reset:instd_logic;ClkOut:outstd_logic);endtop;architectureBehavioraloftopisbeginprocess(ClkIn,Reset)variableCount:integerrange0toModulus-1;--使用参数Modulusbeginif(Reset='1')then--异步复位Count:=0;Cl

4、kOut<='0';elsif(rising_edge(ClkIn))then--同步释放if(Count=Modulus-1)thenCount:=0;elseCount:=Count+1;endif;if(Count>=Modulus/2)then--注意观察Modulus为奇偶数时的波形ClkOut<='1';elseClkOut<='0';endif;endif;endprocess;endBehavioral五、仿真结果üModulus=3üModulus=4实验二序列检测器一、实验概述序列检测器可用于检测一组或多组由二进制码组成的脉冲序列

5、信号,这在数字通信领域有广泛的应用。如下图,RST为复位信号,低电平有效。在时钟CLK作用下,串行二进制码数据从DIN输入。D[7..0]为预先设置的码。当序列检测器连续收到一组串行二进制码后,当这组码出现与检测器中预先设置的码相同码时,A输出1,否则输出0。二、实验目的掌握有限状态机的描述。三、实验要求1.画出状态转移图2.编写源程序3.用VHDL建立测试平台TestBench4.采用ModelSim进行仿真四、状态转移图五、实验代码VHDL源程序(部分代码)ü次态逻辑进程COM:process(clk,rst,data_buf,seq_buf,c

6、urrent_state)begincasecurrent_stateiswhenidle=>--空闲状态next_state<=compare;Aout_buf<='0';whencompare=>--比较状态(工作状态)next_state<=compare;if(data_buf=seq_buf)thenAout_buf<='1';elseAout_buf<='0';endif;endcase;endprocess;ü状态寄存器进程REG:process(clk,rst)beginif(rst='0')then--异步复位seq_buf<=""

7、;current_state<=idle;elsif(rising_edge(clk))thenseq_buf<=seq_buf(6downto0)&din_buf;--输入din串转并current_state<=next_state;endif;endprocess;ü输出进程LATCH:process(clk,rst,Aout_buf)beginif(rst='0')thenAout<='0';elsif(rising_edge(clk))thenAout<=Aout_buf;endif;endprocess;Test-Bench(部分代码)ü

8、定义句柄filedin_vec:textopenread_modeis"din.vec";filedata_

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。