知識社群登入
位置: 艾鍗學院 Blog > 專業論壇 > 討論
請教有關於Abel語言的問題
1樓
Dear 艾鍗學院老師好:
  我在研究abel語言 有一部分程式碼在描述counter的行為 但我有甚多不明瞭之處
  想Po上網請教
程式如下

 MODULE FOUR  

 SNR21,SNR31 pin; 
 CNT17..CNT10 node istype 'reg';
 CNT1=[CNT17..CNT10];

 SNR22,SNR32 pin;
 CNT27..CNT20 node istype 'reg';
 CNT2=[CNT27..CNT20];

equations

"-- counter--
CNT2:=CNT2+1;
CNT2.clk=SNR22;
CNT2.SR=SNR32;

CNT1:=CNT1+1;
CNT1.clk=SNR21;
CNT1.SR=SNR31;

END 

可以解釋一下上述conter的工作原理嗎?
2樓
親愛的

我完全沒學過 ABEL, 請容許我依程式上的意思去猜測, 並以 verilog 改寫它
唯一不敢確認是 .SR  的正確動作, 我暫定它為 HIGH SET TO ZERO.
雖然, 我不敢保證全部都對, 但, 我想, 應該也是八九不離十

module FOUR(SNR21,SNR31,SNR22,SNR32);
      input SNR21,SNR31,SNR22,SNR32;
      reg [7:0] CNT1;
      reg [7:0] CNT2;
     
      always @(posedge SNR22 or posedge SNR32)
      begin
            if(SNR32)     CNT2 <= 0;
            else              CNT2 <= CNT2 + 1;
      end
      always @(posedge SNR21 or posedge SNR31)
      begin
            if(SNR31)     CNT1 <= 0;
            else              CNT1 <= CNT1 + 1;
      end
endmodule

不曉得對你是否有幫助???

^^
Best Regards.,
IT Training.