好文档就是一把金锄头!
欢迎来到金锄头文库![会员中心]
电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

《数字逻辑课程设计》教案.doc

19页
  • 卖家[上传人]:jiups****uk12
  • 文档编号:40089439
  • 上传时间:2018-05-23
  • 文档格式:DOC
  • 文档大小:702.50KB
  • / 19 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 安徽大学本科教学课程教案安徽大学本科教学课程教案课程代码:课程代码: ZX36274 课程名称:课程名称: 数字逻辑课程设计数字逻辑课程设计 授课专业:授课专业: 计算机科学与技术计算机科学与技术 授课教师:授课教师: 闫爱斌闫爱斌 职称职称/学位:学位: 讲师讲师/博士博士 开课时间:二开课时间:二○○ 一六一六 至二至二○○ 一七一七 学年第学年第 2 学期学期第第 1 次教学活动设计次教学活动设计教学教学 环节环节内容设计与手段内容设计与手段导导 入入 新新 课课首先提问同学是否知晓 iPhone7 中处理器芯片的名称,然后再提问是否有同学知晓 该处理器芯片的大致设计流程当学生发表完自己的观点后,教师进行总结:电子产品在 我们身边无处不在,集成电路芯片是它们的心脏,电子产品都会用到数字电路芯片 iPhone7 中处理器芯片的名称是 A11,有人说拆开 iPhone7 发现里面就是一块中高端 FPGA 板,那么它是如何设计出来的,以及如何设计一款电路芯片,从而导入本门课程第一 讲内容,即 VerilogHDL 快速入门与上机实践。

      讲讲 授授 内内 容容1、芯片设计完整流程描述、芯片设计完整流程描述 工艺无关的前端设计:规格制定、详细设计、HDL 编码、仿真验证、逻辑综合、综合验证 工艺相关的后端设计:DFT 设计、布局布线、版图验证、寄生参数、仿真验证、芯片制造2、、HDL 的基本概念的基本概念 HDL 是一种用形式化方法来描述数字电路和系统的语言用它可以表示逻辑电路图、逻辑 表达式、数字逻辑系统所完成的逻辑功能等通过 EDA 工具进行仿真验证,进而使用 ASIC 或 FPGA 布局布线工具进行电路和系统的实现3、、Verilog HDL 的基本概念的基本概念 它是 HDL 的一种,它们具有如下相同点: 能形式化地抽象表示电路的行为和结构; 支持逻辑设计中层次与范围的描述; 可借用高级语言结构简化电路行为描述; 具有电路仿真和验证机制以保证设计的正确性; 支持电路描述由高层到低层的综合转换; 硬件描述与实现工艺无关; 便于文档管理和设计重用 同时,也具有如下不同点: VHDL 源自美国军方,1987 年成为 IEEE 标准; Verilog 源自民间公司,1995 年成为 IEEE 标准; VHDL 较难掌握,使用的客户群体匮乏; VHDL 语法比 Verilog 严谨而冗长; VHDL 语言几乎不支持电路级底层描述级别; VHDL 语言系统级描述能力较好,而 Verilog 通过扩展为 System Verilog 才丰富了系 统级描述能力。

      4、、IP 核简介核简介 IP 就是知识产权核或知识产权模块之义 美国 Dataquest 公司将半导体产业的 IP 定义为“用于 ASIC 或 FPGA 中的预先设计 好的电路功能模块” 软核:经过功能验证、可综合的、实现后电路结构的总门数在 5000 以上的 HDL 模 型(编码) 固核:在某一种 FPGA 上实现的、经验证是正确的、总门数在 5000 以上的电路结 构编码文件(电路网表) 硬核:在某一种 ASIC 上实现的、经验证是正确的、总门数在 5000 以上的电路结构 版图掩膜5、、Verilog 基本程序结构基本程序结构 module module_name(port_list); // 声明各种变量、信号// *变量如 reg、wire、parameter// *信号如 input、output、inout // 程序代码,描述 // initial 块// always 块 // … endmodule6、数据流描述语句简介、数据流描述语句简介 语法: assign 线网型变量名 = 赋值表达式; 举例:wire a; wire [3:0] b,c;assign a = 1;assign b[1:0] = 2’b10; assign c = {a,a}; 注意: assign 只能对 wire 型数据进行赋值; 数据流描述形式通常只采用 assign 语句进行实现。

      7、如何编写一个简单的、如何编写一个简单的 Verilog 示例程序?示例程序? 以移位器为例,使用 Xilinx ISE 开发套件实现电路功能模块和测试模块的编写测试模块:8、结构描述语句简介、结构描述语句简介 语法: 门类型 (输出,输入 1,输入 2,…,输入 N) 常用的 8 个门类型关键字: and、nand、or、nor、xor、xnor、buf、not 举例:nand na01(na_out, a, b, c);xor xo01(xo_out, a, b); 注意: 门类型关键字区分大小写;多输入单输出; Verilog HDL 中的结构描述本质上为门级描述9、实例:一个简单的全加器例子、实例:一个简单的全加器例子10、行为描述语句简介、行为描述语句简介 行为级描述包含四个方面: ◆ 流控制 典型代表为 if,case, while… ◆ 语句块 典型代表为 begin+end 模块 ◆ 时序控制 典型代表为边沿/电平触发事件控制 ◆ 过程结构 典型代表为 always 模块行为级描述主要用于时序功能的实现11、实例:一个八位计数器的例子、实例:一个八位计数器的例子归归 纳纳 总总 结结① 扼要地介绍了基本概念; ② 重点介绍了 Xilinx ISE 套件对 Verilog HDL 程序的仿真与测试; ③ 布置第一次实验报告: 给出 c17 电路的结构描述形式,如何进行仿真测试?写出实验报告。

      附 c17 电路网表如下:INPUT(G1) INPUT(G2) INPUT(G3) INPUT(G4) INPUT(G5) OUTPUT(G16) OUTPUT(G17) G8 = NAND(G1,G3) G9 = NAND(G3,G4) G12 = NAND(G2,G9) G15 = NAND(G9,G5) G16 = NAND(G8,G12) G17 = NAND(G12,G15)第第 2 次教学活动设计次教学活动设计教学教学 环节环节内容设计与手段内容设计与手段导导 入入 新新 课课1、复习上节课内容,包括几个基本概念:即 HDL、软核、固核、硬核; 2、回顾如何进行 Verilog 程序的仿真和测试 3、如何界定数据流描述语句和结构描述语句讲讲 授授 内内 容容1、、Verilog 中的标志符中的标志符  字母、下划线(开头) ,数字、$符;  区分大小写? 例: IF; _ce; CLK_100MHz2、数据类型、数据类型 共 19 种,本讲只介绍常用的四种: wire 型;reg 型;memory 型;parameter 型■wire 型 ・常用来表示组合逻辑信号,常与 assign 一起使用; ・默认值为高阻抗状态,高阻态如何表示?■reg 型 ・常用来表示时序逻辑信号,常在 always 块中使用; ・默认值为未知(不定)状态,不定态如何表示?※ wire 型需持续驱动,而 wire 型保持最后一次赋值。

      变量不指定类型?always 块中被赋值变量的类型?■memory 型 常用于将 reg 型扩展为寄存器数组(二维),对存储器建模. 定义格式:reg[n-1:0] 存储器名[m-1:0]; 定义例:reg[7:0] X_ROM[3:0]; 赋值例:X_ROM[0] = 4’hf;X_ROM[1] = 2’b10; X_ROM[2] = 8’o7;X_ROM[3] = 4’d9; 思考:存储位宽?存储深度?存储结果? ※ 被赋值变量应当在时序逻辑块中;不能只对某一位赋值,未赋值部分被补 0? 分析区别:reg[n-1:0] rega;reg memb[n-1:0]; ■parameter 型 用来表示常量(整形、实数型、字符串型) 定义格式:parameter 参数名 = 数据; 例:parameter pai = 3.14; //科学计数法? parameter[1:0] a = 2’d3,b = 4’d6;//基数表示法 parameter hi = “hi”; //二进制存储 ASCII,1 符 8 位 reg[1:8*7] str = “counter”;3、、VerilogVerilog 语言的运算符和表达式语言的运算符和表达式 算术运算符(简单了解) 赋值运算符 连续赋值 vs. 过程赋值(阻塞、非阻塞) 关系运算符成立返 1,不成立返 0,不定返? 逻辑运算符 条件运算符三目运算符 位运算符^; ^~; ~&; ~| 移位运算符 拼接运算符{a,b} 一元约简运算符4、形为描述语句的过程结构、形为描述语句的过程结构① initial 模块 定义格式: initial begin/fork… end/join ※ 只执行一次,只面向仿真(不可综合),多个则并行执行. ② always 模块 定义格式: always @(敏感事件列表) begin/fork… end/join5、形为描述语句的时序控制、形为描述语句的时序控制 ① 延迟控制 ② 事件控制(对应于敏感事件列表) ・电平触发事件控制 ・边沿触发事件控制上机实践:1、编写 nor3,并进行测试。

      2、编写一个八位计数器,并进行测试6、形为描述语句的语句块形为描述语句的语句块 parameter d = 50; reg[7:0] r; begin: block1 // 有名块、串行块 #d r = ’h10; #d r = ’o10; #d r = ’d10; end 如何修改为并行块? 串行块与并行块的执行特点?混合使用?7、形为描述语句的流控制、形为描述语句的流控制 ① 跳转(if 语句)注意 else;串行 ② 分支(case 语句)注意 default;并行 ③ 循环 for 语句与 C 语言语法相同 while 语句while(表达式) begin … end forever 语句forever begin … end 须在 initial 中 repeat 语句repeat(次数) begin … end8、理解阻塞与非阻塞赋值理解阻塞与非阻塞赋值 module eg1 (out, a, b, c, d);input a, b, c, d; // 假设该组值均从 01 output out;reg t1, t2, out;always @(a or b or c or d) begin t1 = a // t1 <= a t2 = c // t2 <= c out = t1 | t2; // out <= t1 | t2;endendmodule 分析替换为注释部分的语句,程序将如何响应。

      归归 纳纳 总总 结结① 扼要地介绍了 Verilog 数据类型和运算符; ② 重点介绍了 Verilog 行为描述语句,完成了上机实践(仿真与测试) ③ 布置第二次实验报告: 试给出 D 触发器的行为描述形式,如何进行仿真测试?写出实验报告 附一种并未实现 D 触发器功能的代码:module dff (clk, d, q1, q2);input clk, d;output q1, q2;reg q1, q2;always @(negedge clk) beginq1 = d;q2 = q1;endendmodule 第第 3 次教学活动设计次教学活动设计教学教学 环节环节内容设计与手段内容设计与手段。

      点击阅读更多内容
      关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
      手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
      ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.