請教有關於Abel語言的問題
(Louis Kao, kao028kimo@gmail.com, 2013-04-20 13:39)
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的工作原理嗎?
(IT Training, 2013-04-22 20:47)
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.