- 1、本文档共11页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
CPLDFPGA原理与应用课程上级实验报告六
《CPLD/FPGA原理及应用》课程上机实验报告(六)
实验名称
自动售货机的设计
实验时间
实验地点
计算机房
实 验 人
姓 名
陈凯文
合 作 者
无
学 号
20101185066
实验小组
第 组
实验性质
□验证性 □设计性 □综合性 □ 应用性
实验成绩:
评阅教师签名:
一.实验要求
1)设计一个自动售货机
2)只能卖1.5,2,2.5三种商品只能投0.5,1,5元三种货币
3)用modelsim仿真观察波形验证程序
二.实验内容
Sa,sb,sc分别表示1.5,2,2.5三种商品
Ma,mb,mc分别表示0.5 1 5元三种钱
Ch1,ch2,ch3分别表示三种商品的出货
Zl代表找零
首先我这一次实验并不成功,由于对verilog语言不熟练很多语法规则都不知道,加之身体问题好吧这些都是我失败的借口吧。下面是我的状态图
状态图:
这个状态图画完我想可能我的设计可能存在很大的问题因为我从未在case你写过case编程如下
`timescale 1ns/1ns
module zidong_tp;
reg[3:0]c,t;
reg rst,clk;
reg sa,sb,sc,ma,mb,mc;
wire ch1,ch2,ch3,zl;
parameter CYCLE=100;
always #(CYCLE/2) clk=~clk;
initial clk=1;
zidong u1(sa,sb,sc,ma,mb,mc,rst,zl,ch1,ch2,ch3,clk);
initial begin
sa=1;sb=0;sc=0;rst=1;ma=0;mb=0;mc=0;
#100sa=1;sb=0;sc=0;rst=0;mc=0;ma=0;mb=0;
#10sa=0;sb=0;sc=0;rst=0;mc=1;ma=0;mb=0;
#90sa=1;sb=0;sc=0;rst=1;mc=0;ma=0;mb=0;
#10sa=0;sb=0;sc=0;rst=0;mc=1;ma=0;mb=0;
end
initial $monitor($time,,,%d,%d,%d,%d,%d,%d,%d,%b,%d,%d,%d,%d,sa,sb,sc,ma,mb,mc,rst,zl,ch1,ch2,ch3,clk);
endmodule
module zidong(sa,sb,sc,ma,mb,mc,rst,zl,ch1,ch2,ch3,clk);
input sa,sb,sc,ma,mb,mc,rst,clk;
output zl,ch1,ch2,ch3;
reg[3:0]c,t;
reg zl,ch1,ch2,ch3;
parameter c0=0,c1=1,c2=2,c3=3,t0=0,t1=1,t2=2,t3=3,t4=4;
always @(posedge clk)
begin
if(!rst)begin c=c0;zl=0;ch1=0;ch2=0;ch3=0;
t=t0;
end
else if(sa==1sb==0sc==0)
c=c1;
else if(sa==0sb==1sc==0)
c=c2;
else if(sa==0sb==0sc==1)
c=c3;
else c=c0;
end
always@(ma or mb or mc or rst)
begin
case(c)
0:begin zl=0;ch1=0;ch2=0;ch3=0;
t=t0;
end
1:begin
case(t)
0:begin if(ma)begin t=t1;zl=0;ch1=0;end
else if(mb)begin t=t2;zl=0;ch1=0;end
else if(mc)begin t=t0; zl=3.5;ch1=1;end
else begin t=t0;zl=0;ch1=0;ch1=1;end
end
1:begin if(!rst)begin t=t0;zl=0.5;ch1=0;end
else if(ma)begin t=t2;zl=0;ch1=0;end
else if(mb)begin t=t0;zl=0;ch1=1;end
您可能关注的文档
- C++ 第4章 预处理指令.doc
- C++程序设计 第11章 C++IO流类库.ppt
- c++程序设计 杨俊清第1章 最简单C++程序.ppt
- C++类和对象习题与解答.doc
- C3-三种基本结构程序设计-2010.10.9更新.ppt
- C51特点和使用.doc
- c8_c语言.ppt
- cad2绘图+3编辑.ppt
- CAD命令快捷键和用法详解.doc
- camera常用知识与流程分析.ppt
- 2023-2024学年广东省深圳市龙岗区高二(上)期末物理试卷(含答案).pdf
- 2023-2024学年贵州省贵阳市普通中学高一(下)期末物理试卷(含答案).pdf
- 21.《大自然的声音》课件(共45张PPT).pptx
- 2023年江西省吉安市吉安县小升初数学试卷(含答案).pdf
- 2024-2025学年广东省清远市九校联考高一(上)期中物理试卷(含答案).pdf
- 广东省珠海市六校联考2024-2025学年高二上学期11月期中考试语文试题.pdf
- 2024-2025学年语文六年级上册第4单元-单元素养测试(含答案).pdf
- 2024-2025学年重庆八中高三(上)月考物理试卷(10月份)(含答案).pdf
- 安徽省安庆市潜山市北片学校联考2024-2025学年七年级上学期期中生物学试题(含答案).pdf
- 贵州省部分校2024-2025学年九年级上学期期中联考数学试题(含答案).pdf
文档评论(0)