网站大量收购独家精品文档,联系QQ:2885784924

3 EDA工具使用方法及常用电路设计.pptx

  1. 1、本文档共53页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3 EDA工具使用方法及常用电路设计.pptx

1 3 EDA工具使用方法 及常用电路设计方法 2 本单元介绍基于Quartus II软件的EDA设计流程 软件版本: Quartus II 9.x 3 1. 基于Quartus II软件的EDA设计流程 1 创建工程 2 编辑和输入设计文件 3 编译 4 仿真测试 5 引脚锁定 6 下载 7 硬件调试 设计步骤 4 1. 基于Quartus II软件的EDA设计流程 例:全加器设计步骤 module adder (a,b,cin,s,co); input a,b,cin; output s,co; assign s=a^b^cin; assign co=ab+acin+bcin; endmodule 5 2. 常用组合电路的设计方法 组合电路特点: 任意时刻的输出仅仅决定于该时刻的输入,与电路原来的状态无关。 电路中无存储器、无反馈结构;无记忆功能。 常用的组合电路: 编码器 译码器 数据选择器 加法器 数值比较器 奇偶校验器 2. 常用组合电路的设计方法 6 简单的组合关系可用门原语或assign语句或always语句实现; 复杂的最好用always语句实现。 用verilog语句设计组合电路比较简单,常用语句:assign语句、 门原语调用、always语句 2. 常用组合电路的设计方法 例1:已知逻辑图,写出.v代码 例1:已知逻辑式写出.v代码 用assign语句或always语句 全加器 常见的四种已知情况: 已知逻辑图; 已知逻辑式; 已知真值表; 已知逻辑功能。 2. 常用组合电路的设计方法 例2:已知逻辑图,写出.v代码 适合用门原语 全加器 9 2. 常用组合电路的设计方法 例3:已知真值表,写出.V代码。 用always语句(配合case语句或if语句) 编码器 10 2. 常用组合电路的设计方法 例4:已知74LS138译码器的逻辑功能,写出.v代码 用always语句 (用if语句描述片选功能,用case语句描述译码功能) 2. 常用组合电路的设计方法 用always语句设计组合电路时要注意: 敏感条件为电平变化 用阻塞赋值 若用if语句或case语句,条件要完整,否则会综合出寄存器。 2. 常用组合电路的设计方法 例:用if语句实现3选1数据选择器。 module MUX31 (a,b,c,s1,s0,y); input a,b,c,s1,s0; output reg y; always @(a,b,c,s1,s0) if ({s1,s0}==2b00) y=a; else if ({s1,s0}==2b01) y=b; else if ({s1,s0}==2b10) y=c; else y=1b0; endmodule 13 2. 常用组合电路的设计方法 加else always @(a,b) if (sel) Q=a; else Q=b; always @(a,b) Q=b; if (sel) Q=a; 使if语句条件完整的两种方法: 2.在if之前设初值 2. 常用组合电路的设计方法 用case语句实现3选1数据选择器: module MUX31 (a,b,c,s1,s0,y); input a,b,c,s1,s0; output reg y; always @(a,b,c,s1,s0) begin case ({s1,s0}) 2b00:y=a; 2b01:y=b; 2b10:y=c; default:y=1b0; endcase end endmodule 15 2. 常用组合电路的设计方法 3. case所有情况 case语句使条件完整的三种方法: 1. 加default case ({s1,s0}) 2b00:y=a; 2b01:y=b; 2b10:y=c; default: y=1b0; endcase case ({s1,s0}) 2b00:y=a; 2b01:y=b; 2b10:y=c; 2’b11:y=0; endcase 2.在case前设初值 y=1b0; case ({s1,s0}) 2b00:y=a; 2b01:y=b; 2b10:y=c; endcase 2. 常用组合电路的设计方法 编码器设计 always @ (I7,I6,I5,I4,I3,I2,I1,I0) case ({I7,I6,I5,I4,I3,I2,I1}) 7’b1000000 : {Y2,Y1,Y0}=3’b111; 7’b0100000 : {Y2,Y1,Y0}=3’b110; 7’b0010000 : {Y2,Y1,Y0}=3’b101; …… 7’b0000001 : {Y2,Y1,Y0}=3’b001; default

文档评论(0)

czy2014 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档