当前位置:网站首页>Always of SystemVerilog usage_ comb 、always_ iff
Always of SystemVerilog usage_ comb 、always_ iff
2022-07-06 14:21:00 【Then the dish】
always_comb
always_comb Each internal statement is a blocking assignment statement . Circuit statements... Cannot appear (assign)
always_comb It has the following properties :
Internal coverage
External atomicity
always_comb begin
a = 1'b1;
b = a;
a =1'b0;
c = a;
end
// Circuit input :1'b1;1'b0; // On the right (1'b1;1'b0; a) Remove the left side (a,b,c)
// Circuit output :(a,b,c)// On the left
// Running results a=1'b0, b=1'b1, c=1'b0,
assign a = b;
always_comb begin
b = 1'b1;
c = a;
b = 1'b0;
end
// First always_comb have to : c = a, b = 1'b0; Again assign have to :a = b = 1'b0; c = a = 1'b0
// therefore a=1'b0, b=1'b0, c=1'b0,
assign a = b;
always_comb begin
b = 1'b1;
c = b;
b = 1'b0;
end
// First always_comb have to : c = b = 1'b1; b = 1'b0 Again assign have to :a = b = 1'b0;
// therefore a=1'b0, b=1'b0, c=1'b1,
always_comb case
unique case
case There is no priority in the block , Parallel comparison .
// unique case
always_comb begin
b = 1'b0;
unique case (a[3:0])
4'd1: begin b = 1'b1; end
4'd0: begin b = 1'b0; end
default: begin end
endcase
end
priority case
case There is priority in the block , Serial comparison ( Compare in turn )
always_comb begin
priority case (1'b1)
a[3]: begin end
a[2]: begin end
default: begin end
endcase
end
// amount to :
/*
always_comb begin
if(a[3]) begin
end else if(a[2]) begin
end else if() begin end
end
*/
always_comb if and for
if
if and else Used for conditional judgment
always_comb begin
b = 1'b0;
if (a[3]) begin b = 1'b1; end
else if (a[2]) begin b = 1'b0; end
else begin end
end
for
for stay always_comb in , Will be interpreted as loop expansion .
logic [15:0]a;
logic [3:0] b;
always_comb begin
b = '0;
for (int i = 15; i >= 0; i--) begin
if (a[i]) begin
b = i[3:0];
break;
end
end
end
always_comb begin
for (int i = 0 ; i < 16; i ++) begin
if (i >= n) break;
end
end
always_comb begin
for (int i = 0; i < 16; i++) begin
a[i] = b[i] & (c[i] == d[i] | e[i]); // The compiler doesn't think i Is constant ,a[i:i+3] illegal
end
end
for (genvar i = 0; i < 16; i++) begin // genvar assign
assign a[i] = b[i] & (c[i] == d[i] | e[i]); // The compiler thinks i Is constant ,a[i:i+3] legal
always_comb begin
end
end
always_ff
always_ff Used to describe triggers .
always_ff @(posedge clk) begin
if (~resetn) begin
q <= '0; // Trigger non blocking assignment
end else if (en) begin
q <= d;
end
end
logic [3:0] a, a_nxt;
// always_ff Write only the trigger part Nonblocking assignment
always_ff @(posedge clk) begin
if (~resetn) begin
a <= '0;
end else if (en) begin
{a, b} <= {a_nxt, b_nxt};
end
end
always_comb begin
a_nxt = a;
// Logic that does not belong to a trigger , Written in always_comb Block assignment
unique case(a)
4'd3: begin
a_nxt = 4'd2;
end
default: begin
end
endcase
end
Thank you for sharing !!
(4 Bar message ) System Verilog grammar _ Record on pit -CSDN Blog
边栏推荐
- Record once, modify password logic vulnerability actual combat
- 7-3 construction hash table (PTA program design)
- Hackmyvm target series (4) -vulny
- Mathematical modeling idea of 2022 central China Cup
- Wei Shen of Peking University revealed the current situation: his class is not very good, and there are only 5 or 6 middle-term students left after leaving class
- Xray and Burp linked Mining
- Record an edu, SQL injection practice
- Analysis of penetration test learning and actual combat stage
- 强化學習基礎記錄
- Attack and defense world misc practice area (GIF lift table ext3)
猜你喜欢

网络基础详解

内网渗透之内网信息收集(二)

Hackmyvm target series (6) -videoclub

网络基础之路由详解

Intensive literature reading series (I): Courier routing and assignment for food delivery service using reinforcement learning

Network technology related topics

内网渗透之内网信息收集(一)

Detailed explanation of network foundation

Record once, modify password logic vulnerability actual combat

Intranet information collection of Intranet penetration (5)
随机推荐
1143_ SiCp learning notes_ Tree recursion
Data mining - a discussion on sample imbalance in classification problems
MSF generate payload Encyclopedia
List and data frame of R language experiment III
Low income from doing we media? 90% of people make mistakes in these three points
Canvas foundation 2 - arc - draw arc
Force deduction 152 question multiplier maximum subarray
Experiment 7 use of common classes (correction post)
On the idea of vulnerability discovery
Attack and defense world misc practice area (GIF lift table ext3)
Renforcer les dossiers de base de l'apprentissage
内网渗透之内网信息收集(一)
Circular queue (C language)
Experiment 8 exception handling
实验九 输入输出流(节选)
Intranet information collection of Intranet penetration (5)
Wei Shen of Peking University revealed the current situation: his class is not very good, and there are only 5 or 6 middle-term students left after leaving class
7-14 error ticket (PTA program design)
强化学习基础记录
链队实现(C语言)