1、采用循環語句+移位+邏輯& 1來計算1的數量
如下所示,采用循環語句+移位+邏輯與1+累加來實現1的統計。最終調用函數獲得輸入信號中1的數量。
module clk_mux #(parameter CLK_MASK = 16'hffff) ( input xxxx, input xxxx, output xxxx, output xxxx ); localparam NUM_INPUT_CLK = 16; function integer countones; input [NUM_INPUT_CLK-1:0] x; integer k; begin countones = 0; while(x > 0) begin countones += x & 1; x = x >> 1; end end endfunction localparam NUM_CLK = countones(CLK_MASK); endmodule
2、采用for循環來計算1的數量
采用for循環語句,逐個bit位判斷是否為1,為1則累加,否則保持不變,最終輸出輸入信號中1的數量。
wire [64-1:0] mem_addr_hit ; // reg [7-1:0] mem_addr_hit_cnt ; // always@(*) begin mem_addr_hit_cnt = 'b0 ; for(int i=0; i<64;i=i+1) begin : mem_addr_hit_cnt if(mem_addr_hit[i]) mem_addr_hit_cnt = mem_addr_hit_cnt + 1'b1 ; //spyglass disable W415a W484 else mem_addr_hit_cnt = mem_addr_hit_cnt ; //spyglass disable W415a W484 end end
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
IC設計
+關注
關注
37文章
1292瀏覽量
103780 -
信號
+關注
關注
11文章
2781瀏覽量
76649 -
Verilog
+關注
關注
28文章
1345瀏覽量
109996 -
函數
+關注
關注
3文章
4308瀏覽量
62445 -
調用函數
+關注
關注
0文章
11瀏覽量
2300
原文標題:IC設計基礎:Verilog計算1的數量
文章出處:【微信號:IP與SoC設計,微信公眾號:IP與SoC設計】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
H[1].264 Verilog H.264 的Verilog實現的opencore
H[1].264 Verilog H.264 的Verilog實現的opencore
發表于 08-12 12:07
verilog是什么_verilog的用途和特征是什么
本文首先介紹了verilog的概念和發展歷史,其次介紹了verilog的特征與Verilog的邏輯門級描述,最后介紹了Verilog晶體管級描述與v
發表于 05-14 14:22
?4.5w次閱讀
數字IC設計入門(6)初識verilog
Verilog HDL與VHDL是當前最流行的兩種硬件設計語言,兩者各有優劣,也各有相當多的擁護者,都通過了IEEE 標準。VHDL在北美及歐洲應用很普遍,Verilog HDL 語言在中國、日本
發表于 11-06 09:05
?15次下載
Verilog的程序框架案例
Verilog HDL(Hardware Description Language)是在用途最廣泛的C語言的基礎上發展起來的一種硬件描述語言,具有靈活性高、易學易用等特點。Verilog HDL可以在較短的時間內學習和掌握,目前已經在FPGA開發/
發表于 09-13 14:34
?1380次閱讀
光纖跳線的數量怎么計算
光纖跳線的數量計算通常涉及到多個因素,以下是一些主要的考慮點和計算方法: 一、主要考慮因素 光纖配線架的容量: 不同類型的光纖配線架具有不同的容量,即能夠容納的光纖跳線數量。在選擇光纖跳線數量
評論