
《EDA技术与SOPC基础》第5讲译码器项自2:3-8明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》

《EDA技术与SOPC基础》知识回顾1.Verilog基本结构2.assign连续赋值语句3.条件运算衔明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 知识回顾 1. Verilog 基本结构 2. assign 连续赋值语句 3. 条件运算符

《EDA技术与SOPC基础》本讲知识点reg变量声明always过程语句begin end块语句case语句并位运算【]■口数字表达格式明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 本讲知识点 reg变量声明 always过程语句 begin_end块语句 case语句 并位运算 { } 数字表达格式

《EDA技术与SOPC基础》设计任务采用Verilog HDL语言,设计实现典型组合电路----译码器(3-8)明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 一、设计任务 采用Verilog HDL语言,设计实 现典型组合电路-译码器(3-8)

《EDA技术与SOPC基础》二设计原理输入输出74138YONoCY6Y5Y4Y3BAY7Y2Y1YOY1NoY2N+011110011104.Y3N4日00011111111Y4N+c00110111111YSN+Y6N+00111111111Y7N全001011111113:8DECODER10.1011111111010111111101111111111明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 二、设计原理 输入 输出 C B A Y7 Y6 Y5 Y4 Y3 Y2 Y1 Y0 0 0 0 1 1 1 1 1 1 1 0 0 0 1 1 1 1 1 1 1 0 1 0 1 0 1 1 1 1 1 0 1 1 0 1 1 1 1 1 1 0 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 0 1 1 1 1 1 1 1 0 1 0 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1 1 1

《EDA技术与SOPC基础》三、设计实现代码·【例3-2】3-8译码器decoder3_8//声明模块名和4个端口moduledecoder3_8 (A,B,C,Y);input A,B,C;//定义A.B.C为输入模式,位宽为1位output [7:0] Y;//定义Y为输出模式,位宽为8位[7:0] Y;//声明Y为reg型寄存器regalways @(A or B or C)//过程控制语句a/waysbegin//块语句begin...end//case语句case((C,B,A)3'B000:Y<=8b1111_1110;3'B001:Y<=8'b1111_1101;3'B010:Y<=8'b1111_1011;3'B011:Y<=8b1111_0111;3B100:Y<=8'b1110_1111;3'B101:Y<=8b1101_1111;3B110:Y<=8'b101111113B111:Y<=8'b01111111;endcaseend明德博endmodule到新
明德 博学 求实 创新 《EDA技术与SOPC基础》 三、设计实现代码 •【例3-2】 3-8译码器decoder3_8 • module decoder3_8 (A,B,C,Y); //声明模块名和4个端口 • input A,B,C; //定义A,B,C为输入模式,位宽为1位 • output [7:0] Y; //定义Y为输出模式,位宽为8位 • reg [7:0] Y; //声明Y为reg型寄存器 • always @(A or B or C) //过程控制语句always • begin //块语句begin.end • case({C,B,A}) //case语句 • 3'B000 : Y<=8'b1111_1110; • 3'B001 : Y<=8'b1111_1101; • 3'B010 : Y<=8'b1111_1011; • 3'B011 : Y<=8'b1111_0111; • 3'B100 : Y<=8'b1110_1111; • 3'B101 : Y<=8'b1101_1111; • 3'B110 : Y<=8'b1011_1111 • 3'B111 : Y<=8'b0111_1111; • endcase • end • endmodule

《EDA技术与SOPC基础》四、语法结1. reg 变量定义数据对象:是指用来存放各种类型数据的容器,主要包含常量和变量。所谓变量是指在程序运行时其值可以改变的量;而常量则是指恒定不变的量,一般是一个具体数值。明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 四、语法总结 数据对象: 是指用来存放各种类型数据的容器,主要包含常量和变量。 ◆ 所谓变量是指在程序运行时其值可以改变的量; ◆ 而常量则是指恒定不变的量,一般是一个具体数值。 1. reg 变量定义

《EDA技术与SOPC基础》网络型(netstype)变量寄存器型(registertype)类型功能说明常用的寄存器型变量reginteger32位带符号整数型变量real64位带符号实数型变量time无符号时间型变量明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 变 量 网络型(nets type) 寄存器型(register type) 类型 功能说明 reg 常用的寄存器型变量 integer 32位带符号整数型变量 real 64位带符号实数型变量 time 无符号时间型变量

《EDA技术与SOPC基础》变量名1,变量名2,;reg[位宽]变量名1,变量名2,reg(1)reg为寄存器变量的关键词,只能小写。注意(2)代码中所有中间信号都必须经过声明或定义以后才能使用。例如:reg a,b,//声明了两个位宽为1位的寄存器变量a和b1/声明了1个位宽为8位的寄存器变量datareg [7:0] data;data=8'b00000000://向整个寄存器data赋值,全0data[5:3]=3"b111;//向寄存器data部分位赋值,第5位到3位data[1] = 1 ;//向寄存器data某一位赋值,第1位赋值为1明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 注 意 (1) reg为寄存器变量的关键词,只能小写。 (2)代码中所有中间信号都必须经过声明或定义以后才能使用。 reg 变量名1,变量名2,.; reg [位宽] 变量名1,变量名2,.; 例如: reg a,b; //声明了两个位宽为1位的寄存器变量a和b reg [7:0] data; //声明了1个位宽为8位的寄存器变量data data = 8’b00000000;//向整个寄存器data赋值,全0 data[5:3] = 3’b111; //向寄存器data部分位赋值,第5位到3位 data[1] = 1; //向寄存器data某一位赋值,第1位赋值为1

《EDA技术与SOPC基础》2..always过程语句always过程语句是Verilog语言中用于引导顺序语句块的固定结构。always@(敏感信号列表或表达式)begin各类顺序语句;end(1)特点:always@是固定关键词,用于引导顺序语句块,在Verilog中,一切顺序语句都必须由always引导。但always引导的语句块整体又是一个并行结构,即当一个模块中有多个always语句时,它们是并行结构,程序功能或执行过程与出现位置先后顺序没有关系。明德博学求实创新
明德 博学 求实 创新 《EDA技术与SOPC基础》 always过程语句是Verilog语言中用于引导顺序语句块的固定结构。 2. always过程语句 always @(敏感信号列表或表达式) begin 各类顺序语句; end (1)特点:always @是固定关键词,用于引导顺序语句块,在Verilog中, 一切顺序语句都必须由always引导。但always引导的语句块整体又是一个并行结 构,即当一个模块中有多个always语句时,它们是并行结构,程序功能或执行过 程与出现位置先后顺序没有关系