《数字逻辑课程设计》教案闫爱斌Word文件下载.docx

上传人:b****1 文档编号:15315367 上传时间:2022-10-29 格式:DOCX 页数:25 大小:548.07KB
下载 相关 举报
《数字逻辑课程设计》教案闫爱斌Word文件下载.docx_第1页
第1页 / 共25页
《数字逻辑课程设计》教案闫爱斌Word文件下载.docx_第2页
第2页 / 共25页
《数字逻辑课程设计》教案闫爱斌Word文件下载.docx_第3页
第3页 / 共25页
《数字逻辑课程设计》教案闫爱斌Word文件下载.docx_第4页
第4页 / 共25页
《数字逻辑课程设计》教案闫爱斌Word文件下载.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

《数字逻辑课程设计》教案闫爱斌Word文件下载.docx

《《数字逻辑课程设计》教案闫爱斌Word文件下载.docx》由会员分享,可在线阅读,更多相关《《数字逻辑课程设计》教案闫爱斌Word文件下载.docx(25页珍藏版)》请在冰豆网上搜索。

《数字逻辑课程设计》教案闫爱斌Word文件下载.docx

1、芯片设计完整流程描述

工艺无关的前端设计:

规格制定、详细设计、HDL编码、仿真验证、逻辑综合、综合验证

工艺相关的后端设计:

DFT设计、布局布线、版图验证、寄生参数、仿真验证、芯片制造

2、HDL的基本概念

HDL是一种用形式化方法来描述数字电路和系统的语言。

用它可以表示逻辑电路图、逻辑表达式、数字逻辑系统所完成的逻辑功能等。

通过EDA工具进行仿真验证,进而使用ASIC或FPGA布局布线工具进行电路和系统的实现。

3、VerilogHDL的基本概念

它是HDL的一种,它们具有如下相同点:

⏹能形式化地抽象表示电路的行为和结构;

⏹支持逻辑设计中层次与范围的描述;

⏹可借用高级语言结构简化电路行为描述;

⏹具有电路仿真和验证机制以保证设计的正确性;

⏹支持电路描述由高层到低层的综合转换;

⏹硬件描述与实现工艺无关;

⏹便于文档管理和设计重用。

同时,也具有如下不同点:

⏹VHDL源自美国军方,1987年成为IEEE标准;

⏹Verilog源自民间公司,1995年成为IEEE标准;

⏹VHDL较难掌握,使用的客户群体匮乏;

⏹VHDL语法比Verilog严谨而冗长;

⏹VHDL语言几乎不支持电路级底层描述级别;

⏹VHDL语言系统级描述能力较好,而Verilog通过扩展为SystemVerilog才丰富了系统级描述能力。

4、IP核简介

⏹IP就是知识产权核或知识产权模块之义。

⏹美国Dataquest公司将半导体产业的IP定义为“用于ASIC或FPGA中的预先设计好的电路功能模块”

⏹软核:

经过功能验证、可综合的、实现后电路结构的总门数在5000以上的HDL模型(编码)。

⏹固核:

在某一种FPGA上实现的、经验证是正确的、总门数在5000以上的电路结构编码文件(电路网表)。

⏹硬核:

在某一种ASIC上实现的、经验证是正确的、总门数在5000以上的电路结构版图掩膜。

5、Verilog基本程序结构

modulemodule_name(port_list);

//声明各种变量、信号

//*变量如reg、wire、parameter

//*信号如input、output、inout

//程序代码,描述

//initial块

//always块

//…

endmodule

6、数据流描述语句简介

语法:

assign线网型变量名=赋值表达式;

举例:

wirea;

wire[3:

0]b,c;

assigna=1;

assignb[1:

0]=2’b10;

assignc={a,a};

注意:

assign只能对wire型数据进行赋值;

数据流描述形式通常只采用assign语句进行实现。

7、如何编写一个简单的Verilog示例程序?

以移位器为例,使用XilinxISE开发套件实现电路功能模块和测试模块的编写。

测试模块:

8、结构描述语句简介

门类型<

实例名>

(输出,输入1,输入2,…,输入N)

常用的8个门类型关键字:

and、nand、or、nor、xor、xnor、buf、not

nandna01(na_out,a,b,c);

xorxo01(xo_out,a,b);

门类型关键字区分大小写;

多输入单输出;

VerilogHDL中的结构描述本质上为门级描述。

9、实例:

一个简单的全加器例子

10、行为描述语句简介

行为级描述包含四个方面:

◆流控制典型代表为if,case,while…

◆语句块典型代表为begin+end模块

◆时序控制典型代表为边沿/电平触发事件控制

◆过程结构典型代表为always模块

行为级描述主要用于时序功能的实现。

11、实例:

一个八位计数器的例子

1扼要地介绍了基本概念;

2重点介绍了XilinxISE套件对VerilogHDL程序的仿真与测试;

3布置第一次实验报告:

给出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_100MHz

2、数据类型

共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:

赋值例:

X_ROM[0]=4’hf;

X_ROM[1]=2’b10;

X_ROM[2]=8’o7;

X_ROM[3]=4’d9;

思考:

存储位宽?

存储深度?

存储结果?

※被赋值变量应当在时序逻辑块中;

不能只对某一位赋值,未赋值部分被补0?

分析区别:

0]rega;

regmemb[n-1:

■parameter型

用来表示常量(整形、实数型、字符串型)

parameter参数名=数据;

parameterpai=3.14;

//科学计数法?

parameter[1:

0]a=2’d3,b=4’d6;

//基数表示法

parameterhi=“hi”;

//二进制存储ASCII,1符8位

reg[1:

8*7]str=“counter”;

3、Verilog语言的运算符和表达式

算术运算符(简单了解)

赋值运算符

  连续赋值vs.过程赋值(阻塞、非阻塞)

关系运算符成立返1,不成立返0,不定返?

逻辑运算符

条件运算符三目运算符

位运算符^;

^~;

~&

;

~|

移位运算符

拼接运算符{a,b}

一元约简运算符

4、形为描述语句的过程结构

①initial模块

定义格式:

initialbegin/fork

end/join

※只执行一次,只面向仿真(不可综合),多个则并行执行.

② always模块

always@(敏感事件列表)begin/fork

end/join

5、形为描述语句的时序控制

①延迟控制

②事件控制(对应于敏感事件列表)

・电平触发事件控制

・边沿触发事件控制

上机实践:

1、编写nor3,并进行测试。

2、编写一个八位计数器,并进行测试。

6、形为描述语句的语句块

parameterd=50;

reg[7:

0]r;

begin:

block1//有名块、串行块

#dr=’h10;

#dr=’o10;

#dr=’d10;

end

如何修改为并行块?

串行块与并行块的执行特点?

混合使用?

7、形为描述语句的流控制

①跳转(if语句)注意else;

串行。

②分支(case语句)注意default;

并行。

③循环

for语句与C语言语法相同

while语句while(表达式)begin…end

forever语句foreverbegin…end须在initial中

repeat语句repeat(次数)begin…end

8、理解阻塞与非阻塞赋值

moduleeg1(out,a,b,c,d);

inputa,b,c,d;

//假设该组值均从01

outputout;

regt1,t2,out;

always@(aorborcord)begin

t1=a&

b;

//t1<

=a&

t2=c&

d;

//t2<

=c&

out=t1|t2;

//out<

=t1|t2;

endmodule

分析替换为注释部分的语句,程序将如何响应。

1扼要地介绍了Verilog数据类型和运算符;

2重点介绍了Verilog行为描述语句,完成了上机实践(仿真与测试)

3布置第二次实验报告:

试给出D触发器的行为描述形式,如何进行仿真测试?

附一种并未实现D触发器功能的代码:

moduledff(clk,d,q1,q2);

inputclk,d;

outputq1,q2;

regq1,q2;

always@(negedgeclk)begin

q1=d;

q2=q1;

end

第 3 次教学活动设计

1、复习上节课内容,包括几个基本数据类型的使用、默认值等。

2、回顾Verilog程序的仿真和测试基本流程。

3、回顾

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 求职职场 > 面试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1