- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
《 电子综合设计EDA 》实验报告 - PAGE 8 -
电子信息学院
实验报告书
课程名:《电子综合设计EDA》
题 目: 实验5 状态机电路设计1
实验类别 【设计】
班 级: 电子1313
学 号: 131003430326
姓 名: 吴限
实验目的
通过实验掌握状态机设计技术
实验内容、要求
根据如下所示状态图及其状态机结构图
要求:
试由b、c两图中任选一图写出其完整的Verilog程序。
编写Verilog测试程序,验证编写的状态机工作的正确性。
实验步骤和程序
(1) 打开ISE软件,点击file新建project。
(2) 点击project,新建source:Verilog module。
(3) 输入程序代码,记录测试数据。
(4) 新建source:Verilog Test Fixture。
(5) 输入测试代码,记录测试数据。
实验程序:
module huge1(ina,CLK,RESET,outa);
input[2:0] ina;
input CLK;
input RESET;
output[3:0] outa;
reg[3:0] state,outa;
parameter ST0=4b1000,
ST1=4b0100,
ST2=4b0010,
ST3=4b0001;
always@(posedge CLK,negedge RESET)
if(!RESET)
begin
state=ST0;
end
else
casex(state)
ST0:begin state=ST1;
if(ina==3b101)
outa=4b0010;
else if(ina==3b111)
outa=4b1100;
end
ST1:begin outa=4b1101;
if(ina==3b000)
state=ST1;
else if(ina==3b110)
state=ST2;
end
ST2:begin outa=4b1111;
if(ina==3b011)
state=ST1;
else if(ina==3b100)
state=ST2;
else
state=ST3;
end
ST3:begin state=ST0;
if(ina==3b101)
outa=4b1101;
else if(ina==3b011)
outa=4b1110;
end
default:
state=ST0;
endcase
endmodule
测试程序:
module huge666;
// Inputs
reg [2:0] ina;
reg CLK;
reg RESET;
// Outputs
wire [3:0] outa;
// Instantiate the Unit Under Test (UUT)
huge1 uut (
.ina(ina),
.CLK(CLK),
.RESET(RESET),
.outa(outa)
);
initial begin
// Initialize Inputs
ina = 3b111;
CLK = 0;
RESET = 1;
// Wait 100 ns for global reset to finish
#4 RESET=0;
#5 RESET=1;
#30 ina = 3b000;
#30 ina = 3b110;
#30 ina = 3b101;
#30 ina = 3b111;
#30 ina = 3b110;
#30 ina = 3b100;
#300 $stop;
// Add stimulus here
end
always #4 CLK=~CLK;
endmodule
测试数据记录和结果分析
思考题
试判断该状态机类型,并说明理由。
根据b、c两图中另外一图写出完整的Verilog程序。
文档评论(0)