أ كيفية توليف شيفتر في FPGA Block_ram؟

M

Matrix_YL

Guest
مرحبا جميعا
النفايات لي الكثير من طرفيات المستعملين المحليين في رقاقة بلدي!لذلك اريد ان استخدم سلطتي block_ram resource.Is هناك أي وجود وسائل لتجميع شيفتر في BlockRam من XILINX 'sFPGA!
كيف لي مجموعة أدوات EDA (Synplify 7.5) ، أو إضافة بعض الخواص لإنجاز!

بلدي جهاز xcv50bg256 - 6.

فيريلوج vhdl وكلها تحتاج أفضل!

شكرا لك!

 
انظر الصفحة 27 من التطبيق 463 ملاحظة :
http://www.xilinx.com/bvdocs/appnotes/xapp463.pdf

أو يمكنك استخدام coregen لخلق واحد.الإصدار الحالي هو "ذاكرة الوصول العشوائي القائم على التحول سجل 8.0".
http://www.xilinx.com/ipcenter/catalog/logicore/docs/ram_shift.pdf

 
////////////
وحدة shifter_main (س ، ، C0 ، C1 ، C2 ، Cin ، المحكمة) ؛
مدخلات [7:0] ؛
مدخلات C0 ، C1 ، C2 ، Cin ؛
الناتج [7:0] س ؛
الناتج المحكمة ؛
ريج [1:0] دإ ؛
دائما @ (C0 أو C1 أو C2)
إذا كان (C0) (ع م) 2'b00 ؛
والا اذا (C1) (ع م) 2'b01 ؛
والا اذا (C2) (ع م) 2'b10 ؛
آخر 2'b11 (ع م) ؛
شيفتر cct (وفاء وقاف ، وألف ، Cin ، المحكمة) ؛
في نهاية الوحدة

//////////////
وحدة Barrel_shifter_main (ألف ، C0 ، C1
و C2 و C3 ، وفاء) ؛
مدخلات [7:0] ؛
مدخلات C0 ، C1
و C2 و C3 ؛
الناتج [7:0] س ؛
ريج [2:0] دإ ؛
دائما @ (C0 أو C1 أو C2 أو C3)
إذا كان (C0) (ع م) 3'b001 ؛
والا اذا (C1) (ع م) 3'b011 ؛
والا اذا (C2) (ع م) 3'b101 ؛
والا اذا (C3) (ع م) 3'b111 ؛
آخر 3'b000 (ع م) ؛
barrel_shifter shfter) ، د ، س) ؛
في نهاية الوحدة
/ /

مدونة ل4x1 MUX المستخدمة في شيفتر ؛
نميطة mux (ذ ، D0 ، D1 ، D2 ، D3 ، ق) ؛
مدخلات D3 ، D2 ، D1 ، D0 ؛
مدخلات [1:0] ق ؛
الناتج ذ ؛
ريج ذ ؛
دائما @ (D0 أو D1 أو d2 أو أو D3)
القضية (ق)
2'b00 : ص = D0 ؛
2'b01 : ص = D1 ؛
2'b10 : ص = d2 ؛
2'b11 : ص = D3 ؛
endcase
في نهاية الوحدة
/ /
وحدة mux8x1 (ذ ، D0 ، D1 ، D2 ، D3 ، D4 ، D5 ، d6 ، d7 ، ق) ؛
مدخلات D0 ، D1 ، D2 ، D3 ، D4 ، D5 ، d6 ، d7 ؛
مدخلات [2:0] ق ؛
الناتج ذ ؛
ريج ذ ؛
دائما @ (D0 أو D1 أو d2 أو D3 أو D4 أو D5 أو d6 أو d7 أو)
القضية (ق)
3'b000 : ص = D0 ؛
3'b001 : ص = D1 ؛
3'b010 : ص = d2 ؛
3'b011 : ص = D3 ؛
3'b100 : ص = D4 ؛
3'b101 : ص = D5 ؛
3'b110 : ص = d6 ؛
3'b111 : ص = d7 ؛
endcase
في نهاية الوحدة

/ /

شيفتر وحدة (وفاء وقاف ، وألف ، Cin ، المحكمة) ؛
مدخلات [7:0] ؛
مدخلات [1:0] دإ ؛
مدخلات Cin ؛
الناتج [7:0] س ؛
الناتج المحكمة ؛
معلمة 1'b0 د = ؛
ريج المحكمة ؛
mux mux1 (* [7] ، [7] ، Cin ، [6]) ، د ، س) ؛
mux mux2 (س ([6] ، [6] ، [7] ، [5]) ، د ، س) ؛
mux mux3 (* [5] ، [5] ، [6] ، [4]) ، د ، س) ؛
mux mux4 (* [4] ، [4] ، [5] ، [3]) ، د ، س) ؛
mux mux5 (* [3] ، [3] ، [4] ، [2]) ، د ، س) ؛
mux mux6 (* [2] ، [2] ، [3] ، [1] ، د ، س) ؛
mux mux7 (* [1] ، [1] ، [2] ، [0] ، د ، س) ؛
mux mux8 (* [0] ، [0] ، [1] ، Cin ، د ، س) ؛
@ دائما (أو س)
حالة (س)
2'b00 : محكمة = 0 ؛
2'b01 : محكمة = [0] ؛
2'b10 : محكمة = [7] ؛
2'b11 : محكمة = 0 ؛
endcase
endmodule
/ // / رمز للمحور دوار ؛
وحدة barrel_shifter) ، د ، س) ؛
مدخلات [7:0] ؛
مدخلات [2:0] دإ ؛
الناتج [7:0] س ؛
معلمة 1'b0 د = ؛
mux8x1 mux0 (* [7] ، (د) ، [6] ، [5] ، [4] ، [3] ، [2] ، [1] ، [0] والفرنسية) ؛
mux8x1 mux1 (س ([6]) ، (د) ، [5] ، [4] ، [3] ، [2] ، [1] ، [0] ، [7]) ، د) ؛mux8x1 mux2 (* [5]) ، (د) ، [4] ، [3] ، [2] ، [1] ، [0] ، [7] ، [6]) ، د) ؛
mux8x1 mux3 (* [4]) ، (د) ، [3] ، [2] ، [1] ، [0] ، [7] ، [6] ، [5]) والفرنسية (؛
mux8x1 mux4 (* [3]) ، (د) ، [2] ، [1] ، [0] ، [7] ، [6] ، [5] ، [4]) والفرنسية (؛
mux8x1 mux5 (* [2]) ، (د) ، [1] ، [0] ، [7] ، [6] ، [5] ، [4] ، [3]) ، د) ؛
mux8x1 mux6 (* [1] ، د ، [0] ، [7] ، [6] ، [5] ، [4] ، [3] ، [2]) والفرنسية (؛
mux8x1 mux7 (* [0] ، (د) ، [7] ، [6] ، [5] ، [4] ، [3] ، [2] ، [1]) والفرنسية (؛
endmodule

 

Welcome to EDABoard.com

Sponsor

Back
Top