當邏輯表達式比較複雜的時候,多用assign增加代碼可讀性。
比如:當ram_ren==1 時表示從讀ram的資料。
優化前:邏輯語句比較多,結構不夠清晰
assign ram_ren = (ram_data_count > cfg_pkt_read_num) &(adapter_data_count < cfg_full_assert)& cfg_tx_en ;
優化後:允許讀 并且 邏輯需要資料的時候會産生ram_ren
// ram_ren_en ==1 is allowed to read
assign ram_ren_en= (ram_data_count > cfg_pkt_read_num) ;
//1: means downstream logic need data
assign logic_need_data=(adapter_data_count < cfg_full_assert)& cfg_tx_en ;
assign ram_ren = ram_ren_en & ogic_need_data ;
不适用場景:
當時序很緊張,需要進行門級優化的時候,此時需要以時序優化為最高優先級,可閱讀性需要降低重要性