数字电路应用.ppt

数字电路应用

数字电路应用 Verilog语言与数字设计实践 实验箱介绍 课程的主要内容 数字系统设计的基本概念和方法 Verilog语言要素以及语法 Verilog语言开发环境的使用 组合逻辑电路的Verilog实现 时序逻辑电路的Verilog实现 FPGA(CPLD)的开发过程,程序的调试和下载 课程安排 共有6次课 第一次课: 讲授内容:主要了解数字系统设计的基本概念和方法,并介绍Verilog的基本语法,掌握QuartusII软件的基本使用;。 实验内容:使用Verilog语言在课内做七段译码器的软件仿真实验。 课程安排 第二次课: 讲授内容:时序逻辑电路的Verilog实现,Verilog的数据流建模 。 实验内容:使用Verilog语言在课内设计BCD码的加法器,并做软件仿真实验。 课程安排 第三次课: 讲授内容:Verilog中任务和函数的学习 。 实验内容:使用VHDL语言在课内设计同步计数器,并做软件仿真实验。 课程安排 第四次课: 实验内容: 比较器,优先编码器,和码制转换实验。 课程安排 第五次课: 讲授内容:实验箱的硬件组成 以及使用方法;FPGA引脚的分配,程序的下载等。 实验内容:完成装药系统各个分立模块的调试,补充未完成的模块,并在实验箱上调试通过。 课程安排 第六次课: 实验内容:完成装药系统顶层的设计,并组合各个分立模块为一个完整的系统,在实验箱上调试通过。 Verilog语法概要 一、Verilog的建模方式 由顶向下 罐装系统示意图 Verilog可以实现的建模方式 行为算法级建模 数据流建模 门级建模 开关级建模 二、Verilog的基本语法结构 示例 1(与门操作) module addgate( a,b,out); input a,b; output out; assign out = a b; endmodule 三、数据流建模 连续赋值语句assign 例子: assign addr[15:0] = addr1_bits[15:0] ^ addr2_bits[15:0]; assign out = i1 i2; 数据流建模 位操作符号 ~ NOT AND | OR ^ EXOR ~ nand ~| 或非 ^~ 异或非 例: 多路选择器 4选1 module mux4_to_1 (out, i0, i1, i2, i3, s1, s0); output out; input i0, i1, i2, i3; input s1, s0; out = (~s1 ~s0 i0)| (~s1 s0 i1) | (s1 ~s0 i2) | (s1 s0 i3) ; endmodule 数据流建模 算术操作 * 乘 / 除 + 加 - 减 % 取模 ** 指数运算 例 4位全加器 module fulladd4(sum, c_out, a, b, c_in); output [3:0] sum; output c_out; input[3:0] a, b; input c_in; assign {c_out, sum} = a + b + c_in; endmodule 其他操作 == Equal to != Not equal Less than Greater than = Less than or equal = Greater than or equal AND || OR 其他操作 Shift right Shift left + Add - Subtract * Multiply / Divide % Modulus 数据流建模 时延 # assign #10 out = in1 in2; 操作优先级 四、verilog示例 4.1三位加法器的实现 module adder ( count,sum,a,b,cin ); input [2:0] a,b; input cin; output count; output [2:0] sum; assign {count,sum}=a+b+cin; endmodule 四、 verilog示例 4.2比较器实现 module compare ( equal,a,b ); output equal; input

文档评论(0)

1亿VIP精品文档

相关文档