Suffer from vi. 受苦, 患病
These algorithm suffer from the problem of external fragmentation.
詳細的演算法等我弄懂一點才貼出來,
module addergen1 (co, sum, a, b, ci);
parameter SIZE = 4;
output [SIZE-1:0] sum;
output co;
input [SIZE-1:0] a, b;
input ci;
wire [SIZE :0] c;
genvar i;
assign c[0] = ci;
// Generated instance names are:
// xor gates: bit[0].g1 bit[1].g1 bit[2].g1 bit[3].g1
// bit[0].g2 bit[1].g2 bit[2].g2 bit[3].g2
// and gates: bit[0].g3 bit[1].g3 bit[2].g3 bit[3].g3
// bit[0].g4 bit[1].g4 bit[2].g4 bit[3].g4
// or gates: bit[0].g5 bit[1].g5 bit[2].g5 bit[3].g5
// Generated instances are connected with
// generated nets: bit[0].t1 bit[1].t1 bit[2].t1 bit[3].t1
// bit[0].t2 bit[1].t2 bit[2].t2 bit[3].t2
// bit[0].t3 bit[1].t3 bit[2].t3 bit[3].t3
generate
for(i=0; i<SIZE; i=i+1) begin:bit
wire t1, t2, t3; // generated net declaration
xor g1 ( t1, a[i], b[i]);
xor g2 ( sum[i], t1, c[i]);
and g3 ( t2, a[i], b[i]);
and g4 ( t3, t1, c[i]);
or g5 ( c[i+1], t2, t3);
end
endgenerate
assign co = c[SIZE];
endmodule
SC_MODULE(module_test) {
public:
SC_CTOR(module_test) {}
};
class module_test: public sc_module {
public:
module_test(sc_module_name nm, ....): sc_module(nm) {....}
};
class module_test: public sc_module {
public:
SC_HAS_PROCESS(module_test)
module_test(sc_module_name nm, ....): sc_module(nm)
{
SC_CTHREAD(....);
}
};
integer $fopen(file_name, mode)
file_name: 要開啟檔案的名稱
mode : "r" for read "w" for write
Return : 會回傳一個數字表示 file descriptor
integer $fread(mem, fd, start, num)
mem : 資料要寫入的地方
fd : file descriptorstart : 資料要從 mem 的第幾筆開始寫
num : 要讀幾筆 (一筆的寬度是由mem的宣告決定)
return : 會回傳到底讀了多少 byte
integer $fseek(fd, nb, mode)
fd : file descriptor
nb : number of byte
mode :
0: seek from begin
1: seek from current
2: seek from end
integer $fscanf(fd, format, args...)
fd: file descriptor
format: format
args: 參數
Returns:回傳讀了多少參數
$fdisplay(fd, format, args...)
fd: file descriptor
format: format