- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《Verilog语言程序设计》实验报告
实验项目一院系:专业:
实验项目一
院
系:
专
业:
班
级:
姓
名:
学
号:
日
期:
成
绩:
年 月 日
二选一数据选择器
成绩
一、实验目的及要求
1?学习Verilog HDL文本文件进行设计输入;
2.实现二选一数据选择器的“ Verilog ”语言设计;
3?设计仿真文件,进行验证。
二、实验内容及实验步骤
1:实验内容:设计一个二选一数据选择器,使之在选择信号的控制下,从二 路数据中选择一路数据作为输出信号。
2:实验步骤:quartusn
2:实验步骤:quartusn
新建工程 New Project Wizard
:输入工作目录和项目名称Directory, Name, Top Level Entity
:加入已有的设计文件到项目Add Flies
选择设计器件和第三方EDA综合FamilyDevice Settings
仿真和时序分析工具EDA Tool Settings (默认值)
:运行 A 和查看电路图 tools^netlist viewers^rtl viewermodelism ①:新建工程文件 file—new^projret
②:选择路径和添加项目到工程add items to the project
③:选中两者中的一个文件右击点击compile^compile all
开始仿真:simulate^start simulate^work 选中 tb 文件
将下方的enable optimization前面的对勾去掉—主界面选择文件右键add—to
wave—all items in regin^run all 出现波形
3:设计思路:由数学电子技术知识可得真值表
输入
输出
S1
out
1
b
0
a
逻辑函数表达式为:out=bsl+asr,根据表达式设计电路逻辑关系。
源程序:
module mux2(out,a,b,sl);//定义程序名字为mux2,有一个输出口,三个输入口
input a,b,sl;
output out; reg out;
always@(sl or a or b)〃表示只要si或a或b,其中若有一个变化, 就执行下面的语句
if(!sl) out=a;//sl=0,将
if(!sl) out=a;//sl=0,
将a值通过阻塞赋值方式输出
out=b;//sl=0,将b值通过阻塞赋值方式输出
endmodul
仿真文件:timescale lns/lns module tb_mux2();
reg a,b,sl;
wire out;
initial begin
a=0;
b=l; sl=0;
#500
a=l;
#300
a=0;
#400
a=l;
#200
b=0;
#600
b=l;
#400
sl=?sl;
#500
a=l;
#300
a=0;
#400
a=l;
#200
b=0;
#600
b=l;
#400
sl=?sl;
end
mux2 u_mux2(
?a(a) ,
?b(b), .sl(sl), ?0 llt(oilt) );
endmodule
三、实验结果
out
二选一数据选择器电路图
二选一数据选择器波形图
图形分析:由图可知二选一数据选择器有两个并行数据输入端,分别用A和B 表示,一路数据输出端,一个控制信号输入端,用S1表示。在控制信号的作 用下,从输入的两路数据中选择其中的一路输出到输出端,即当Sl=0时,选 择输入数据A传输到输出端,当Sl=l时,选择输入数据B传输到输出端。由 仿真波形可以看出当S1变化时输出端的变化也符合上述逻辑关系。
四、实验小结与思考
1:实验小结
掌握了 quartus和modelism这两个软件的使用方法以及一些语句的使用规则。
always块语句
包含一个或一个以上的声明语句(如:过程赋值语句、任务调用、条件语句和循环语句 等),在仿真运行的全过程中,在定时控制下被反复执行。
赋值语句 阻塞赋值方式:在该语句结束时就完成赋值操作。
非阻塞赋值方式:在块结束时才完成赋值操作。
扩展:四选一数据选择器 源程序:
module mux2(out,a,b,c,d,sl,s2); input a9b9c,d9sl9s2;
output out;
reg out;
always@(sl or s2 or a or b or c or d) if(!sl) begin
if(!s2) out=a; else out=b;
end
else begin if(!s2) out=c;
else
out=d;
end
Endmodule
仿真程序
timescale lns/lns module tb_mux4();
reg a9b,c9d9sl9s
文档评论(0)