异步计数器EDA实验四_第1页
异步计数器EDA实验四_第2页
异步计数器EDA实验四_第3页
异步计数器EDA实验四_第4页
异步计数器EDA实验四_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

实验异步计数器姓名:赵佳伟学号:1002100449一、 实验目的1、 掌握异步计数器的工作原理;2、 用VHDL语言设计异步计数器;3、 用结构描述来设计异步计数器及和行为描述相比较。二、 实验的硬件要求1、 输入:脉冲信号2、 输出:LED灯3、 主芯片:ALTERA下载板三、 实验原理异步计数器的工作原理如下图,通常由于采用异步时钟,工作延时比较大。1、 用VHDL语言设计四位异步计数器2、 通过仿真或观察波形图验证设计的正确性3、 编译下载验证结果五、实验步骤进入windows操作系统,打开MAX+PLUSII10.0。1、 启动File/ProjectName菜单,输入设计项目的名字。点Assign/Device菜单,选择器件(本设计全选用EPM7128)。见图4.1。2、 启动菜单File/New,选择TextEditorfile,打开编程编辑器,进行原理图设计输入。

图4.1图4.1输入代码构建D触发器代码:SMAX+plusIIFileEditTemplatesAssignUtilitiesOptionsWindowHelpDotumChe|l8f&tZSMAX+plusIIFileEditTemplatesAssignUtilitiesOptionsWindowHelpDotumChe|l8f&tZ谆□吕IH昌 k?⑥丞原间囹甥圜因矗幽蝠购,畿套鎏-ibraryieee;useieee.std_logic_1164.alI:entityd_ffisport(d,clk,res:instd_logic;q,q_n:outstd_logic);enddff:architecturedff1ofd_ffissignalq1:std_logic:beginprocess(clk,res)beginifres=l11thenq1<='01;elsifelk'eventandcIk=111thenq1<=d:endif:q<=q1;q_n<-notq1;endprocess:enddff1;|Line21 |Col10 |INS|四位异步计数器代码:process(clk1)variablenum1:integerrange0to29999:=0;beginifclk1'eventandclk1='11thenifnum1=29999thennum1:=0;cIk_20hz<=notcIk_20hz;elsenum1:=1+num1:endif:endif:endprocess;process(clk_20hz)beginifclk_20hz'eventandclk_20hz-'11thenifd1-'11andkey_fIag<='O'thenkey」Iag<=T';elsifkey_fIag='1'andd1='O'thenkey_fIag<='O':endif;endif;endprocess;endaa; ,Line18|Col£9 11NS」<|| >「图4.33、保存单击保存按钮,扩展名为.vhd,本实验中取名为:d_ff.vhd和test9.vhd。编译启动MAX+PLUSII\COMPILER菜单,按START开始编译,生成.SOF和.POF等文件,以便硬件下载和编程时调用,同时生成.RPT文件,如图2.2.3。

(4)仿真1、创建波形文件:首先,将设计指定为当前项目。创建一个波形文件。选择菜单MAX+PLUSn\WaveformEditor,打开仿真工具WaveformEditor,或选择新建一个WaveformEditor文件,将创建一个新的无标题波形文件,如图4.5所示:设定时间轴网格大小。选择菜单Option\GridSize,输入时间间隔(5ns),单击OK按钮。设定时间轴长度。选择菜单File\EndTime并输入文件的结束时间(1s)。

2、选择欲仿真的引线端子:①选择菜单Node\EnterNodesNodesfromSNF出现如图4.6所示对话框。也可在窗口空白处右击鼠标,在快捷菜单中,同样选择EnterNodesNodesfromSNF。在Type框中选中Inputs和Outputs选项,然后单击List按钮。在AvailableNodes&Groups列表中将出现所有的节点,选择所需节点,用右移键将它们移到右边的SelectedNodes&Groups列表中。这时出现如图4.7所示结果。单击OK按钮完成。EiTterNodesfromSNFNode/Group:|KAvailableNodes&Groups:回TypeRInputsl~RegisteredWOutputsl~CombinatorialPGroupMemoryBitrahJ~~MemoryWord9PreserveExistingNodesNode/Group:|KAvailableNodes&Groups:回TypeRInputsl~RegisteredWOutputsl~CombinatorialPGroupMemoryBitrahJ~~MemoryWord9PreserveExistingNodesI-ShowAllNodeNameSynonymsCancelClear顼舍MAX+plusIIFileEditViewNodeAssignUtilitiesOptionsWindowHelp 口面冈图4.6■MAX+plusII-d:\zjw\db\test9-[test9.scf-WaveformEditor] 伺图4.73、编辑输入节点的仿真波形:将输入节点的某段用鼠标选中(变黑)后,单击左边工具栏的有关按钮,进行设置,实现异步计数和清零的功能。编辑完成后如图4.8所示。MAX+plusII-d:\zjw\db\test9-[testS.scf-WaveformEditor]|o|闻|5^!l:,.&MAX+plusIIFileEditViewNodeAssignUtilitiesOptionsWindowHelp□wia骨回MAX+plusII-d:\zjw\db\test9-[testS.scf-WaveformEditor]|o|闻|5^!l:,.&MAX+plusIIFileEditViewNodeAssignUtilitiesOptionsWindowHelp□wia骨回二l_k?也瓯匠回食展街函矗嗑通噂遗蠡套理睢曳]司 ■|Ref:|0一Ons ]|*|_+lTime:|l18£ns ]Intetval:|l18_6ns ]MName* Value- 25.0ns 50.0ns 75.0ns 100.0ns125.0ns150.0ns175.0ns200.0ns225.0nsI^d1MIAIX箜一IBI近一夔冒qOnum1XHXXXX图4.84、仿真:保存文件后,在MAX+PLUSII中选择Simulator菜单,出现Simulator对话框,如图4.9所示,单击Start按钮开始仿真,检查正确后,单击“确定”按钮。图4.95、分析仿真结果在仿真器窗口中选择OpenSCF,即打开当前当前项目的仿真结果文件p4_5.scf如图4.10所示。经检验是正确的。

圈MAX+plusIIFileEditViewNodeAssignUtilitiesOptionsWindowHelp□180.0ns 2圈MAX+plusIIFileEditViewNodeAssignUtilitiesOptionsWindowHelp□180.0ns 2d1■^clrl■^―clk1q3-E^q2-q1qO酣num11100000H0000JI0000项加0邛碰02项加03:)(T加矿加0岳小。。。矿*;。。。7X硕『7项。吟X°。。公X延日*。。。4;以QOOE)"硕6;,顼。口项00&;X加。。。玄攵的坏)图4.10管脚的重新分配锁定:启动MAX+PLUSH\FLOORPLINEDITOR菜单命令,出现如图4.11所示的画面:帅MAX+plusII-d:\zjw\db\test9 [口|回[■ESmIMAX+plusIIFileEditViewLayoutAssignUtilitiesOptionsWindowHelp口艺亘蚤』|电|疆Jo」k?⑥阿原四囹巡阊矗阐tB嘎/尊显,碾(CurrentAssignments)-FloorplanEditor3□Device-WideFan-Out■NonassignableChipName:|test9(EP'M?128SLCEM-6)"ColorLegend—□Unassigned■Unrouted可亘|SelectedNodefs]&Pin(s):|<none>(1/0}匚(VCCIOJH26煦匚啊匚煦匚〔I/O}匚,碾(CurrentAssignments)-FloorplanEditor3□Device-WideFan-Out■NonassignableChipName:|test9(EP'M?128SLCEM-6)"ColorLegend—□Unassigned■Unrouted可亘|SelectedNodefs]&Pin(s):|<none>(1/0}匚(VCCIOJH26煦匚啊匚煦匚〔I/O}匚煦匚(GND)H61□(I/O}60□d/O}59■(GND)□d/O}□d/O}□d/O}□(l/OJ□d/O} 4L w 」 」Adri□Ad1■43aOT<□►UnassignedNodes&Pins:图4.11FLOORPLANEDITOR显示该设计项目的管脚分配,这是由软件自动分配的。用户可随意改变管脚分配。管脚编辑过程如下(见图4.12):1.按下CURRENTASSIGNMENTSFLOORPLAN,所有的输出都会出现在UNASSIGNEDNODES栏框内。用鼠标按住某输入输出门名称,并拖到下面芯片的某一管脚上,松开鼠标左键,使完成一个管脚的分配。实验电路板上的连线与真值表设计输出的Q0Q1Q2Q3分别与芯片的8、9、10、11管脚相连,清零端接到74脚,脉冲由83脚接入;用LED来表示输出,将它们与8、9、10、11管脚相连。真值表:序号clkclrQ0Q1Q2Q30上升沿100001上升沿110002上升沿000003上升沿110004上升沿101005上升沿111006上升沿100107上升沿110108上升沿101109上升沿1111010上升沿1000111上升沿1100112上升沿1010113上升沿1110114上升沿1001115上升沿1101116上升沿1011117上升沿1111118上升沿1000019上升沿1100020上升沿1010021上升沿1110022上升沿10010注意:以上实验电路板上的连线可根据自己对管脚的锁定情况而定。MAX+plusIIFileEditViewLayoutAssignUtilitiesOptionsWindowHelp□|涔旧僵| 电|匐Gk?由哽匠回囹昭阊矗阐帽嘎,雾度(CurrentAssignments)-FloorplanEditor(CurrentAssignments)-FloorplanEditorChipName:|test9(EPM7128SLC84-6)「ColorLegend—□Unassigned □Device-WideFan-OutUnroutedUnassignedNodes&Pins:,SUB:1471addcore:adder|addcore:adderO|result_node3,SUB:1•i**45617|addcore:adder|addcore:adder0|result_riodei:1,SUB:1?|addcore:adder|addcore:adder0|result_node5SUEl:1471addcore:adderli3.ddcore:adderOlresultnode?qQM旨面目目汨SelectedNode(s)Pin(s):Nonassignable |<none>*□qQM旨面目目汨SelectedNode(s)Pin(s):Nonassignable |<none>*□5qoa}・煦匚(VCCIO)Hlira,TDD匚煦匚煦匚煦匚WO)匚(GND)HZZlcIrl=]煦■{GNDJZJgJDO}zig}ZJ煦Z1WO}ZJWO}图4.13三、实验总结1、 通过本次试验,学习并了解了MAX+PLUSH10.0Alter

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论