国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

HDLbits--vectorr

2023-06-13 14:02 作者:業(yè)精于勤而荒于嬉哦  | 我要投稿

Given an 8-bit input vector [7:0], reverse its bit ordering.

如何實(shí)現(xiàn)一個(gè)八位的向量的逆序輸出?

這個(gè)是官方給的Solutions:

module top_module (

input [7:0] in,

output [7:0] out

);

assign {out[0],out[1],out[2],out[3],out[4],out[5],out[6],out[7]} = in;

/*

// I know you're dying to know how to use a loop to do this:


// Create a combinational always block. This creates combinational logic that computes the same result

// as sequential code. for-loops describe circuit *behaviour*, not *structure*, so they can only be used?

// inside procedural blocks (e.g., always block).

// The circuit created (wires and gates) does NOT do any iteration: It only produces the same result

// AS IF the iteration occurred. In reality, a logic synthesizer will do the iteration at compile time to

// figure out what circuit to produce. (In contrast, a Verilog simulator will execute the loop sequentially

// during simulation.)

always @(*) begin

for (int i=0; i<8; i++) // int is a SystemVerilog type. Use integer for pure Verilog.

out[i] = in[8-i-1];

end



// It is also possible to do this with a generate-for loop. Generate loops look like procedural for loops,

// but are quite different in concept, and not easy to understand. Generate loops are used to make instantiations

// of "things" (Unlike procedural loops, it doesn't describe actions). These "things" are assign statements,

// module instantiations, net/variable declarations, and procedural blocks (things you can create when NOT inside?

// a procedure). Generate loops (and genvars) are evaluated entirely at compile time. You can think of generate

// blocks as a form of preprocessing to generate more code, which is then run though the logic synthesizer.

// In the example below, the generate-for loop first creates 8 assign statements at compile time, which is then

// synthesized.

// Note that because of its intended usage (generating code at compile time), there are some restrictions

// on how you use them. Examples: 1. Quartus requires a generate-for loop to have a named begin-end block

// attached (in this example, named "my_block_name"). 2. Inside the loop body, genvars are read only.

generate

genvar i;

for (i=0; i<8; i = i+1) begin: my_block_name

assign out[i] = in[8-i-1];

end

endgenerate

*/

endmodule


HDLbits--vectorr的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
龙州县| 平江县| 商水县| 塔河县| 鄱阳县| 新丰县| 庄河市| 延津县| 清水县| 惠水县| 石景山区| 宁安市| 原平市| 新余市| 兴化市| 商洛市| 大宁县| 永清县| 呼和浩特市| 元氏县| 沂源县| 塘沽区| 油尖旺区| 罗源县| 台中市| 新沂市| 汉川市| 福海县| 潢川县| 灵山县| 西乌珠穆沁旗| 永新县| 大姚县| 南川市| 陆河县| 淅川县| 嵊泗县| 佛山市| 浏阳市| 赤城县| 和田市|