※ 引述《doublewhi (whi)》之銘言:
: 想請問一下版上的板友
: 為什麼現在大家都推薦把non combinational/combination circuit分開寫呢?
: 用code來說的話
: // coding style 1
: always @(posedge clk or posedge reset)
: begin
: if (reset)
: out <= 0;
: else
: out <= a*b;
: end
: // coding style 2
: always @(*)
: begin
: next_out = a*b;
: end
: always @(posedge clk or posedge reset)
: begin
: if (reset)
: out <= 0;
: else
: out <= next_out;
: end
: 請問coding style 2 主要的好處是? (或coding style 1的壞處)
: 公司企業裡面也都使用coding style2 嗎?
因為2可以將combinational logic 和sequentail logic分開。
還有一個好處是有些訊號必須用next_out做條件(即時),就可以拿來使用,
畢竟out是flip flop會晚1T。
至於combinational的寫法每個人都不同,像有人state machine一樣可以用
assign來描述,還有一些複雜的if-else也可以,甚至是case寫法都可以。
不過用不習慣的人通常還是會寫在always block裡面,debug可能比較簡單吧。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.163.49.109