修改上行sram语法,可以减少资源,仿真过,上版未测
This commit is contained in:
@@ -216,34 +216,23 @@ class MirrorSRAMUp extends BlackBox with HasBlackBoxInline {
|
|||||||
| input clockw
|
| input clockw
|
||||||
| );
|
| );
|
||||||
|
|
|
|
||||||
| reg [15:0] ram[0:1023];
|
| reg [7:0] ram[0:2047] /* synthesis syn_ramstyle="block_ram" */;
|
||||||
| reg [15:0] data_r_reg;
|
| reg [15:0] data_r_reg;
|
||||||
|
|
|
|
||||||
| always @(posedge clockw) begin
|
| always @(posedge clockw) begin
|
||||||
| if(enw) begin
|
| if(enw) begin
|
||||||
| if( addrw[0] ) begin
|
| ram[addrw] <= #1 dataw;
|
||||||
| ram[addrw[10:1]][15:8] <= #1 dataw;
|
| end
|
||||||
| end else begin
|
|
||||||
| ram[addrw[10:1]][7:0] <= #1 dataw;
|
|
||||||
| end
|
|
||||||
| end
|
|
||||||
| end
|
| end
|
||||||
|
|
|
|
||||||
| always @(posedge clockr) begin
|
| always @(posedge clockr) begin
|
||||||
| if(enr) begin
|
| if(enr) begin
|
||||||
| data_r_reg <= #1 ram[addrr];
|
| data_r_reg <= #1 { ram[2*addrr+1], ram[2*addrr] };
|
||||||
| end
|
| end
|
||||||
| end
|
| end
|
||||||
|
|
|
|
||||||
| assign datar = data_r_reg;
|
| assign datar = data_r_reg;
|
||||||
|
|
|
|
||||||
| initial begin
|
|
||||||
| for ( integer i = 0; i < 1024; i = i + 1 ) begin
|
|
||||||
| ram[i] = $random;
|
|
||||||
| end
|
|
||||||
|
|
|
||||||
| data_r_reg = $random;
|
|
||||||
| end
|
|
||||||
|
|
|
|
||||||
|endmodule
|
|endmodule
|
||||||
""".stripMargin)
|
""".stripMargin)
|
||||||
|
|||||||
Reference in New Issue
Block a user