pipelining dalam Verilog

A

amitgvlsijune06

Guest
bagaimana membawa pipelining dalam Verilog coding yang tertentu architecture.please saya memberikan beberapa contoh.

 
Yang paling sederhana adalah dengan menggunakan pipa latches.Ckt dengan mempertimbangkan combinational blok terhubung ke satu sama lain .. ie, the o / p dari tanggal 1 blok berjalan sebagai i / p ke depan dan seterusnya on.till mencapai terakhir o / p tahap ..Untuk pipa ini, kami hanya latch data antara masing-masing tahap dan menggunakan Common jam untuk latches.Ini adalah sederhana pipa.

Pada prosesor
dari konteks, pipelining berarti duplikat dasar unit, yakni, JIKA, ID, EX unit.Jika you'r menerapkan 5 tahap pipa, maka u duplikat ini blok 5 kali.

Yang saya
telah mengatakan di sini hanya dasar-dasar ..ada pertimbangan lainnya yang harus diambil dari perawatan bila pipelining.

 
pls elaborate it sedikit lebih ... dengan somecoding contoh.i memahami apa yu r saying

 
Anda dapat memiliki independen untuk blok kode, mengatakan 5 tahapan ur prosesor pipa ...... Ketika U memberikan Common jam untuk semua unit dan ketika output dari satu unit yang terhubung dengan unit berikut ... yang secara otomatis membuat sebuah pipa .. sejak setiap unit pengolahan data dari sebelumnya unit berikutnya siklus clock.

 
nya seperti ember, satu isi, berikutnya berikutnya cascaded

 
di DC, u tungau menarik menemukan beberapa hal baru di pipelining ...
VAL r tiga perintah yang berhubungan dengan retiming!
optimize_timing
pipeline_register
register_balance
i hav ke luk doc untuk menjadi benar perintah ..
u hav terpisah dalam doc SOLD untuk retiming!go through it
Shiv

 
Lets say you have a 5 dasar tahap pipa IF ID EX Mem WB:

Sekarang, mari kita berkata Anda memiliki dua nos.dalam instruksi yang harus ditambahkan ADD 05,06 (ini hanya untuk contoh, salah satu HAS menjadi pendaftaran).Sekarang mari kita lihat pada jam:
opcode untuk ADD = AB (berkata) sehingga instruksi akan terlihat seperti AB 05 06, memungkinkan kita dapat berkata mengambil ketiga pada saat yang sama dari memori

Jam 1: JIKA
AB 05 06 yang diambil dari memori.data adalah latched dan dikirim ke tahap kedua pipa
contoh kode:
always @ (posedge sys_clk)
opcode <= AB; (n register digunakan)
data1 <= 05; (m register digunakan)
data2 <= 06; (m register digunakan)Jam 2: ID
di sini kita tahu bahwa instrn adalah ADD jadi kami kirimkan ke upacara ucapan alu yang merupakan tahap ketiga
contoh kode:

always @ (posedge sys_clk)
ALU_op <= op_code; (decoding terjadi di sini beberapa combinational = logika n Regs)
ALU_data1 <= data1; (m lebih Regs)
ALU_data2 <= data2; (m lebih Regs)

Jam 3: EX
Disini data yang ditambahkan dalam upacara ucapan alu.Sekarang, di sini mengerti bahwa data (05 06) telah tersedia dalam tahap pertama itu sendiri (jam 1)
Walaupun kita harus lulus melalui 2 tahap pertama sehingga opcode dan data yang baik pada upacara ucapan alu availbale selama 3 jam.
Dengan kata lain data ini melewati tahap 2 pipa (= tambahan Flops / register)

Sekarang, mari kita katakan Anda diperlukan output dari upacara ucapan alu dalam tahap 5 (mungkin sebelumnya instruksi kebutuhan ini).Sehingga data dapat dikirim langsung ke tahap 5.
Tidak harus lulus melalui tahap 4 dan 5.Hal ini dikenal sebagai forwarding di pipa.Untuk rinciannya lihat Arsitektur Komputer: perangkat lunak perangkat keras dan pendekatan oleh Hennessey Patterson.
Ini telah dijelaskan dengan baik dalam buku tersebut.

Pada dasarnya setiap pipa tahap hanya output dari tahap yg dpt tembus dipisahkan oleh kegagalan.

HTH,
B

 

Welcome to EDABoard.com

Sponsor

Back
Top