出纳员和客户柜台

时间:2015-12-19 21:03:35

标签: verilog fpga system-verilog

我正在尝试用verilog编写一个关于银行操作的程序,所以只是一个简单的问题,我有客户队列和柜员柜台,我怎样才能向柜员柜台写一个公式。

下面我尝试写一些东西,但如果你有任何想法,如果它的错误或真实我想听。另外我需要实现if teller counter =customer counter然后需要增加柜员柜台。非常感谢你的帮助!

always @ (posedge clk or posedge rst)
begin        
  case (current_state)
    IDLE:       
      teller_count <= cust_count;
    teller: 
      teller_count <= teller_count+1;
    default:
      teller_count <= teller_count;
  endcase
end

1 个答案:

答案 0 :(得分:0)

您可以通过编写两个单独的fsms来使您的生活更轻松,一个用于处理每个队列。或者至少两个总是块,每个块一个。

客户方看起来像

    if (new_customer & !free_teller)
          customer <= customer + 1
    ...
    if (free_teller)
          customer <= customer - 1
出纳员看起来像

    at reset tellers = MAX_TELLER
    ...
    if (tellers == MAX_TELLER)
        free_teller = 0;
    else
        free_teller = 1;

得到了主意?