eda技术实用教程-veriloghdl答案
- 格式:docx
- 大小:17.26 KB
- 文档页数:15
作业3-6module Mux3_1(a1,a2,a3,s0,s1,outy); input a1,a2,a3,s0,s1;output outy;reg outy;reg temp;always @(a2,a3,s0)beginif(s0 == 1'b0)temp = a2;elsetemp = a3;endalways @(a1, temp,s1)beginif(s1 == 1'b0)outy = a1;elseouty = temp;endendmodule作业3-7 半减器module H_suber(x,y,diff,s_out);input x,y;output diff,s_out;reg s_out;wire diff;assign diff = x ^ y;always @(x,y)beginif(x < y)s_out = 1'b1;elses_out = 1'b0;endendmodule全减器module F_suber(x,y,sub_in,diffr,sub_out); input x,y,sub_in;output diffr,sub_out;wire diffr,sub_out;wire H_diff,H_sout,s_out;assign sub_out = s_out || H_sout;H_suber U1 (.x(x),.y(y),.diff(H_diff),.s_out(H_sout));H_suber U2 (.x(H_diff),.y(sub_in),.diff(diffr),.s_out(s_out));Endmodule8位全减器module Bit8_suber(X,Y,Sub_in,Diff,Sub_out);input[7:0] X,Y;input Sub_in;output[7:0] Diff;output Sub_out;wire[7:0] Diff;wire Sub_out;wire[6:0] sub_out;F_suber U1(.x(X[0]),.y(Y[0]),.sub_in(Sub_in),.diffr(Diff[0]),.sub_out(sub_out[0]));F_suber U2(.x(X[1]),.y(Y[1]),.sub_in(sub_out[0]),.diffr(Diff[1]),.sub_out(sub_out[1])); F_suber U3(.x(X[2]),.y(Y[2]),.sub_in(sub_out[1]),.diffr(Diff[2]),.sub_out(sub_out[2])); F_suber U4(.x(X[3]),.y(Y[3]),.sub_in(sub_out[2]),.diffr(Diff[3]),.sub_out(sub_out[3])); F_suber U5(.x(X[4]),.y(Y[4]),.sub_in(sub_out[3]),.diffr(Diff[4]),.sub_out(sub_out[4])); F_suber U6(.x(X[5]),.y(Y[5]),.sub_in(sub_out[4]),.diffr(Diff[5]),.sub_out(sub_out[5])); F_suber U7(.x(X[6]),.y(Y[6]),.sub_in(sub_out[5]),.diffr(Diff[6]),.sub_out(sub_out[6])); F_suber U8(.x(X[7]),.y(Y[7]),.sub_in(sub_out[6]),.diffr(Diff[7]),.sub_out(Sub_out)); Endmodule作业3-13Amodule DFF_A(D,EN,CLK,RST,Q,Q1);input D,EN,CLK,RST;output Q,Q1;reg Q;wire Q1;wire D_temp;assign D_temp = D && EN;assign Q1 = (~D_temp)||RST;always @(negedge RST or posedge CLK)beginif(!RST)Q <= 1'b0;elseif(EN)Q <= D;elseQ <= Q;endmoduleBmodule DFF_B (A,B,C,D,Y);input A,B,C,D;output Y;reg Y;wire temp1,temp2,temp3;assign temp1 = A || B;assign temp2 = C && D;assign temp3 = temp1 ^ temp2; always @(A,temp1,temp3)beginif(temp1)Y = temp3;elseY = A;endendmoduleCmodule DFF_C(RST,D,CLK,Q,DOUT); input RST,D,CLK;output Q,DOUT;reg Q,DOUT;reg D_temp1;wire D_temp2;assign D_temp2 = D ^ D_temp1; always @(RST,D)beginif(RST)D_temp1 = 1'b0;elseD_temp1 = D;endalways @(posedge CLK)beginQ <= D_temp1;DOUT <= D_temp2;endmoduleDmodule DFF_D(SET,D,CLK,EN,RESET,Q);input SET,D,CLK,EN,RESET;output Q;reg Q;wire SET_temp;assign SET_temp = (~RESET) && SET;always @(posedge CLK or posedge RESET or posedge SET_temp) beginif(RESET)Q <= 1'b0;elseif(SET_temp)Q <= 1'b1;elseif(EN)Q <= D;elseQ <= Q;endendmodule8-2.用Mealy机类型,写出控制ADC0809采样的状态机。
《EDA技术实用教程(第五版)》习题1习题1-1EDA技术与ASIC设计和FPGA开发有什么关系?FPGA在ASIC设计中有什么用途?P3~4EDA技术与ASIC设计和FPGA开发有什么关系?答:利用EDA技术进行电子系统设计的最后目标是完成专用集成电路ASIC的设计和实现;FPGA和CPLD是实现这一途径的主流器件。
FPGA和CPLD的应用是EDA技术有机融合软硬件电子设计技术、SoC(片上系统)和ASIC设计,以及对自动设计与自动实现最典型的诠释。
FPGA在ASIC设计中有什么用途?答:FPGA和CPLD通常也被称为可编程专用IC,或可编程ASIC。
FPGA实现ASIC设计的现场可编程器件。
1-2与软件描述语言相比,VHDL有什么特点?P4~6答:编译器将软件程序翻译成基于某种特定CPU的机器代码,这种代码仅限于这种CPU 而不能移植,并且机器代码不代表硬件结构,更不能改变CPU的硬件结构,只能被动地为其特定的硬件电路结构所利用。
综合器将VHDL程序转化的目标是底层的电路结构网表文件,这种满足VHDL设计程序功能描述的电路结构,不依赖于任何特定硬件环境;具有相对独立性。
综合器在将VHDL(硬件描述语言)表达的电路功能转化成具体的电路结构网表过程中,具有明显的能动性和创造性,它不是机械的一一对应式的“翻译”,而是根据设计库、工艺库以及预先设置的各类约束条件,选择最优的方式完成电路结构的设计。
l-3什么是综合?有哪些类型?综合在电子设计自动化中的地位是什么?P6什么是综合?答:在电子设计领域中综合的概念可以表示为:将用行为和功能层次表达的电子系统转换为低层次的便于具体实现的模块组合装配的过程。
有哪些类型?答:(1)从自然语言转换到VHDL语言算法表示,即自然语言综合。
(2)从算法表示转换到寄存器传输级(RegisterTransport Level,RTL),即从行为域到结构域的综合,即行为综合。
verilog-hdl答案第1章简介1.Verilog HDL是在哪一年首次被IEEE标准化的?Verilog HDL是在1995年首次被IEEE标准化的。
2.Verilog HDL支持哪三种基本描述方式Verilog HDL可采用三种不同方式或混合方式对设计建模。
这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模3.可以使用Verilog HDL描述一个设计的时序吗?Verilog HDL可以清晰的建立时序模型,故可以使用Verilog HDL描述一个设计的时序。
4.语言中的什么特性能够用于描述参数化设计?在行为级描述中, Verilog HDL不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述,而且能够使用门和模块实例化语句在结构级进行结构描述,这种特性可用于描述参数化设计。
5.能够使用Verilog HDL编写测试验证程序吗?能,可以编写testbench来对编写的程序进行验证。
6.Verilog HDL是由哪个公司最先开发的?Verilog HDL是由Gateway Design Automation公司最先开发的7.Verilog HDL中的两类主要数据类型是什么?线网数据类型和寄存器数据类型。
线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。
8.UDP代表什么?UDP代表用户定义原语9.写出两个开关级基本门的名称。
pmos nmos10.写出两个基本逻辑门的名称。
and or第2章 HDL指南1. 在数据流描述方式中使用什么语句描述一个设计?设计的数据流行为使用连续赋值语句进行描述2. 使用` t i m e s c a l e 编译器指令的目的是什么?举出一个实例。
使用编译指令将时间单位与物理时间相关联。
例如` timescale 1ns /100ps 此语句说明时延时间单位为1ns并且时间精度为100ps (时间精度是指所有的时延必须被限定在0.1ns内)3. 在过程赋值语句中可以定义哪两种时延?请举例详细说明。
6-1 在Verilog设计中,给时序电路清零(复位)有两种不同方法,它们是什么,如何实现?答:同步清零、异步清零,在过程语句敏感信号表中的逻辑表述posedge CLK用于指明正向跳变,或negedge用于指明负向跳变实现6-2 哪一种复位方法必须将复位信号放在敏感信号表中?给出这两种电路的Verilog 描述。
答:异步复位必须将复位信号放在敏感信号表中。
同步清零:always @(posedge CLK) //CLK上升沿启动Q<=D; //当CLK有升沿时D被锁入Q异步清零:always @(posedge CLK or negedge RST) begin //块开始if(!RST)Q<=0; //如果RST=0条件成立,Q被清0else if(EN) Q<=D;//在CLK上升沿处,EN=1,则执行赋值语句end//块结束6-3 用不同循环语句分别设计一个逻辑电路模块,用以统计一8位二进制数中含1的数量。
module Statistics8(sum,A); output[3:0]sum;input[7:0] A;reg[3:0] sum;integer i;always @(A)beginsum=0;for(i=0;i<=8;i=i+1) //for 语句if(A[i]) sum=sum+1;else sum=sum;endendmodule module Statistics8(sum,A); parameter S=4;output[3:0]sum;input[7:0] A;reg[3:0] sum;reg[2*S:1]TA;integer i;always @(A)beginTA=A; sum=0;repeat(2*S)beginif(TA[1])sum=sum+1;TA=TA>>1;endendendmodulerepeat循环语句for循环语句module Statistics8(sum,A);parameter S=8;output[3:0]sum;input[7:0] A;reg[S:1] AT;reg[3:0] sum;reg[S:0] CT;always @(A) beginAT={{S{1'b0}},A}; sum=0; CT=S;while(CT>0) beginif(AT[1])sum=sum+1;else sum=sum;begin CT= CT-1; AT=AT>>1; end end endendmodule6-3 用不同循环语句分别设计一个逻辑电路模块,用以统计一8位二进制数中含1的数量。
EDA verilog hdl考试题和答案一、选择题(每题2分,共20分)1. 在Verilog HDL中,以下哪个关键字用于定义模块?A. moduleB. endmoduleC. inputD. output答案:A2. Verilog HDL中,以下哪个操作符用于按位取反?A. ~B. !C. ^D. &答案:A3. 在Verilog HDL中,以下哪个关键字用于定义组合逻辑?A. alwaysB. initialC. always_combD. always_seq答案:C4. 以下哪个是Verilog HDL中合法的标识符?A. 2variableB. variable2C. variable$2D. variable_2答案:B5. 在Verilog HDL中,以下哪个关键字用于定义信号的初始值?A. initialB. alwaysC. assignD. defparam答案:A6. 在Verilog HDL中,以下哪个关键字用于定义参数?A. parameterB. defparamC. localparamD. specparam答案:A7. 在Verilog HDL中,以下哪个关键字用于定义一个始终块,该块在仿真开始时执行一次?A. alwaysB. initialC. always_combD. always_ff答案:B8. 在Verilog HDL中,以下哪个操作符用于逻辑与?A. &&B. &C. ||D. |答案:B9. 在Verilog HDL中,以下哪个关键字用于定义一个始终块,该块在信号变化时触发?A. alwaysB. initialC. always_combD. always_ff答案:A10. 在Verilog HDL中,以下哪个关键字用于定义一个三态输出?A. outputB. inoutC. triD. wire答案:C二、填空题(每题2分,共20分)1. 在Verilog HDL中,____关键字用于定义一个始终块,该块在信号的边沿触发时执行。
eda试题及答案verilog1. 请解释Verilog中的阻塞赋值和非阻塞赋值的区别。
答案:在Verilog中,阻塞赋值使用`=`操作符,表示在赋值时会立即执行,并且赋值操作会阻塞后续语句的执行,直到当前赋值完成。
而非阻塞赋值使用`<=`操作符,表示赋值操作会在当前时间单位的末尾执行,不会阻塞后续语句的执行,允许并行执行。
2. 描述Verilog中模块的实例化过程。
答案:在Verilog中,模块的实例化是通过使用模块名后跟实例名和连接端口的列表来完成的。
实例化过程包括指定模块名、实例名以及将端口连接到适当的信号或参数上。
例如:```verilogmodule my_module(a, b, c);output a, c;input b;// ...endmodule// 实例化my_module instance_name(.out1(a), .out2(c), .in(b));```3. 列出Verilog中的基本数据类型。
答案:Verilog中的基本数据类型包括:- 线网类型(wire)- 寄存器类型(reg)- 实数类型(real)- 整型(integer)- 时间类型(time)- 字符串类型(string)4. 说明Verilog中如何使用条件语句。
答案:在Verilog中,可以使用`if`、`case`和`if-else`等条件语句来实现条件控制。
例如,使用`if`语句:```verilogif (condition) begin// 条件为真时执行的代码end else begin// 条件为假时执行的代码end```5. 解释Verilog中的always块的作用。
答案:Verilog中的always块用于描述硬件的时序逻辑和组合逻辑。
always块可以是时序的(使用时钟信号触发),也可以是非时序的(不依赖于时钟信号)。
时序always块通常用于描述寄存器行为,而非时序always块用于描述组合逻辑。
第1章简介1.Verilog HDL是在哪一年首次被IEEE标准化的?Verilog HDL是在1995年首次被IEEE标准化的。
2.Verilog HDL支持哪三种基本描述方式Verilog HDL可采用三种不同方式或混合方式对设计建模。
这些方式包括:行为描述方式—使用过程化结构建模;数据流方式—使用连续赋值语句方式建模;结构化方式—使用门和模块实例语句描述建模3.可以使用Verilog HDL描述一个设计的时序吗?Verilog HDL可以清晰的建立时序模型,故可以使用Verilog HDL描述一个设计的时序。
4.语言中的什么特性能够用于描述参数化设计?在行为级描述中, Verilog HDL不仅能够在RT L级上进行设计描述,而且能够在体系结构级描述及其算法级行为上进行设计描述,而且能够使用门和模块实例化语句在结构级进行结构描述,这种特性可用于描述参数化设计。
5.能够使用Verilog HDL编写测试验证程序吗?能,可以编写testbench来对编写的程序进行验证。
6.Verilog HDL是由哪个公司最先开发的?Verilog HDL是由Gateway Design Automation公司最先开发的7.Verilog HDL中的两类主要数据类型是什么?线网数据类型和寄存器数据类型。
线网类型表示构件间的物理连线,而寄存器类型表示抽象的数据存储元件。
8.UDP代表什么?UDP代表用户定义原语9.写出两个开关级基本门的名称。
pmos nmos10.写出两个基本逻辑门的名称。
and or第2章 HDL指南1. 在数据流描述方式中使用什么语句描述一个设计?设计的数据流行为使用连续赋值语句进行描述2. 使用` t i m e s c a l e 编译器指令的目的是什么?举出一个实例。
使用编译指令将时间单位与物理时间相关联。
例如` timescale 1ns /100ps 此语句说明时延时间单位为1ns并且时间精度为100ps (时间精度是指所有的时延必须被限定在0.1ns内)3. 在过程赋值语句中可以定义哪两种时延?请举例详细说明。
veriloghdl考试题及答案A卷一、选择题(每题2分,共20分)1. 在Verilog中,以下哪个关键字用于定义模块?A. moduleB. functionC. defineD. task答案:A2. 在Verilog中,以下哪个操作符用于按位与操作?A. &B. &&C. |D. ||答案:A3. 在Verilog中,以下哪个关键字用于定义输入端口?A. inputB. outputC. inD. out答案:A4. 在Verilog中,以下哪个关键字用于定义输出端口?A. inputB. outputC. inD. out答案:B5. 在Verilog中,以下哪个关键字用于定义组合逻辑?A. alwaysB. initialC. always_combD. always_seq答案:C6. 在Verilog中,以下哪个关键字用于定义时序逻辑?A. alwaysB. initialC. always_combD. always_seq答案:A7. 在Verilog中,以下哪个关键字用于定义一个过程块?A. alwaysB. initialC. processD. begin答案:A8. 在Verilog中,以下哪个关键字用于定义一个初始块?A. alwaysB. initialC. processD. begin答案:B9. 在Verilog中,以下哪个关键字用于定义一个函数?A. functionB. taskC. moduleD. begin答案:A10. 在Verilog中,以下哪个关键字用于定义一个任务?A. functionB. taskC. moduleD. begin答案:B二、填空题(每题3分,共15分)1. 在Verilog中,使用________关键字可以定义一个参数化的模块。
答案:parameter2. 在Verilog中,使用________关键字可以定义一个端口映射。
eda技术实用教程-veriloghdl答案【篇一:eda技术与vhdl程序开发基础教程课后答案】eda的英文全称是electronic design automation2.eda系统设计自动化eda阶段三个发展阶段3. eda技术的应用可概括为4.目前比较流行的主流厂家的eda软件有、5.常用的设计输入方式有原理图输入、文本输入、状态机输入6.常用的硬件描述语言有7.逻辑综合后生成的网表文件为 edif8.布局布线主要完成9.10.常用的第三方eda工具软件有synplify/synplify pro、leonardo spectrum1.8.2选择1.eda技术发展历程的正确描述为(a)a cad-cae-edab eda-cad-caec eda-cae-cadd cae-cad-eda2.altera的第四代eda集成开发环境为(c)a modelsimb mux+plus iic quartus iid ise3.下列eda工具中,支持状态图输入方式的是(b)a quartus iib isec ispdesignexpertd syplify pro4.下列几种仿真中考虑了物理模型参数的仿真是(a)a 时序仿真b 功能仿真c 行为仿真d 逻辑仿真5.下列描述eda工程设计流程正确的是(c)a输入-综合-布线-下载-仿真b布线-仿真-下载-输入-综合c输入-综合-布线-仿真-下载d输入-仿真-综合-布线-下载6.下列编程语言中不属于硬件描述语言的是(d)a vhdlb verilogc abeld php1.8.3问答1.结合本章学习的知识,简述什么是eda技术?谈谈自己对eda技术的认识?答:eda(electronic design automation)工程是现代电子信息工程领域中一门发展迅速的新技术。
2.简要介绍eda技术的发展历程?答:现代eda技术是20世纪90年代初从计算机辅助设计、辅助制造和辅助测试等工程概念发展而来的。
它的成熟主要经历了计算机辅助设计(cad,computer aided design)、计算机辅助工程设计(caed,computer aided engineering design)和电子设计自动化(eda,electronic system design automation)三个阶段。
3.什么是soc?什么是sopc?答:soc ( system on chip,片上系统)sopc(system on a programmable chip,片上可编程系统)4.对目标器件为cpld/fpga的vhdl设计,主要有几个步骤?每步的作用和结果分别是什么?答:一个完整的eda工程通常要涉及到系统建模、逻辑综合、故障测试、功能仿真、时序分析、形式验证等内容。
而对于设计工程师而言,系统建模中的器件模型有生产厂商给出,工程师只需要完成系统设计、逻辑综合、布局布线、仿真验证和下载测试几个步骤。
5.简述asic设计和cpld/fpga设计的区别?答:专用集成电路(asic)采用硬接线的固定模式,而现场可编程门阵列 (fpga)则采用可配置芯片的方法,二者差别迥异。
可编程器件是目前的新生力量,混合技术也将在未来发挥作用。
6.阐述行为仿真、功能仿真和时序仿真的区别?答:行为仿真只考虑逻辑功能。
功能仿真仅仅完成了对vhdl所描述电路的逻辑功能进行测试模拟,以观察其实现的功能是否满足设计需求,因而仿真过程并不涉及任何具体器件的硬件特性。
时序仿真则是比较接近真实器件运行的仿真,在仿真过程中已经对器件的物理模型参数做了恰当的考虑,所以仿真精度要高得多。
7.详细描述eda设计的整个流程?答:系统规格制定(define specification)设计描述(design description)功能验证(function verification)逻辑电路合成(logic synthesis)逻辑门层次的电路功能验证(gate-level netlist verification)配置与绕线(place and routing)绕线后的电路功能验证(post layout verification)8.为什么要进行硬件电路的后仿真验证和测试?答:后仿真考虑了实际器件的模型参数,能够更好的模拟实际电路工作状态。
测试是检验设计合格的最直接的方式。
2.8.1填空1.可编程逻辑器件的英文全称是2.可编程逻辑器件技术经历了三个发展阶段3. cpld个部分4.目前市场份额较大的生产可编程逻辑器件的公司有 altera 、xillinx 、lattice5.根据器件应用技术fpga6. 快速通道/互联通道包括行互连、列互联、逻辑阵列块、逻辑单元7.常用的的fpga配置方式为8.实际项目中,实现fpga的配置常常需要附加一片9.球状封装的英文缩写为 bga10.cpld/fpga2.8.2选择1. 在下列可编程逻辑器件中,不属于高密度可编程逻辑器件的是(d)a epldb cpldc fpgad pal2. 在下列可编程逻辑器件中,属于易失性器件的是(d)a epldb cpldc fpgad pal3.下列逻辑部件中不属于altera公司cpld的是(a)a通用逻辑块(glb)b可编程连线阵列(pia)c输入输出控制(i/o)d逻辑阵列块(lab)4.下列逻辑部件中不属于lattice公司cpld的是(d)a通用逻辑块(glb)b全局布线区(grp)c输出布线区(orp)d逻辑阵列块(lab)5.下列fpga中不属于xilinx公司产品的是(d)a xc4000b virtexc spartand cyclong6. 下列fpga中不属于alter公司产品的是(b)a flex 10kb virtexc stratixd cyclone7.下列配置方式不属于fpga配置模式的是(d)a主动串行配置模式b被动串行配置模式c主动并行配置模式d被动从属配置模式8.下列因素中通常不属于cpld/fpga选型条件的是(d)a 逻辑资源b 功耗和封装c 价格和速度d 产地2.8.3问答1.结合本章学习的知识,简述cpld的基本结构?答:虽然cpld种类繁多、特点各异,共同之处总结起来可以概括为三个部分:● 可编程逻辑阵列块;● 输入/输出块;● 互联资源;其中,可编程逻辑阵列块类似于一个低密度的pal/gal,包括乘积项的与阵列、乘积项分配和逻辑宏单元等。
乘积项与阵列定义了每个宏单元乘积项的数量和每个逻辑块乘积项的最大容量,能有效的实现各种逻辑功能。
2.结合本章学习的知识,简述fpga的基本结构?答:基于sram编程的fpga以xilinx的逻辑单元阵列(lca,logic cell array)为例,基本结构如图2-20所示。
模块图2-20 fpga的基本机构反熔丝技术fpga器件的逻辑结构采用基于多路选择器的基本逻辑单元,配置数据放在反熔丝开关矩阵中,通过编程使部分反熔丝介质击穿,导通开关从而实现器件的编程。
如图2-21所示互联资源逻辑阵列图2-21 反熔丝技术的fpga结构3.基于sram编程的fpga有哪些特征?优缺点?答:fpga器件的优点:● 可以反复编程,对于一般规模的器件,上电几十毫秒就可以完成配置数据的加载;● 开发设计不需要专门的编程器;● 与cmos工艺的存储器兼容,价格较低;fpga器件的缺点:● 由于器件掉电后sram容易丢失配置数据,因而常常在fpga外部添加一个制度春初期prom或eprom来保存这些配置数据,从而给配置数据的保密带来了困难;● 器件内部可编程连线和逻辑定义通过大量的传输门开关实现,从而导致电阻变大,传递信号的速度收到影响,限制工作频率;4.简述max7000器件的结构及特点?答:【篇二:eda技术课程大纲】开课对象:电子信息工程/电子信息科学与技术/电子科学与技术/集成电路设计专业本科学生课程类别:学院定必修一、课程的任务和目的本课程是电类专业的专业基础课,要求学生通过本课程的学习和实验,初步掌握常用eda工具的使用方法、fpga的开发技术以及vhdl 语言的编程方法。
能比较熟练地使用quartusii等常用eda软件对fpga和cpld作一些简单电路系统的设计,同时能较好地使用vhdl 语言设计简单的逻辑电路和逻辑系统,学会行为仿真、时序仿真和硬件测试技术,为现代eda工程技术的进一步学习,asic器件设计以及超大规模集成电路设计奠定基础。
作为一门专业基础课,除了为现代电子线路课程,软件无线电课程奠定理论和实践方面的基础外,还是其他一些课程的先修课,如微电子导论、现代asic设计、硬件描述语言仿真/综合器设计、大规模集成电路设计等。
二、课程内容与基本要求(一)概论介绍现代eda技术,vhdl概况,介绍自顶向下的系统设计方法以及fpga和cpld的基本技术,要求对现代eda技术及实现工具的使用方法和发展情况有一初步了解。
(二)eda设计流程及工具首先介绍基于eda软件的fpga/cpld开发流程和asic设计流程,然后分别介绍与这些设计流程中各环节密切相关的eda工具软件,最后简述quartusii的基本情况和ip。
(三)fpga/cpld结构与应用主要介绍几类常用的大规模可编程逻辑器件的结构和工作原理。
对cpld的乘积项原理和fpga的查找表原理分别进行剖析。
最后介绍相关的编程下载和测试技术。
(四)vhdl设计初步通过数个简单、完整而典型的vhdl设计示例,使学生初步了解用vhdl表达和设计电路的方法,并对由此而引出的vhdl语言现象和语句规则能逐步趋向系统的了解。
(五)quartusii应用向导通过实例,详细介绍基于quartusii的vhdl文本输入设计流程,包括设计输入、综合、适配、仿真测试和编程下载等方法,以及quartusii包含的一些有用的测试手段,最后介绍原理图输入设计方法。
(六)vhdl设计进阶介绍一些新的实例及相关的vhdl语法知识,使学生进一步了解vhdl语言现象和语句规则的特点,以及应用vhdl表达与设计电路的方法。
(七)宏功能模块与ip应用altera提供了可参数化的宏功能模块和lpm函数,并基于altera器件的结构做了优化设计,使得设计的效率和可靠性得到了很大的提高。
可以根据实际电路的设计需要,选择lpm库中的适当模块,并为其设定适当的参数,满足设计的需要。
本章通过一些示例介绍lpm宏功能模块与ip核的使用方法。
(八)状态机设计介绍使用vhdl设计有限状态机一般性程序结构;介绍状态机的实用程序设计、状态编码方法以及非法状态排除技术。
(九)vhdl程序结构与规则介绍vhdl的基本程序结构,包括实体、结构体、进程、库和子程序等主要语句结构,要求掌握vhdl可综合程序设计的基本程序结构。