停车场系统的澳门在线代码

这个简单的项目是在澳门在线中实现一个停车场系统。的 澳门在线代码 停车场系统已充分展示。

在入口处 停车系统,有一个传感器被激活以检测车辆驶来。触发传感器后,需要输入密码才能打开门。如果输入的密码正确,则门将打开以让车辆驶入。否则,门仍被锁定。如果当前汽车正在驶入停车场,并且出口传感器检测到另一辆汽车驶入,则车门将被锁定,并要求即将驶入的汽车输入密码。


停车系统的澳门在线代码

澳门在线 停车系统代码:

// hzgifts.cn FPGA projects, 澳门在线项目, VHDL projects
// 澳门在线 project: 澳门在线代码 for car 停车系统
`timescale 1ns / 1ps
module parking_system( 
                input clk,reset_n,
 input sensor_entrance, sensor_exit, 
 input [1:0] password_1, password_2,
 output wire GREEN_LED,RED_LED,
 output reg [6:0] HEX_1, HEX_2
    );
 parameter IDLE = 3'b000, WAIT_PASSWORD = 3'b001, WRONG_PASS = 3'b010, RIGHT_PASS = 3'b011,STOP = 3'b100;
 // Moore FSM : output just depends on the current state
 reg[2:0] current_state, next_state;
 reg[31:0] counter_wait;
 reg red_tmp,green_tmp;
 // Next state
 always @(posedge clk or negedge reset_n)
 begin
 if(~reset_n) 
 current_state = IDLE;
 else
 current_state = next_state;
 end
 // counter_wait
 always @(posedge clk or negedge reset_n) 
 begin
 if(~reset_n) 
 counter_wait <= 0;
 else if(current_state==WAIT_PASSWORD)
 counter_wait <= counter_wait + 1;
 else 
 counter_wait <= 0;
 end
 // change state
// hzgifts.cn FPGA projects, 澳门在线项目, VHDL projects
 always @(*)
 begin
 case(current_state)
 IDLE: begin
         if(sensor_entrance == 1)
 next_state = WAIT_PASSWORD;
 else
 next_state = IDLE;
 end
 WAIT_PASSWORD: begin
 if(counter_wait <= 3)
 next_state = WAIT_PASSWORD;
 else 
 begin
 if((password_1==2'b01)&&(password_2==2'b10))
 next_state = RIGHT_PASS;
 else
 next_state = WRONG_PASS;
 end
 end
 WRONG_PASS: begin
 if((password_1==2'b01)&&(password_2==2'b10))
 next_state = RIGHT_PASS;
 else
 next_state = WRONG_PASS;
 end
 RIGHT_PASS: begin
 if(sensor_entrance==1 && sensor_exit == 1)
 next_state = STOP;
 else if(sensor_exit == 1)
 next_state = IDLE;
 else
 next_state = RIGHT_PASS;
 end
 STOP: begin
 if((password_1==2'b01)&&(password_2==2'b10))
 next_state = RIGHT_PASS;
 else
 next_state = STOP;
 end
 default: next_state = IDLE;
 endcase
 end
 // LEDs and output, change the period of blinking LEDs here
 always @(posedge clk) begin 
 case(current_state)
 IDLE: begin
 green_tmp = 1'b0;
 red_tmp = 1'b0;
 HEX_1 = 7'b1111111; // off
 HEX_2 = 7'b1111111; // off
 end
 WAIT_PASSWORD: begin
 green_tmp = 1'b0;
 red_tmp = 1'b1;
 HEX_1 = 7'b000_0110; // E
 HEX_2 = 7'b010_1011; // n 
 end
 WRONG_PASS: begin
 green_tmp = 1'b0;
 red_tmp = ~red_tmp;
 HEX_1 = 7'b000_0110; // E
 HEX_2 = 7'b000_0110; // E 
 end
 RIGHT_PASS: begin
 green_tmp = ~green_tmp;
 red_tmp = 1'b0;
 HEX_1 = 7'b000_0010; // 6
 HEX_2 = 7'b100_0000; // 0 
 end
 STOP: begin
 green_tmp = 1'b0;
 red_tmp = ~red_tmp;
 HEX_1 = 7'b001_0010; // 5
 HEX_2 = 7'b000_1100; // P 
 end
 endcase
 end
 assign RED_LED = red_tmp  ;
 assign GREEN_LED = green_tmp;

endmodule

用于停车系统的Testbench 澳门在线代码:

`timescale 1ns / 1ps
// hzgifts.cn FPGA projects, 澳门在线项目, VHDL projects
// 澳门在线 project: 澳门在线代码 for car 停车系统
module tb_parking_system;

  // Inputs
  reg clk;
  reg reset_n;
  reg sensor_entrance;
  reg sensor_exit;
  reg [1:0] password_1;
  reg [1:0] password_2;

  // Outputs
  wire GREEN_LED;
  wire RED_LED;
  wire [6:0] HEX_1;
  wire [6:0] HEX_2;
// hzgifts.cn FPGA projects, 澳门在线项目, VHDL projects
  // Instantiate the Unit Under Test (UUT)
  parking_system uut (
  .clk(clk), 
  .reset_n(reset_n), 
  .sensor_entrance(sensor_entrance), 
  .sensor_exit(sensor_exit), 
  .password_1(password_1), 
  .password_2(password_2), 
  .GREEN_LED(GREEN_LED), 
  .RED_LED(RED_LED), 
  .HEX_1(HEX_1), 
 .HEX_2(HEX_2)
 );
 initial begin
 clk = 0;
 forever #10 clk = ~clk;
 end
 initial begin
 // Initialize Inputs
 reset_n = 0;
 sensor_entrance = 0;
 sensor_exit = 0;
 password_1 = 0;
 password_2 = 0;
 // Wait 100 ns for global reset to finish
 #100;
      reset_n = 1;
 #20;
 sensor_entrance = 1;
 #1000;
 sensor_entrance = 0;
 password_1 = 1;
 password_2 = 2;
 #2000;
 sensor_exit =1;
 
 // Add stimulus here
// hzgifts.cn FPGA projects, 澳门在线项目, VHDL projects
 end
      
endmodule

澳门在线中的停车场系统的仿真波形:


停车系统的澳门在线代码

2. FIFO存储器的澳门在线代码
3. 用于16位单周期MIPS处理器的澳门在线代码
4. 澳门在线 HDL中的可编程数字延迟计时器
5. 用于数字电路中基本逻辑组件的澳门在线代码
6. 用于32位无符号除法器的澳门在线代码
7. 用于定点矩阵乘法的澳门在线代码
8. 澳门在线 HDL中的车牌许可证识别
9. 提前进位乘法器的澳门在线代码
10。 微处理器的澳门在线代码
11。 4x4乘法器的澳门在线代码
12 停车场系统的澳门在线代码
13 使用澳门在线 HDL在FPGA上进行图像处理
14。 如何使用澳门在线 HDL将文本文件加载到FPGA中
15 交通信号灯控制器的澳门在线代码
16。 FPGA上的闹钟的澳门在线代码
17。 比较器设计的澳门在线代码
18岁 D触发器的澳门在线代码
19 Full Adder的澳门在线代码
20 带testbench的计数器的澳门在线代码
21 16位RISC处理器的澳门在线代码
22 用于在FPGA上反跳按钮的澳门在线代码
23。 如何为双向/输入端口编写澳门在线 Testbench
28。 解码器的澳门在线代码
29。 复用器的澳门在线代码
FPGA 澳门在线 VHDL课程

15条评论:

  1. 我们使用哪种类型的传感器?

    回复删除
  2. 在此代码中,传感器被建模为仅用于仿真的开关。

    回复删除
  3. 我想通过门级建模来完成这个项目。

    回复删除
    回覆
    1. 绝对可以。但是,您必须创建状态表并从K映射中获取布尔方程。然后,根据方程式为项目编写结构代码。

      删除
  4. HEX_1和HEX_2的作用是什么?

    回复删除
  5. 在此传感器出口中= 1代表汽车正在从停车场离开?

    回复删除
  6. 这个项目有什么要求? h / w和s / w? TIA

    回复删除
  7. green_led的作用是什么& red_led?

    回复删除
  8. 你好

    为什么显示绿灯1以及二进制十六进制呢?我试图做RTL原理图。它显示失败。如果您不发送,请发送确切的代码'没问题。一世'我正在为我的项目使用。

    回复删除
  9. 我想在晶体管级设计中做这些项目,有可能吗。

    回复删除
  10. 我们可以在fpga上实现它吗?

    回复删除
  11. 该程序可以使用哪个FPGA板?

    回复删除
  12. 我可以得到该系统的流程图吗?因为我对编码不太了解

    回复删除

热门FPGA项目