题解 | 自动贩售机1

`timescale 1ns/1ns
module seller1(
	input wire clk  ,
	input wire rst  ,
	input wire d1 ,
	input wire d2 ,
	input wire d3 ,
	
	output reg out1,
	output reg [1:0]out2
);
//*************code***********//
parameter S0=0,S05=1,S10=2,S15=3,S20=4,S25=5,S30=6;
reg [2:0]state,next;

always@(posedge clk or negedge rst)
    if (~rst)
		state <= S0;
	else
		state <= next;

always@(*)
    if (~rst)
		next = S0;
	else case(state)
		S0 : next = {d1,d2,d3}==3'b100 ? S05:      //0     //0.5 1.0 2.0
				    {d1,d2,d3}==3'b010 ? S10:
				    {d1,d2,d3}==3'b001 ? S20: next;
		S05: next = {d1,d2,d3}==3'b100 ? S10:      //0.5
				    {d1,d2,d3}==3'b010 ? S15:
				    {d1,d2,d3}==3'b001 ? S25: next;
		S10: next = {d1,d2,d3}==3'b100 ? S15:      //1.0
				    {d1,d2,d3}==3'b010 ? S20:
				    {d1,d2,d3}==3'b001 ? S30: next;

		S15: next = {d1,d2,d3}==3'b100 ? S05:      //1.5
				    {d1,d2,d3}==3'b010 ? S10:
				    {d1,d2,d3}==3'b001 ? S20: S0;
		S20: next = {d1,d2,d3}==3'b100 ? S05:      //2.0
				    {d1,d2,d3}==3'b010 ? S10:
				    {d1,d2,d3}==3'b001 ? S20: S0;
		S25: next = {d1,d2,d3}==3'b100 ? S05:      //2.5
				    {d1,d2,d3}==3'b010 ? S10:
				    {d1,d2,d3}==3'b001 ? S20: S0;
		S30: next = {d1,d2,d3}==3'b100 ? S05:      //3.0
				    {d1,d2,d3}==3'b010 ? S10:
				    {d1,d2,d3}==3'b001 ? S20: S0;
		default: next = S0;
	endcase

always@(posedge clk or negedge rst)
    if (~rst) begin
		out1 <= 1'b0;
		out2 <= 2'd0;
	end
	else begin
		case (next)
		S15:begin out1 <= 1'b1; out2 <= 2'd0; end
		S20:begin out1 <= 1'b1; out2 <= 2'd1; end
		S25:begin out1 <= 1'b1; out2 <= 2'd2; end
		S30:begin out1 <= 1'b1; out2 <= 2'd3; end
		default: begin out1 <= 1'b0; out2 <= 2'd0; end
		endcase
	end

//*************code***********//
endmodule

全部评论

相关推荐

03-16 13:56
湖南大学 C++
牛客872108596号:到现在没消息是挂了吗查看图片
点赞 评论 收藏
分享
渐好:软光栅真的写明白了吗,既然是软渲那技术栈不应该使用OpenGL,光追和bvh既不算什么高级渲染技术更不应该属于软渲的内容,git那个项目没啥用,建议把前两个项目重新组织一下语言,比如软渲染那个项目 冯着色和msaa、贴图这几项分开写,写的到位点,如果你还学过光追那就单独写出来,如果没把握考官问你答不上来就别写给自己找麻烦,在技术栈那一栏简单提一下自己学过就行,这样杂的放在一起不太严谨,个人愚见.
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客企业服务