永发信息网

求verilog编写下面文件的测试信号

答案:2  悬赏:30  手机版
解决时间 2021-03-12 10:55

module sell(one_dollar,half_dollar,
collect,half_out,dispense,reset,clk);
parameter idle=0,one=2,half=1,two=3,three=4;
//idle,one,half,two,three为中间状态变量,代表投入币值的几种情况
input one_dollar,half_dollar,reset,clk;
output collect,half_out,dispense;
reg collect,half_out,dispense;
reg[2:0] D;
always @(posedge clk)
begin
if(reset)
begin
dispense=0; collect=0;
half_out=0; D=idle;
end
case(D)
idle:
if(half_dollar) D=half;
else if(one_dollar)
D=one;
half:
if(half_dollar) D; =one
else if(one_dollar)
D=two;
one:
if(half_dollar) D=two;
else if(one_dollar)
D=three;
two:
if(half_dollar) D=three;
else if(one_dollar)
begin
dispense=1; //售出饮料
collect=1; D=idle;
end
three:
if(half_dollar)
begin
dispense=1; //售出饮料
collect=1; D=idle;
end
else if(one_dollar)
begin
dispense=1; //售出饮料
collect=1;
half_out=1; D=idle;
end
endcase
end
endmodule
最佳答案
`timescale 1ns / 1ps

////////////////////////////////////////////////////////////////////////////////
// Company:
// Engineer:
//
// Create Date: 16:19:44 06/21/2010
// Design Name: sell
// Module Name: D:/Xilinx/11.1/myproject/baidu/test.v
// Project Name: baidu
// Target Device:
// Tool versions:
// Description:
//
// Verilog Test Fixture created by ISE for module: sell
//
// Dependencies:
//
// Revision:
// Revision 0.01 - File Created
// Additional Comments:
//
////////////////////////////////////////////////////////////////////////////////

module test;

// Inputs
reg one_dollar;
reg half_dollar;
reg reset;
reg clk;

// Outputs
wire collect;
wire half_out;
wire dispense;
reg k;

// Instantiate the Unit Under Test (UUT)
sell uut (
.one_dollar(one_dollar),
.half_dollar(half_dollar),
.collect(collect),
.half_out(half_out),
.dispense(dispense),
.reset(reset),
.clk(clk)
);

initial begin
// Initialize Inputs
one_dollar = 0;
half_dollar = 0;
reset = 0;
clk = 0;
k=0;
// Wait 100 ns for global reset to finish
#100;
reset=1;
// Add stimulus here

end
always #5 clk=~clk;
always@(posedge clk)
begin
if(reset==0)
begin
one_dollar = 0;
half_dollar = 0;
end
else
begin
if(k==0)
begin
one_dollar=1;
half_dollar=0;
end
else
begin
half_dollar=1;
one_dollar=0;
end
if(collect==1)
begin
k=~k;
end

end
end
endmodule

程序的语法没有问题,但实际上这程序根本无法工作。你把问题简化的太简单了
全部回答
计一个下降沿触发,带低电平置位的触发器,编写测试文件并 k肯定还好
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
艾德森品牌旗舰店在哪里啊,我有事要去这个地
仓鼠半夜太吵怎么办
下列工厂中,应将消费市场作为布局主导因素的
赵氏按摩中心在哪里啊,我有事要去这个地方
新的开票系统自动抄税 开票系统是自动抄税吗
gateway NV47 如何打开wifi开关
VB中用CALL与不用CALL有什么区别,好象都能调
A clover是什么意思?
唐朝历史!! 武则天在位之时有贞观遗风的说
黑龙江省广信英华医药有限责任公司地址有知道
语文的英语读什么
小婷美甲地址在什么地方,想过去办事
顾客问阔型款的衣服显胖吗?怎么回答?
宜宾到乐至开车路线
“钉宫病”是指有关哪位声优的病症?()
推荐资讯
阿丰饭摊地址在什么地方,想过去办事
白宫城中路/零阳东路(路口)地址有知道的么?
豆浆渣可以浇花吗?有什么好处?
dnf为什么我的断罪者名誉8级还没2觉
ARM 中HSI什么意思
清晨,(填动物)(什么声音;什么动作)空格里填什
百草药膳鸡地址在哪,我要去那里办事
下列缺失中,哪种宜于设计成混合支持式义齿(
海婆婆面馆育英店这个地址在什么地方,我要处
小区里小车警报器一直响可以报警吗
有谁知道,网剧 我女朋友的男朋友,是在哪个
快3追号中奖自动结束追号钱呢?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?