教学文库网 - 权威文档分享云平台
您的当前位置:首页 > 精品文档 > 基础教育 >

Verilog HDL语言设计实验指导书(2004)(8)

来源:网络收集 时间:2026-05-01
导读: end #30 rst=1; data ='b1100_1001_0000_1001_0100; #500 $stop; seqdet m(x,z,clk,rst,state); endmodule 仿真波形: 三、 实验设备及实验注意事项 1.Modelsim6.0和Sypnify Pro7.3及以上版本EDA软件 Modelsim是美

end

#30 rst=1;

data ='b1100_1001_0000_1001_0100; #500 $stop;

seqdet m(x,z,clk,rst,state);

endmodule 仿真波形:

三、 实验设备及实验注意事项

1.Modelsim6.0和Sypnify Pro7.3及以上版本EDA软件

Modelsim是美国Mentor Graphics公司的子公司Model Technology的产品,属于编译型的Verilog/VHDL混合型仿真器。Mentor Graphics公司是世界最著名的从事电子设计自动化(EDA)系统设计、制造、销售和服务的厂家之一。Modelsim可以在同一个设计中单独或混合使用Verilog和VHDL,允许Verilog模块调用VHDL的实体,或VHDL调用Verilog。由于Modelsim是编译型仿真器,使用编译后的HDL库进行仿真,因此在进行仿真前,必须编译所有的待仿真的HDL文件成为HDL仿真库,在编译时使源文件获得优化,提高了仿真速度。Modelsim 可以完成三个层次的Verilog仿真,分别为RTL级仿真、综合后门级仿真、适配后门级仿真。因为其功能的强大和完善,Modelsim已成为基于PC机Windows平台的最流行的HDL仿真和验证工具。

Synplify Pro/Synplify是由位于美国加州的Synplicity公司推出的专门用于FPGA/CPLD的逻辑综合工具,它支持Verilog HDL和VHDL高层次设计描述,在综合优化方面性能优异,应用广泛。Synplify Pro/Synplify支持Verilog 1364-1995标准,能以很高的效率将Verilog设计文件转换为针对选定器件的标准网表,并提供相应设计环境的配置文件,在综合后还可以生成Verilog仿真网表,以便对原设计进行功能仿真。

需要指出的是,最专业和强大的EDA软件都是基于服务器的UNIX软件,限于已有条件,本课程只能选择PC机Windows平台下最流行的Modelsim 和Synplify Pro这两种分别用于仿真和综合的EDA软件。

2.计算机系统(PC机) 系统配置的基本需求:

CPU: Intel奔腾系列,或AMD Athlon/XP; 操作系统:Windowns NT/2000/XP;

24

内存:256M或以上;

显卡:支持256色的8位显卡或以上; 硬盘:20G以上。

四、实验报告要求

1、简要描述Verilog HDL中状态机的相关概念和设计要点;

2、实验报告应包括Modelsim环境下仿真得到的波形和Synplify Pro环境下综合得到RTL级电路图。

五、预习要求及思考题

1、分析Verilog HDL中状态机的设计要点;

2、设计一个串行数据检测器。要求是:连续4个或4个以上的1时输出为1,其他输入情况下为0。编写测试模块并给出仿真波形。

25

实验五 基于模块多层次引用的结构化电路设计

一 、实验目的

1、了解复杂电路与系统的“top-down”设计思想; 2、掌握简单多层次电路的描述方法。

二、实验原理、内容及步骤

1、多层次结构电路的设计

复杂数字系统可采用“top-down”的方法进行设计:首先把系统分为几个模块,每个模块在分为几个子模块,依次类推,知道易于实现为止。

这种“top-down”的方法能够把复杂的设计分为许多简单的设计来实现,同时也适合于多人进行合作开发。

多层次结构电路的描述既可以采用文本方式,也可以采用图形和文本混合设计的方式。 被调用模块的指定方式:1)文件复制方式;2)使用`include语句;3)库管理方式。 2、 设计实例分析

这个实例的功能是将并行数据转化为串行数据送交外部电路编码,并将解码后得到的串行数据转化为并行数据交由CPU处理。显而易见,这实际上是两个独立的逻辑功能,分别设计为独立的模块,然后再合并为一个模块显得目的明确、层次清晰。

模块源代码

// ---------------- p_to_s.v --------------------------------- module p_to_s(D_in,T0,data,SEND,ESC,ADD_100);

output D_in,T0; // D_in是串行输出,T0是移位时钟并给

// CPU中断,以确定何时给出下个数据。

[7:0] data; //并行输入的数据。

SEND,ESC,ADD_100; //SEND、ESC共同决定是否进行并到串

input input

//的数据转化。ADD_100决定何时置数。

wire D_in,T0;

reg [7:0] DATA_Q,DATA_Q_buf;

assign T0 = ! (SEND & ESC); //形成移位时钟。. assign D_in = DATA_Q[7]; //给出串行数据。

always @(posedge T0 or negedge ADD_100) //ADD_100下沿置数,T0上沿移位。

26

begin

if(!ADD_100)

DATA_Q = data;

else

begin end

DATA_Q_buf = DATA_Q<<1; //DATA_Q_buf作为中介,以令综合器 DATA_Q = DATA_Q_buf; //能辨明。

end

endmodule

在p_to_s.v中,由于移位运算虽然可综合,但是不是简单的RTL级描述,直接用DATA_Q<=DATA_Q<<1的写法在综合时会令综合器产生误解。另外,在该设计中,由于时钟T0的频率较低,所以没有象以往那样采用低电平置数,而是采用ADD_100的下降沿置数。

//--------------------- s_to_p.v --------------------------- module s_to_p(T1, data, D_out,DSC,TAKE,ADD_101);

output T1; //给CPU中断,以确定CPU何时取转化 //得到的并行数据。 output [7:0] data;

input D_out, DSC, TAKE, ADD_101; //D_out提供输入串行数据。DSC、TAKE //共同决定何时取数。 wire [7:0] data; wire T1,clk2;

reg [7:0] data_latch, data_latch_buf;

assign clk2 = DSC & TAKE ; //提供移位时钟。 assign T1 = !clk2;

assign data = (!ADD_101) ? data_latch : 8'bz; always @(posedge clk2) begin

data_latch_buf = data_latch << 1; //data_latch_buf作缓冲 data_latch = data_latch_buf; //,以令综合器能辩明。 data_latch[0] = D_out; end

endmodule

将上面的两个模块合并起来的sys.v的源代码: //------------------- sys.v ---------------------------

27

`include \`include \

module sys(D_in,T0,T1, data, D_out,SEND,ESC,DSC,TAKE,ADD_100,ADD_101);

input D_out,SEND,ESC,DSC,TAKE,ADD_100,ADD_101; inout [7:0] data; output D_in,T0,T1; p_to_s

p_to_s(.D_in(D_in),.T0(T0),.data(data),.SEND(SEND),.ESC(ESC),.ADD_100(ADD_100)); s_to_p …… 此处隐藏:1282字,全部文档内容请下载后查看。喜欢就下载吧 ……

Verilog HDL语言设计实验指导书(2004)(8).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.jiaowen.net/wendang/565706.html(转载请注明文章来源)
Copyright © 2020-2025 教文网 版权所有
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:78024566 邮箱:78024566@qq.com
苏ICP备19068818号-2
Top
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)