用Verilog实现接受0.5元,1元的可乐售卖机,单价2.5元,考虑找零和出货。

第一步:画出原理图

在这里插入图片描述

第二步,将画出的原理图利用硬件语言实现

module fsm_cola_ctrl(
		input wire sclk,
		input wire rst_n,
		input wire [1:0]pi_money,
		output reg	po_cola,
		output reg  po_money
);

reg [4:0] state;
parameter IDLE	   =5'b00001;
parameter HALF	   =5'b00010;
parameter ONE 	   =5'b00100;
parameter ONE_HALF =5'b01000;
parameter TWO	   =5'b10000;

always@(posedge sclk or negedge rst_n)
		if(!rst_n)
		state<=IDLE;
		else case(state)
			IDLE:	if(pi_money == 2'b01)
			  state <= HALF;
					else if(pi_money == 2'b10)
						state<=ONE;
						else state <= IDLE;
			HALF:	if(pi_money == 2'b01)
					state<=ONE;
					else if(pi_money == 2'b10)
						state <= ONE_HALF;
						else state <= 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值