miten syntetisoimiseksi yksi shifter vuonna FPGA Block_ram?

M

Matrix_YL

Guest
HI kaikki
I jätteiden liikaa Luts minun siru!joten haluan käyttää block_ram resource.Is olemassa mitään keinoja syntetisoimiseksi yksi shifter vuonna BlockRam on Xilinx:
n FPGA!
miten asettaa minun EDA-työkalut (Synplify 7,5) tai lisätä määreitä täydentää sitä!

Minun laite xcv50bg256-6.

Verilog ja VHDL ovat kaikki parhaat tarvitaan!

kiitos!

 
Katso sivu 27 Sovellushaku Huomautus 463:
http://www.xilinx.com/bvdocs/appnotes/xapp463.pdf

Tai voit käyttää coregen luoda sellainen.Nykyinen versio on nimeltään "RAM-pohjainen Vaihto Rekisteröidy 8.0".
http://www.xilinx.com/ipcenter/catalog/logicore/docs/ram_shift.pdf

 
////////////
moduuli shifter_main (Q, A, C0, C1, C2, Cin, tuomioistuin);
input [7:0] A;
panos C0, C1, C2, Cin;
tuotos [7:0] Q;
tuotos tuomioistuin;
reg [1:0] S;
aina @ (C0 tai C1 tai C2)
if (C0) S = 2'b00;
else if (C1) S = 2'b01;
else if (C2) S = 2'b10;
muu S = 2'b11;
shifter CCT (Q, S, A, Cin, tuomioistuin);
loppuun moduuli

//////////////
moduuli Barrel_shifter_main (A, C0, C1, C2, C3, Q);
input [7:0] A;
panos C0, C1, C2, C3;
tuotos [7:0] Q;
reg [2:0] S;
aina @ (C0 tai C1 tai C2 tai C3)
if (C0) S = 3'b001;
else if (C1) S = 3'b011;
else if (C2) S = 3'b101;
else if (C3) S = 3'b111;
muu S = 3'b000;
barrel_shifter shfter (A, S, K);
loppuun moduuli
/ /

Koodi varten 4x1 MUX käytetään myös Shifter;
moduuli mux (y, D0, D1, D2, D3, s);
panos d3, d2, d1, d0;
input [1:0] s;
tuotoksen y;
reg y;
aina @ (d0 tai d1 ja d2 ja d3 tai s)
tapauksessa (s)
2'b00: y = d0;
2'b01: y = d1;
2'b10: y = d2;
2'b11: y = d3;
endcase
loppuun moduuli
/ /
moduuli mux8x1 (y, D0, D1, D2, D3, D4, d5, d6, d7, s);
panos D0, D1, D2, D3, D4, d5, d6, d7;
input [2:0] s;
tuotoksen y;
reg y;
aina @ (d0 tai d1 ja d2 ja d3 tai d4 tai d5 tai d6 tai d7 tai s)
tapauksessa (s)
3'b000: y = d0;
3'b001: y = d1;
3'b010: y = d2;
3'b011: y = d3;
3'b100: y = d4;
3'b101: y = d5;
3'b110: y = d6;
3'b111: y = d7;
endcase
loppuun moduuli

/ /

moduuli shifter (Q, S, A, Cin, tuomioistuin);
input [7:0] A;
input [1:0] S;
panos Cin;
tuotos [7:0] Q;
tuotos tuomioistuin;
parametri d = 1'b0;
reg tuomioistuin;
mux mux1 (Q [7], A [7], Cin, A [6], d, S);
mux mux2 (Q [6], A [6], A [7], A [5], d, S);
mux mux3 (Q [5], A [5], A [6], A [4], d, S);
mux mux4 (Q [4], A [4], A [5],
a [3], d, S);
mux mux5 (Q [3], A [3], A [4], A [2], d, S);
mux mux6 (Q [2], A [2],
a [3], A [1], d, S);
mux mux7 (Q [1], A [1], A [2], A [0], d, S);
mux mux8 (Q [0], A [0], A [1], Cin, d, S);
aina @ (A-tai S)
tapauksessa (S)
2'b00: Court = 0;
2'b01: Court = A [0];
2'b10: Court = A [7];
2'b11: Court = 0;
endcase
endmodule
/ // / Koodi on pyörittimelle;
moduuli barrel_shifter (A, S, K);
input [7:0] A;
input [2:0] S;
tuotos [7:0] Q;
parametri d = 1'b0;
mux8x1 mux0 (Q [7], d, A [6], A [5], A [4], A [3], A [2], A [1], A [0], S);
mux8x1 mux1 (Q [6], d, A [5], A [4], A [3], A [2], A [1], A [0], A [7], S);mux8x1 mux2 (Q [5], d, A [4], A [3], A [2], A [1], A [0], A [7], A [6], S);
mux8x1 mux3 (Q [4], d, A [3], A [2], A [1], A [0], A [7], A [6], A [5], S);
mux8x1 mux4 (Q [3], d, A [2], A [1], A [0], A [7], A [6], A [5], A [4], S);
mux8x1 mux5 (Q [2], d, A [1], A [0], A [7], A [6], A [5], A [4], A [3], S);
mux8x1 mux6 (Q [1], d, A [0], A [7], A [6], A [5], A [4], A [3], A [2], S);
mux8x1 mux7 (Q [0], d, A [7], A [6], A [5], A [4], A [3], A [2], A [1], S);
endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top