




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、综合电子系统设计综合电子系统设计课程系列讲座课程系列讲座数字电路设计(上)数字电路设计(上)20092009年年4 4月月1;.综合电子系统设计系列讲座主要内容数字系统设计部分讲座概述常用数字系统单元设计范例l常用组合逻辑单元l常用时序逻辑单元l常用综合逻辑设计示范数字系统设计技巧举例(上)lQuartus II使用流程l宏函数使用l三态门使用课后习题2;.综合电子系统设计系列讲座数字系统设计部分讲座说明主要讲座内容l常用数字系统设计范例l常用数字系统设计技巧l数字系统设计注意事项讲座与数字电路课程教学的差异l课时安排l内容覆盖面l能力侧重点3;.综合电子系统设计系列讲座数字系统设计部分讲座说
2、明(续)课后习题要求l两次课后都有习题布置l作业电子档递交:l文件命名要求:姓名+学号+作业名其它lPLD设计开发平台使用自学为主lHDL语言(不限种类)自学为主4;.综合电子系统设计系列讲座数字电路课程内容回顾数制和码制组合逻辑电路l组合逻辑电路的分析l组合逻辑电路的设计时序逻辑电路l时序逻辑电路的分析l时序逻辑电路的设计培训关注点培训关注点培训关注点培训关注点5;.综合电子系统设计系列讲座数字电路课程内容回顾(续)组合逻辑设计流程时序逻辑设计流程6;.综合电子系统设计系列讲座传统数字系统设计案例设计题:设计一个电路,其输入范围为二进制数字015,当此数为素数时电路输出为1。l最小化设计方法
3、l标准化设计方法(8选1数据选择器)7;.综合电子系统设计系列讲座数字电路课程内容回顾(续)典型组合逻辑单元案例l编码/译码器l数据选择器l查找表/ROM典型时序逻辑单元案例l计数器l移位寄存器数字系统设计要点l编码编码/状态状态的优化选择l中小规模的逻辑电路单元拆分8;.综合电子系统设计系列讲座基于HDL和PLD器件的逻辑设计名词解释lHDL:Hardware Description LanguagelPLD:Programmable Logic Device技术优势l兼容原逻辑电路设计方法l增加电路行为描述设计方法l器件数量减少、设计效率提升、系统可靠性提升9;.综合电子系统设计系列讲座组
4、合逻辑电路单元设计范例编码器/译码器多路数据选择器10;.综合电子系统设计系列讲座编码器/译码器设计案例8-3编码器编码器(Verilog HDL设计)设计)3-8译码器译码器(电路图设计)(电路图设计)11;.综合电子系统设计系列讲座41MUX设计案例41MUX(VHDL设计)设计)41MUX(电路图设计)(电路图设计)12;.综合电子系统设计系列讲座时序逻辑电路单元设计范例计数器移位寄存器有限状态机13;.综合电子系统设计系列讲座计数器设计案例 可正向、倒向计数器l异步清零l同步置数14;.综合电子系统设计系列讲座计数器设计案例具体时序仿真结果15;.综合电子系统设计系列讲座时钟三分频设计
5、案例16;.综合电子系统设计系列讲座时钟三分频设计案例具体时序仿真结果17;.综合电子系统设计系列讲座有限状态机(FSM)设计基础FSM分米勒型(Mealy)和摩尔型(Moore)两种,前者的输出取决于机器状态和输入,后者的输出与输入无关。FSM的设计方法有两类:一种是将状态的转移和状态的操作写在同一个模块中,另一个是将状态转移单独写成一个模块。后者利于综合器优化代码、布局布线。18;.综合电子系统设计系列讲座Moore型FSMalways (w, state)begincase(state) / Define state circleA: if(w)next_state=B;elsenext
6、_state=A;B:if(w)next_state=C;elsenext_state=A;C:if(w)next_state=C;elsenext_state=A;default:next_state=A;endcasez=(state=C);/Define outputend/ Define the sequential blockalways (posedge clk or negedge rst)beginif (!rst)state=A;elsestate=next_state;endendmoduleA为初始状态;为初始状态;w为输入;为输入;z为输出为输出module simpl
7、e (clk, rst, w, z);input clk, rst, w;outputz;regz;reg2:1state, next_state;parameter2:1 A=2b00,B=2b01, C=2b10;19;.综合电子系统设计系列讲座Moore型FSM波形图20;.综合电子系统设计系列讲座Mealy型FSM/Define the next state and output combination circuitsalways (w,state)begin case(state)A: if(w) begin z=0; next_state=B; end else begin z=
8、0; next_state=A; endB: if(w) begin z=1; next_state=B; end else begin z=0; next_state=A; endendcaseendendmodulemodule mealy (clk, rst, w, z);inputclk, rst, w;outputz;regz;regstate, next_state;parameter A=1b0, B=1b1;/Define the sequential blockalways (posedge clk or negedge rst)begin if (!rst) state=A
9、; elsestate=next_state;end21;.综合电子系统设计系列讲座Mealy型FSM波形图22;.综合电子系统设计系列讲座流水灯设计案例需求分析/设计方案流水灯需求分析l通过8个单色LED实现流水灯显示效果流水灯设计方案l用CASE语句实现l用移位寄存器实现l用有限状态机实现状态状态LED显示要求显示要求Idlestate0 state1state2state3state4state5state6state723;.综合电子系统设计系列讲座流水灯设计之CASE语句实现module lamp (rst, clk, state);inputrst, clk;output7:0st
10、ate;reg7:0state, next_state;parameterIdle = 8b11111111,state0=8b11111110,state1=8b11111100,state2=8b11111000,state3=8b11110000,state4=8b11100000,state5=8b11000000,state6=8b10000000,state7=8b00000000;always (posedge clk or negedge rst)beginif (!rst)state=Idle;elsestate=next_state;endalways (state)beg
11、incase(state)Idle:next_state=state0;state0:next_state=state1;state1:next_state=state2;state2:next_state=state3;state3:next_state=state4;state4:next_state=state5;state5:next_state=state6;state6:next_state=state7;state7:next_state=Idle;default:next_state=Idle;endcaseendendmoduleQuestion:如果流水灯效果要求为双向移动
12、,本程序如何修改? 24;.综合电子系统设计系列讲座流水灯波形注1:CPLD实验板上的LED当电平为0时亮,为1时灭;注2:实际的时钟需要适当降低到人眼可以识别的变化范围内。25;.综合电子系统设计系列讲座流水灯设计之移位寄存器实现module lamp (rst, clk, state);inputrst, clk;output7:0state;reg7:0state, next_state;always (posedge clk or negedge rst)beginif (!rst)state=8b11111111;elsestate=next_state;endalways(stat
13、e)beginif (state=8b000000000)next_state=8b11111111;elsenext_state=state1;endendmoduleQuestions:1.如果流水灯效果要求为双向移如果流水灯效果要求为双向移动,本程序如何修改?动,本程序如何修改?2.如果流水灯跳变节奏需要有变如果流水灯跳变节奏需要有变化,本程序如何修改?化,本程序如何修改?3.本程序原设计本身是否有不足?本程序原设计本身是否有不足?26;.综合电子系统设计系列讲座流水灯设计之有限状态机实现module lamp (rst, clk, w, state);inputrst, clk, w;
14、output7:0 state;reg7:0state, next_state;parameter Idle= 8b11111111,state0= 8b11111110,state1= 8b11111100,state2= 8b11111000,state3= 8b11110000,state4= 8b11100000,state5= 8b11000000,state6= 8b10000000,state7= 8b00000000;always (posedge clk or negedge rst)beginif (!rst)state=Idle;elsestate=next_state;
15、endalways (state or w)begincase (state)Idle:beginif (w)next_state=state0;else next_state=Idle;endstate0:beginif (w)next_state=state1;elsenext_state=state0;endstate1:state2:state7:default:next_state按钮,页面二是在新建的工程中添加已有Verilog HDL文件的。Step3:点击Next按钮,进入页面三,完成器件选择。图3、QuartusII中器件选择窗口44;.综合电子系统设计系列讲座Step4:后
16、面两步分别是对EDA工具的设定和工程综述,都不作任何操作。点击Finish完成工程创建。图4、QuartusII项目设定完成综述窗口45;.综合电子系统设计系列讲座Quartus II中包含完整的文本编辑程序(Text Editor),在此用Verilog HDL来编写源程序新建一个Verilog HDL文件,可以通过l快捷按钮 l快捷键Ctrl+Nl从File菜单中选择New.弹出页式对话框后选择Device Design Files页面的Verilog HDL File,点击OK按钮。46;.综合电子系统设计系列讲座在用户区Verilog HDL文件窗口中输入源程序,保存时文件名与实体名保
17、持一致。module basic_ddf(d,clk,q,qd);inputd,clk;outputq,qd;regq,qd; always(posedge clk) beginq=d;qd=d;endendmodule47;.综合电子系统设计系列讲座使用快捷按钮 ,对以上程序进行分析综合,检查语法规范;如果没有问题则编译整个程序,使用 如果出现问题,则对源程序进行修改,直至没有问题为止。48;.综合电子系统设计系列讲座Quartus II内置波形编辑程序(Waveform Editor)可以生成和编辑波形设计文件。Quartus II中的仿真包括功能仿真和时序仿真。两种仿真操作类似,只需在T
18、ools菜单中选择Simulater Tool,在其Simulater mode中进行选择即可图5、QuartusII项目仿真设定窗口49;.综合电子系统设计系列讲座Step1、 新建一个波形文件:该过程与新建Verilog HDL文件类似,只是在弹出页式对话框后选择Other Files页面的Vector Waveform File。50;.综合电子系统设计系列讲座Step2、 在波形文件中加入所需观察波形的管脚:在Name中单击右键,选择Insert Node or bus.选项,出现Insert Node or bus对话框,此时可在该对话框的Name栏直接键入所需仿真的管脚名,也可点击
19、Node Finder.按钮,将所有需仿真的管脚一起导入。图6、QuartusII建立待仿真文件时的管脚及内部信号选择窗口51;.综合电子系统设计系列讲座Step3、 给输入管脚指定仿真波形 :分别选中输入管脚,使用波形编辑器:对其输入波形进行编辑。最后保存波形文件图7、QuartusII中编辑完成的待仿真波形文件52;.综合电子系统设计系列讲座对basic_ddf的仿真结果说明l仿真结果在时间20ns时,输入信号d已经是1状态,但是由于时钟脉冲信号clk这时不是处于上升沿,所以必须等到时间轴30ns的地方,才会让输出信号q变成1,不过由于芯片的传输延迟效应,最后是在37ns处才会产生1。l在
20、时间轴90ns处,输入信号d和时钟脉冲信号同时出现是1状态,但这上升沿的瞬间十分短暂,有仿真结果知道,输出信号q必须等到下一个时钟上升沿之后才会出现1状态。l在时间轴160ns之后,由于没有时钟脉冲信号clk,这时不论d的输入信号为何,输出信号q始终保持不变。53;.综合电子系统设计系列讲座图9、QuartusII项目管理中的管脚分配窗口程序中管脚名实际管脚说明dPin 96扩展口J6的第一脚clkPin 18全局时钟qPin 107扩展口J5的第一脚qbPin 106扩展口J5的第三脚表1 基本D触发器管脚分配54;.综合电子系统设计系列讲座Step1、分配管脚:选择Assignment菜单的pins选项,进入管脚分配界面。l在管脚分配之前确定类别栏按钮 ,管脚过滤栏 和分色显示按钮 都处于有效状态,按下类别栏的Pin按钮。l在Node Filter栏中单击右键,选择Node Finder.选项,选中所有输入输出管脚。在管脚分配栏中,将程序中的输入输出脚分配到MAX II的管脚上,并保存。Step2、编译:使用 进行整体编译,系统将自动生成*.pof文件。55;.综合电子系统设计系列讲座实验电路板接5V电源,确保其供电正常;连接下载电缆;点击 进入下载界面。点击Add File.加入下载数据流文
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- T/CCIASD 10006-2023多式联运经营人基本要求及等级评估指标
- T/CCAS 015-2020水泥助磨剂应用技术规范
- T/CAQI 47-2018饮用水售水机技术要求
- T/CAQI 332-2023健康家居企业碳排放管理要求
- 2024年度江苏省二级注册建筑师之建筑结构与设备押题练习试题B卷含答案
- 茶楼棋牌面试题及答案
- 技术岗面试题及答案
- 欢度教师节主题演讲稿
- 腋毛缺如的临床护理
- T/CADBM 48-2021非接触门通用技术要求
- 植物营养学智慧树知到期末考试答案章节答案2024年黑龙江八一农垦大学
- 员工竞业禁止保证金协议书
- 小学数学项目化设计教学案例
- 燃气工程项目全生命周期管理与维保策略
- 下肢感染护理查房
- 2023年4月自考02333软件工程试题及答案含解析
- 简易呼吸器课件9
- 《口腔医学技术》课件-暂时冠制作
- (高清版)DZT 0216-2020 煤层气储量估算规范
- 新概念英语第二册单词表默写纸
- 儿童慢性病管理的挑战与解决方案
评论
0/150
提交评论