mirror of
https://github.com/YosysHQ/yosys
synced 2025-06-13 01:16:16 +00:00
Add SIMD test
This commit is contained in:
parent
02cf9933b9
commit
1fc50a03fc
1 changed files with 25 additions and 0 deletions
25
tests/xilinx/dsp_simd.ys
Normal file
25
tests/xilinx/dsp_simd.ys
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
read_verilog <<EOT
|
||||||
|
module simd(input [12*4-1:0] a, input [12*4-1:0] b, (* use_dsp="simd" *) output [7*12-1:0] o12, (* use_dsp="simd" *) output [2*24-1:0] o24);
|
||||||
|
generate
|
||||||
|
genvar i;
|
||||||
|
// 4 x 12-bit adder
|
||||||
|
for (i = 0; i < 4; i++)
|
||||||
|
assign o12[i*12+:12] = a[i*12+:12] + b[i*12+:12];
|
||||||
|
// 2 x 24-bit subtract
|
||||||
|
for (i = 0; i < 2; i++)
|
||||||
|
assign o24[i*24+:24] = a[i*24+:24] - b[i*24+:24];
|
||||||
|
endgenerate
|
||||||
|
reg [3*12-1:0] ro;
|
||||||
|
always @* begin
|
||||||
|
ro[0*12+:12] = a[0*10+:10] + b[0*10+:10];
|
||||||
|
ro[1*12+:12] = a[1*10+:10] + b[1*10+:10];
|
||||||
|
ro[2*12+:12] = a[2*8+:8] + b[2*8+:8];
|
||||||
|
end
|
||||||
|
assign o12[4*12+:3*12] = ro;
|
||||||
|
endmodule
|
||||||
|
EOT
|
||||||
|
|
||||||
|
proc
|
||||||
|
equiv_opt -assert -map +/xilinx/cells_sim.v synth_xilinx
|
||||||
|
design -load postopt
|
||||||
|
select -assert-count 3 t:DSP48E1
|
Loading…
Add table
Add a link
Reference in a new issue