你好,能不能帮我写一个自动售货机的Verilog程序,要有源程序和测试程序。谢谢你

我们要求可识别的纸币为5,10,50,100元,商品价格为3,6,8,9元。用quartus和modelsim两个软件。

第1个回答  2016-06-30
module mul3_testbench ; //定义一个没有输入输出端口的测试平台

reg a2,a1,a0,b2,b1,b0; //被测模块的input端口,改为对应的 reg寄存器做输入信号
wire p5,p4,p3,p2,p1,p0; //被测模块的output端口,改为对应的wire型

initial begin // 初始化所有 输入信号的寄存器值
a2= 0;
a1=0;
a0 =0;
b2 =0;
b1= 0;
b0 =0;
#50 //一般延迟较长时间后,应该使复位信号不复位系统正常工作,但你没有复位信号
end
// 初始化模块结束后一般时序电路仿真是产生时钟信号,
//这是纯组合逻辑没有时钟信号就省略了

//然后就可以根据你所需要验证的功能在此位置编写initial块或always块给reg 型
//的输入信号赋值的相关逻辑,观察wire型输入信号的值

//---------------------------调用被测对象,格式如一般元件调用-------------------
mul3 DUT( .a2(a2),
.a1(a2),
.a0(a0),
.b2(b2),
.b1(b2),
.b0(b0),
.p5(p5),
.p4(p4),
.p3(p3),
.p2(p2),
.p1(p1),
.p0(p0)
);

endmodule

// 最后的提示,你的程序里定义了整数型变量,其实是不好的用法,甚至不能被正确综合,
//可以用等值的reg 型变量来替代,即使你定义成整数型,实际上也是被综合成reg型的,
//另外,一般可综合代码中最好不要用for语句,个人认为你的代码会完全功能不正常的
第2个回答  2016-06-16
有没有详细功能说明?例如能输入什么信号,输出什么信号?
相似回答