第一章 Verilog数字集成电路设计方法概述
HDL(Hardware Description Language)----硬件描述语言
EDA(Electronic Design Automation)----电子设计自动化
VLSI(Very Large Scale Integrated)----超大规模集成电路
ASIC(Application Specific Integrated Circuit)----专用集成电路
FPGA(Field Programmable Gate Array)----现场可编程门阵列
CPLD(Complex Programmable Logic Device)----复杂可编程逻辑器件
例1:用Verilog HDL描述4位和32位的与逻辑
4位总线与逻辑
module aand4(a,b,c); input [3:0]a,b; output [3:0]c; reg [3:0] c; always @(a or b) c=a&b; enmodule
32位总线与逻辑
module aand4(a,b,c); input [31:0]a,b; output [31:0]c; reg [31:0] c; always @(a or b) c=a&b; enmodule
例2:用Verilog HDL描述4位和8位移位寄存器
module shiftregist4(clk,din,Reset,qout); input clk,Reset,din; output [3:0] qoutl reg [3:0] qout; always @(posedge clk or posedge Reset) begin if(Reset) qout<=4'b0000; else begin qout[3]<=qout[2]; qout[2]<=qout[1]; qout[1]<=qout[0]; qout[0]<=din; end end enmodule
module shiftregist4(clk,din,Reset,qout); input clk,Reset,din; output [7:0] qoutl reg [7:0] qout; always @(posedge clk or posedge Reset) begin if(Reset) qout<=4'b0000; else begin qout[7:1]<=qout[6:0]; qout[0]<=din; end end enmodule
----高效、灵活性强、可拓展
例:二选一数据选择器
module mux(a,b,sel,out); input[0:0] a,b; input[0:0] sel; output[0:0] out; reg [0:0] out; always @(a,b,sel) case(sel) 2'b00:out=a; 2'b11:out=b; default:out=0; endcase enmodule
module mux_tb; reg a,b; reg [1:0] sel; wire out; mux u1(a,b,sel,out); initial begin sel=2'b00; a=0; b=0; #5 a=1; #5 a=0; #10 a=1; #10 a=0; #5 sel=2'b11l #5 b=1; #5 b=0; #5 b=1; #10 b=0; #5 sel=2'b10; a=1; b-1; end enmodule
第二章 Verilog HDL基础知识
第三章 Verilog HDL程序设计语句和描述方法
第四章 Verilog HDL数字逻辑电路设计方法
第五章 仿真验证与Testbench的编写
第六章 Verilog HDL高级程序设计举例
第七章 仿真测试工具和综合工具