Trung tâm đào tạo thiết kế vi mạch Semicon


  • ĐĂNG KÝ TÀI KHOẢN ĐỂ TRUY CẬP NHIỀU TÀI LIỆU HƠN!
  • Create an account
    *
    *
    *
    *
    *
    Fields marked with an asterisk (*) are required.
semicon_lab.jpg

Thiết kế thanh ghi dịch dùng verilog

E-mail Print PDF

shift-register-1.png Một thanh ghi dịch là một chuỗi các flip-flop được kết nối tuần tự với nhau, các giá trị sẽ chuyển từ thanh ghi đầu vào đến thanh ghi tiếp theo khi xung clock được set. Hình duwois đây minh họa chuỗi thanh ghi dịch với Bit MSB nằm bên phải và thứ tự dịch như hình mũi tên.

Ví dụ này thể hiện thanh ghi dịch từng bit vầ độ rộng cả thanh ghi là 8bit

shift-register-1.png

- Dưới đây là code verilog của thanh ghi dịch, các chỉ số dịch bao nhiêu bit hay word có thể thay đổi tùy thích trong vòng lặp for. Trong đoạn code có 2 cách dịch là dịch một bit và dịch nhiều bit tùy vào tham số i.Các bạn có thể thay đổi tùy theo ý mình. Chú ý là tham số i không quá lớn vì trong verilog không cho phép địa chỉ quá lớn của các loại bộ nhớ.
Ví dụ:

 

Mã:
module shift_register_v( 
input CLK, input RST, 
input DATA_IN, 
output BIT_OUT, 
output [7:0] BYTE_OUT 
);
  //-------------------------------------------------------------- 
// signal definitions 
//--------------------------------------------------------------  
//shift register signals
 reg [7:0] bitShiftReg;
 reg [7:0] byteShiftReg[11:0]; 
integer i; 
 //-------------------------------------------------------------- 
// shift register 
//--------------------------------------------------------------  
//shift register
 always @(posedge CLK) 
begin  
//bit shift register 
bitShiftReg <= {bitShiftReg[6:0],DATA_IN};  
//byte shift register byteShiftReg[0] <= bitShiftReg; 
for(i=1;i<12;i=i+1) 
byteShiftReg[i] <= byteShiftReg[i-1]; 
end 
 //-------------------------------------------------------------- 
// outputs 
//--------------------------------------------------------------
  //module output wires 
assign BIT_OUT = bitShiftReg[7];
 assign BYTE_OUT = byteShiftReg[11];

 

Bạn có đam mê ngành thiết kế vi mạch và bạn muốn có mức lương 1000 usd cùng lúc bạn

đang muốn tìm một Trung tâm để học vậy hãy đến với ngành vi mạch tại SEMICON

  HotLine: 0972 800 931 or 0938 838 404  Ms Duyên

Last Updated ( Tuesday, 26 January 2016 14:50 )  

Related Articles

Chat Zalo