十进制加减计数器

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

集成电路软件设计实验二:十进制加减计数器实验地点实验时间学院班级姓名学号成绩指导老师年月日一、设计任务1、设计十进制加减计数器;2、练习使用Modelsim软件和Synopsys公司的DesignCompiler软件。二、设计要求1、十进制加减计数器;2、控制端口控制加与减的计数;3、输入时钟的频率自定,符合设计即可三、预习要求编写加减计数器的VHDL代码;libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitycounterisport(clk,up:instd_logic;q:outinteger);end;architectureoneofcounterissignalcount:integerrange0to99;beginprocess(clk)beginifclk'eventandclk='1'thenifup='1'thenifcount=99thencount=0;elsecount=count+1;endif;elsifup='0'thenifcount=0thencount=29;elsecount=count-1;endif;endif;endif;endprocess;q=count;end;四、实验报告使用Modelsim软件编译并仿真加减计数器的VHDL代码,编写Testbench,给出仿真结果;LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;ENTITYtestbenchISEND;ARCHITECTUREcounter_tb_archOFtestbenchISSIGNALq:integerrange0to99;SIGNALup:std_logic:='1';SIGNALclk:std_logic:='0';COMPONENTcounterPORT(clk,up:instd_logic;q:outintegerrange0to99);ENDCOMPONENT;BEGINDUT:counterPORTMAP(q=q,up=up,clk=clk);process(clk)beginclk=notclkafter20ns;endprocess;up='0'after1000ns;END;五、仿真波形通过VHDL代码的编译成功和testbench的编写并对其编译、仿真,其仿真结果如下图所示:六、网表电路使用DesignCompiler软件将加减计数器的VHDL代码综合成网表电路;七、对比综合后的网表电路与前期VHDL代码,检查一致性。通过对比生成网表电路的输入与输出管脚,结合生成网表中的每个模块的功能,同时对每个功能模块的分析,并从中得到网表电路运行后的结果,通过把功能网表的运行结果和vhdl的仿真结果比较,得到他们是一致的。八、总结(实验过程中遇到的问题以及解决问题的过程。)在编译时出现了许多错误经过反复修改编译再修改再编译最终排除了所有的错误。比如刚开始在VHDL代码设计中输出端口q不是用integer既整形,结构不能十进制计数,后面改成整形,才能真正达到十进制的计数。在打来encounter软件时,由于modelsim的软件没有关闭,使得unis操作系统没有响应。通过关闭操作系统然后重新开启后就可以运行。

1 / 4
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功