数字系统设计(上).ppt





《数字系统设计(上).ppt》由会员分享,可在线阅读,更多相关《数字系统设计(上).ppt(67页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数字电路设计(上),汤勇明 东南大学电子科学与工程学院 2009年4月,主要内容,数字系统设计部分讲座概述 常用数字系统单元设计范例 常用组合逻辑单元 常用时序逻辑单元 常用综合逻辑设计示范 数字系统设计技巧举例(上) Quartus II使用流程 宏函数使用 三态门使用 课后习题,数字系统设计部分讲座说明,主要讲座内容 常用数字系统设计范例 常用数字系统设计技巧 数字系统设计注意事项 讲座与数字电路课程教学的差异 课时安排 内容覆盖面 能力侧重点,数字系统设计部分讲座说明(续),课后习题要求 两次课后都有习题布置 作业电子档递交: 文件命名要求:姓名+学号+作业名 其它 PLD设计开发平台使
2、用自学为主 HDL语言(不限种类)自学为主,数字电路课程内容回顾,数制和码制 组合逻辑电路 组合逻辑电路的分析 组合逻辑电路的设计 时序逻辑电路 时序逻辑电路的分析 时序逻辑电路的设计,培训关注点,培训关注点,数字电路课程内容回顾(续),组合逻辑设计流程,时序逻辑设计流程,传统数字系统设计案例,设计题:设计一个电路,其输入范围为二进制数字015,当此数为素数时电路输出为1。 最小化设计方法 标准化设计方法(8选1数据选择器),数字电路课程内容回顾(续),典型组合逻辑单元案例 编码/译码器 数据选择器 查找表/ROM 典型时序逻辑单元案例 计数器 移位寄存器 数字系统设计要点 编码/状态的优化选
3、择 中小规模的逻辑电路单元拆分,基于HDL和PLD器件的逻辑设计,名词解释 HDL:Hardware Description Language PLD:Programmable Logic Device 技术优势 兼容原逻辑电路设计方法 增加电路行为描述设计方法 器件数量减少、设计效率提升、系统可靠性提升,组合逻辑电路单元设计范例,编码器/译码器 多路数据选择器,编码器/译码器设计案例,8-3编码器 (Verilog HDL设计),3-8译码器 (电路图设计),41MUX设计案例,41MUX (VHDL设计),41MUX (电路图设计),时序逻辑电路单元设计范例,计数器 移位寄存器 有限状态机
4、,计数器设计案例,可正向、倒向计数器 异步清零 同步置数,计数器设计案例,具体时序仿真结果,时钟三分频设计案例,时钟三分频设计案例,具体时序仿真结果,有限状态机(FSM)设计基础,FSM分米勒型(Mealy)和摩尔型(Moore)两种,前者的输出取决于机器状态和输入,后者的输出与输入无关。 FSM的设计方法有两类:一种是将状态的转移和状态的操作写在同一个模块中,另一个是将状态转移单独写成一个模块。后者利于综合器优化代码、布局布线。,Moore型FSM,always (w, state) begin case(state) / Define state circle A: if(w)next_s
5、tate=B; elsenext_state=A; B:if(w)next_state=C; elsenext_state=A; C:if(w)next_state=C; elsenext_state=A; default:next_state=A; endcase z=(state=C);/Define output end / Define the sequential block always (posedge clk or negedge rst) begin if (!rst)state=A; elsestate=next_state; end endmodule,A为初始状态;w为
6、输入;z为输出,module simple (clk, rst, w, z); input clk, rst, w; outputz; regz; reg2:1state, next_state; parameter2:1 A=2b00,B=2b01, C=2b10;,Moore型FSM波形图,Mealy型FSM,/Define the next state and output combination circuits always (w,state) begin case(state) A: if(w) begin z=0; next_state=B; end else begin z=0
7、; next_state=A; end B: if(w) begin z=1; next_state=B; end else begin z=0; next_state=A; end endcase end endmodule,module mealy (clk, rst, w, z); inputclk, rst, w; outputz; regz; regstate, next_state; parameter A=1b0, B=1b1; /Define the sequential block always (posedge clk or negedge rst) begin if (!
8、rst) state=A; elsestate=next_state; end,Mealy型FSM波形图,流水灯设计案例需求分析/设计方案,流水灯需求分析 通过8个单色LED实现流水灯显示效果 流水灯设计方案 用CASE语句实现 用移位寄存器实现 用有限状态机实现,流水灯设计之CASE语句实现,module lamp (rst, clk, state); inputrst, clk; output7:0state; reg7:0state, next_state; parameterIdle = 8b11111111, state0=8b11111110, state1=8b11111100,
9、 state2=8b11111000, state3=8b11110000, state4=8b11100000, state5=8b11000000, state6=8b10000000, state7=8b00000000; always (posedge clk or negedge rst) begin if (!rst)state=Idle; elsestate=next_state; end,always (state) begin case(state) Idle:next_state=state0; state0:next_state=state1; state1:next_s
10、tate=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; endcase end endmodule,Question:如果流水灯效果要求为双向移动,本程序如何修改?,流水灯波形,注1:CPLD实验板上的LED当电平为0时亮,为1时灭; 注2:实际的时钟需要适当降低到人眼可
11、以识别的变化范围内。,流水灯设计之移位寄存器实现,module lamp (rst, clk, state); inputrst, clk; output7:0state; reg7:0state, next_state; always (posedge clk or negedge rst) begin if (!rst)state=8b11111111; elsestate=next_state; end always(state) begin if (state=8b000000000) next_state=8b11111111; elsenext_state=state1; end
12、endmodule,Questions: 如果流水灯效果要求为双向移动,本程序如何修改? 如果流水灯跳变节奏需要有变化,本程序如何修改? 本程序原设计本身是否有不足?,流水灯设计之有限状态机实现,module lamp (rst, clk, w, state); inputrst, clk, w; output7:0 state; reg7:0state, next_state; parameter Idle= 8b11111111, state0= 8b11111110, state1= 8b11111100, state2= 8b11111000, state3= 8b11110000,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数字 系统 设计

限制150内