arithmetic shift reg code verilog

117 views
Skip to first unread message

Anh Tuan Vu

unread,
Nov 28, 2011, 5:24:58 AM11/28/11
to thietkeVLSI20111
code đã đc biên dịch và kiểm thử, dùng mạch tổ hợp nên tốc độ nhanh hơn và ít phức tạp phần cứng hơn, Việt Anh xem schematic của nó rùi vẽ ra nhá!

--
Vũ Anh Tuấn

khanh nguyen van

unread,
Nov 28, 2011, 6:53:28 AM11/28/11
to thietkev...@googlegroups.com
Sax, lại là lỗi thường gặp của Gmail user V.A nhỉ
Cậu quên attach file rồi Tuấn ơi !!!
Ah, anh em thống nhất gọi tên các đầu in - out để các báo cáo khác nhau ko bị lệch nhé, tên gọi sẽ như sau:
- data_in: dữ liệu vào 8 bit
- data_out: dữ liệu ra 8 bit
- shift: bit điều khiển dịch hay ko
- direct: bit chỉ thị hướng dịch ( bằng 0 là dịch trái, bằng 1 là dịch phải hoặc ngược lại cũng được)
- clk: xung clock của mạch
Mọi người đồng ý ko?

Vào 17:24 Ngày 28 tháng 11 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:

code đã đc biên dịch và kiểm thử, dùng mạch tổ hợp nên tốc độ nhanh hơn và ít phức tạp phần cứng hơn, Việt Anh xem schematic của nó rùi vẽ ra nhá!

--
Vũ Anh Tuấn




--
Nguyễn Văn Khánh
Điện tử 7 - K52
Viện Điện tử - Viễn thông, ĐHBKHN
Phone: 097 852 4852

330.gif

Viet Anh Duong

unread,
Nov 28, 2011, 8:03:46 AM11/28/11
to thietkev...@googlegroups.com
Uh đấy, bạn tuấn thiếu chuyên nghiệp quá..hehe.
Thống nhất thế nhé. tuấn đâu up lại đê

Anh Tuan Vu

unread,
Nov 28, 2011, 8:29:11 AM11/28/11
to thietkev...@googlegroups.com


Vào 20:25 Ngày 28 tháng 11 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:


Vào 20:22 Ngày 28 tháng 11 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:

mạch của tớ là mạch tổ hợp, không cần dùng clk, k dùng rst, mạch đơn giản nhưng tốc độ xử lý nhanh, mọi người cứ xem code đi nha

Vào 20:03 Ngày 28 tháng 11 năm 2011, Viet Anh Duong <dva...@gmail.com> đã viết:

Uh đấy, bạn tuấn thiếu chuyên nghiệp quá..hehe.
Thống nhất thế nhé. tuấn đâu up lại đê




--
Vũ Anh Tuấn




--
Vũ Anh Tuấn




--
Vũ Anh Tuấn

arith_shift_reg.v

Anh Tuan Vu

unread,
Nov 28, 2011, 8:31:53 AM11/28/11
to thietkev...@googlegroups.com
mạch này là mạch tổ hợp
không cần phải clk và rst, đơn giản nhưng nhanh và tối ưu hơn

Vào 20:29 Ngày 28 tháng 11 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:



--
Vũ Anh Tuấn

khanh nguyen van

unread,
Nov 28, 2011, 11:55:40 AM11/28/11
to thietkev...@googlegroups.com
Tớ thấy nên dùng Flip-Flop và tín hiệu clock vì 1 số lí do sau:
1. Mấy nhóm khác đều đã dùng mạch tổ hợp rồi, mình làm giống thì chẳng có gì đặc biệt cả - thậm chí là ko được đánh giá bằng nhóm sử dụng L-edit.
2. Khả năng ứng dụng thực tế khi dùng mạch tổ hợp là ko có vì chẳng có thanh ghi dịch nào trên thực tế mà ko dùng FF cả.
3. Khi mình thiết kế thanh ghi dịch với vai trò là một phần của hệ thống lớn thì tín hiệu Clk làm nhiệm vụ đồng bộ với hệ thống. Còn nếu dùng mạch tổ hợp thì ko thể dùng được trong hệ thống lớn hơn.
4. Mạch mức transistor của FF mình cũng có rồi - làm cũng ko phức tạp hơn bộ MUX là bao.

Mọi người thấy sao???

Vào 20:31 Ngày 28 tháng 11 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:

Viet Anh Duong

unread,
Nov 29, 2011, 12:24:40 AM11/29/11
to thietkev...@googlegroups.com
Thì t cũng thấy thế, Khánh nói chuẩn đấy, chả thấy cái bộ dịch nào như Tuấn thiết kế cả? đã làm nhanh lại còn độc quá, nhưng t làm mất rồi, bây giờ sửa lại không biết còn kịp k?
arith_shift.docx

Anh Tuan Vu

unread,
Nov 29, 2011, 5:23:27 AM11/29/11
to thietkev...@googlegroups.com
chưa thấy thì giờ thấy. có quan trọng ghì đâu. Bộ dịch của tớ vẫn có thể sử dụng ở mọi hệ thống, vì đơn giản trong mạch FMSD vẫn có phần mạch tổ hợp đấy thôi.

Vào 12:24 Ngày 29 tháng 11 năm 2011, Viet Anh Duong <dva...@gmail.com> đã viết:

Thì t cũng thấy thế, Khánh nói chuẩn đấy, chả thấy cái bộ dịch nào như Tuấn thiết kế cả? đã làm nhanh lại còn độc quá, nhưng t làm mất rồi, bây giờ sửa lại không biết còn kịp k?



--
Vũ Anh Tuấn

khanh nguyen van

unread,
Nov 29, 2011, 6:26:25 AM11/29/11
to thietkev...@googlegroups.com
Mạch nào cũng có phần mạch tổ hợp cả, ko có mạch nào mà chỉ toàn FF ko. Vấn đề ở đây nó là thanh ghi dịch, cậu có thấy thanh ghi thực tế nào mà ko dùng FF và ko có clock chưa???

Mà còn 1 số lý do khác nữa để thấy bọn mình nên dùng FF chứ ko chỉ vì lý do này. Đề nghị Tuấn hợp tác, ko bật lại số đông nhé - 2/3 nhóm đã tán thành phương án dùng FF.


Vào 17:23 Ngày 29 tháng 11 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:
330.gif

Viet Anh Duong

unread,
Nov 29, 2011, 8:20:08 AM11/29/11
to thietkev...@googlegroups.com
http://en.wikipedia.org/wiki/Shift_register

Để khỏi tranh cãi nữa. chúng ta vào wiki xem nó định nghĩa thế nào là Shift_register! chú ý ngay dòng đầu tiên
Rõ ràng là làm thế kia thì chỉ có thể gọi là bộ làm lệch 1 bit.chứ chưa có dịch diếc thế nào ca?
Nếu ta học ngành thiết kế thời trang thì không nói làm j? ^^
Đây là điện tử làm sai ngay bản chất có nguy cơ k đc điểm nào ấy chứ..môn này lại có thể k thi cuối kì nên cái này cũng fai cẩn thận chút..Tối nay tớ vẽ lại hi vọng là mai xong!!

Viet Anh Duong

unread,
Nov 29, 2011, 9:09:48 AM11/29/11
to thietkev...@googlegroups.com
Hay thôi kệ đi :))
Còn ôn mai kiểm tra rùi..

Anh Tuan Vu

unread,
Nov 29, 2011, 10:51:34 AM11/29/11
to thietkev...@googlegroups.com
cái mà trên wiki nó bảo là thanh ghi dịch từng bit, đây là loại thanh ghi dịch làm nhiệm vụ truyền dữ liệu từng bit ra nhằm một múc đích kiểu như tiết kiệm chân chẳng hạn. có thể lấy 1 VD điển hình là con HC595. Còn thanh ghi dịch của mình là thanh ghi dịch toán học, làm nhiệm vụ là 1 hàm toán học. Chẳng có lí do nào bắt buộc nó phải có Clk hay FF.

Vào 21:09 Ngày 29 tháng 11 năm 2011, Viet Anh Duong <dva...@gmail.com> đã viết:

Hay thôi kệ đi :))
Còn ôn mai kiểm tra rùi..



--
Vũ Anh Tuấn

khanh nguyen van

unread,
Nov 29, 2011, 12:39:29 PM11/29/11
to thietkev...@googlegroups.com
Nó chỉ khác HC595 là cậu lấy 1 bit ra, còn của mình là lấy 8 bit ra 1 lúc.
Tuấn có thể nêu các lý do để sử dụng bộ MUX thay cho FF là gì ko? Sao cậu cứ nhất thiết phải sử dụng MUX?

Thiết kế sử dụng bộ MUX cũng có thể làm được nhưng cậu chú ý 4 lý do tớ đưa ra ở trên.

Đặc biệt là cần sự khác biệt với các nhóm còn lại để khi bảo vệ còn có cái mà chém, chứ làm giống hệt giải pháp như thế - nếu mình phải bảo vệ sau bọn nó thì biết nói gì???

Hơn nữa, xu hướng bây giờ, có mấy hệ thống ko có vi xử lý hay vi điều khiển? Và có con vi xử lý nào ko có Clock để đồng bộ hệ thống?

Vào 22:51 Ngày 29 tháng 11 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:

khanh nguyen van

unread,
Nov 29, 2011, 12:48:18 PM11/29/11
to thietkev...@googlegroups.com
Thậm chí, mình có thể dùng định nghĩa trên Wiki để bắt bẻ các nhóm sử dụng MUX về thiết kế của họ - liệu có thể coi đấy là thanh ghi dịch ko? Vì có thể đầu vào đầu ra là giống chức năng của 1 thanh ghi dịch nhưng bản chất nó là khác nhau.

Nhưng ko biết môn này thầy đánh giá cao về yếu tố nào? Tư duy thiết kế hay chỉ là thao tác với phần mềm?

Vào 00:39 Ngày 30 tháng 11 năm 2011, khanh nguyen van <khanha4....@gmail.com> đã viết:

khanh nguyen van

unread,
Nov 29, 2011, 12:53:30 PM11/29/11
to thietkev...@googlegroups.com
Àh, chia sẻ với anh em điều này:

- Một trong những câu cuối cùng mà thầy Nam dùng để kết thúc môn Điện tử số
- Câu đầu tiên mà thầy Hoàng Mạnh Thắng chú ý sinh viên khi bắt đầu môn Vi xử lý
- Một câu tớ bị hỏi khi thi tuyển vào Lab thầy Nam

Đó là câu hỏi: bản chất của thanh ghi là gì ???
Trả lời: là FF
Tớ mà nói sai, tớ bé bằng con kiến. Đấy là kiến thức cơ bản nhất của điện tử.

Vào 00:48 Ngày 30 tháng 11 năm 2011, khanh nguyen van <khanha4....@gmail.com> đã viết:

Viet Anh Duong

unread,
Nov 30, 2011, 7:54:07 AM11/30/11
to thietkev...@googlegroups.com
Hình như đề bài không phải là Thanh ghi dịch. Có thể là thiết kế bộ dịch, chứ nếu mà có chữ thanh ghi thì phải có FF rồi!

Viet Anh Duong

unread,
Nov 30, 2011, 8:02:31 AM11/30/11
to thietkev...@googlegroups.com
Capture.JPG


Xem lại thì thấy bộ dịch khác với thanh ghi dịch, Bộ dịch là Shifter (như trên)/ thanh ghi dịch là Shift Register (có FF) => bị nhầm lẫn 2 cái này rồi.

Như bộ Shifter 4 bit ở trên, input// output// 3 tín hiệu đk là S2, S1, S0 để chỉnh hướng dịch và cho phép dịch..cũng gần giống như thiết kế của mình
Capture.JPG
35C.png

khanh nguyen van

unread,
Nov 30, 2011, 8:10:46 AM11/30/11
to thietkev...@googlegroups.com
ủa??? tớ ghi trong vở là shift register mà. Cái hôm mà thầy đưa 8 đề tài ra để chọn ấy, mọi người có ghi lại ko?

Vào 20:02 Ngày 30 tháng 11 năm 2011, Viet Anh Duong <dva...@gmail.com> đã viết:

Capture.JPG


Xem lại thì thấy bộ dịch khác với thanh ghi dịch, Bộ dịch là Shifter (như trên)/ thanh ghi dịch là Shift Register (có FF) => bị nhầm lẫn 2 cái này rồi.

Như bộ Shifter 4 bit ở trên, input// output// 3 tín hiệu đk là S2, S1, S0 để chỉnh hướng dịch và cho phép dịch..cũng gần giống như thiết kế của mình
Capture.JPG
35C.png

Viet Anh Duong

unread,
Nov 30, 2011, 8:17:25 AM11/30/11
to thietkev...@googlegroups.com
Acknowledge Bonus (from wiki)
A left arithmetic shift of a binary number by 1. The empty position in the least significant bit is filled with a zero. Note that arithmetic left shift may cause an overflow; this is the only way it differs from logical left shift.

A right arithmetic shift of a binary number by 1. The empty position in the most significant bit is filled with a copy of the original MSB.

Phải sửa lại :(

Viet Anh Duong

unread,
Nov 30, 2011, 8:21:20 AM11/30/11
to thietkev...@googlegroups.com
Không nhớ rõ nữa.. có số bạn Thảo heo không? gọi hỏi thăm cụ thể xem đi. tớ k có

khanh nguyen van

unread,
Nov 30, 2011, 9:32:03 AM11/30/11
to thietkev...@googlegroups.com
sao phải xoắn thế nhỉ??? Các nhóm khác làm MUX thì mình cứ làm FF cũng được chứ sao.

Vào 20:21 Ngày 30 tháng 11 năm 2011, Viet Anh Duong <dva...@gmail.com> đã viết:

Không nhớ rõ nữa.. có số bạn Thảo heo không? gọi hỏi thăm cụ thể xem đi. tớ k có

khanh nguyen van

unread,
Nov 30, 2011, 9:32:56 AM11/30/11
to thietkev...@googlegroups.com
Ah, mày gửi cái file báo cáo cho tao đi VA ơi.

Vào 21:32 Ngày 30 tháng 11 năm 2011, khanh nguyen van <khanha4....@gmail.com> đã viết:

Anh Tuan Vu

unread,
Nov 30, 2011, 11:56:46 AM11/30/11
to thietkev...@googlegroups.com
sao cứ phải tranh luận quá nhiều thế, đúng là thanh ghi là phải có FF, bản chất của cách thanh ghi như trên là kiểu gì đầu vào hoặc đầu ra cũng phải truy nhập theo kiểu serial, chỉ nhằm mục đích để lưu, truyền dữ liệu cũng như giảm kích thước phần cứng, chứ mục đích không phải để thực hiện 1 hàm toán học nào. Theo tôi, để dịch 1 bít dữ liệu từ 1 dữ liệu đầu vào cho trước là thực hiện 1 thuật toán hay 1 hàm toán học, vì vậy cái mình thiết kế phải gọi là bộ dịch số học chứ k phải thanh ghi.  Còn cho Clk vào hay k là do cách thiết kế của mình, theo tôi k cần cho vào để đảm bảo sự tối ưu trong thiết kế cũng như tốc độ xử lý, quan trọng nhất ở đây là thời gian k còn nhiều và chúng ta cần phải đơn giản thiết kế để layout cho nhanh. yêu cầu bạn Việt Anh sáng ngày mai gửi toàn bộ file báo cáo cho tôi để tôi làm báo cáo cuối cùng.
--
Vũ Anh Tuấn

Viet Anh Duong

unread,
Nov 30, 2011, 12:21:23 PM11/30/11
to thietkev...@googlegroups.com


---------- Forwarded message ----------
From: Viet Anh Duong <dva...@gmail.com>
Date: 2011/12/1
Subject: Re: arithmetic shift reg code verilog
To: thietkev...@googlegroups.com


Hàng về!

Thì phải có chút tranh luận mới vui chứ..team pro! :))

Tuấn nêu bật cái mih viết RTL code trc nhé. thầy nói mấy nhóm bảo vệ đầu đấy



--
Duong Viet Anh

5th Year Student.
Hanoi University of Science and Technology - School of Electronic and Telecommunication.
( HUST- SET)

Shifter.docx

Anh Tuan Vu

unread,
Nov 30, 2011, 12:23:28 PM11/30/11
to thietkev...@googlegroups.com
Ok, đc rùi!

Vào 00:21 Ngày 01 tháng 12 năm 2011, Viet Anh Duong <dva...@gmail.com> đã viết:



--
Vũ Anh Tuấn

khanh nguyen van

unread,
Dec 1, 2011, 12:06:15 AM12/1/11
to thietkev...@googlegroups.com

if (direct == 1'b1) begin

           data_out <= { data_in[6:0],1'b0 };// d=1 dich trai.


Êh, cái đoạn này: nếu dịch trái thì phải là: data_out <= { data_in[7], data_in [5:0], 1'b0 };
Phải giữ nguyên bit dấu cơ mà???

Vào 00:23 Ngày 01 tháng 12 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:

Anh Tuan Vu

unread,
Dec 1, 2011, 12:08:13 AM12/1/11
to thietkev...@googlegroups.com
Việt Anh làm đúng rùi đấy. tớ bị nhàm, nếu mà dịch trái thì giống dịch logic, cứ dở sách Vi xử lý ra mà xem.

Vào 12:06 Ngày 01 tháng 12 năm 2011, khanh nguyen van <khanha4....@gmail.com> đã viết:



--
Vũ Anh Tuấn

khanh nguyen van

unread,
Dec 1, 2011, 12:31:21 AM12/1/11
to thietkev...@googlegroups.com
Ừh, OK.
Còn cái đoạn vẽ đặc tính Ids - Vgs, sao ở trên chọn PMOS có W = 0.6 mà ở đồ thị lại vẽ PMOS có W = 0.2 ?

Vào 12:08 Ngày 01 tháng 12 năm 2011, Anh Tuan Vu <vangtr...@gmail.com> đã viết:

khanh nguyen van

unread,
Dec 1, 2011, 12:33:46 AM12/1/11
to thietkev...@googlegroups.com
mà theo cái đồ thị đặc tính đấy thì mình có thể thấy dòng của NMOS lớn gấp 2 lần PMOS khi có cùng W.
=> mình nên chọn PMOS có W = 0.4 tức là chỉ gấp 2 lần của NMOS thôi thì dòng qua 2 con này mới bằng nhau.
Mọi người đồng ý ko???

Vào 12:31 Ngày 01 tháng 12 năm 2011, khanh nguyen van <khanha4....@gmail.com> đã viết:

Viet Anh Duong

unread,
Dec 1, 2011, 1:47:32 AM12/1/11
to thietkev...@googlegroups.com
Cu de la 0.6 di
gui lai cho khanh ga
http://www.mediafire.com/?gu1n733ar5c3uqd

khanh nguyen van

unread,
Dec 1, 2011, 1:55:21 AM12/1/11
to thietkev...@googlegroups.com
Cái thằng, mày lười sửa thì có ý. Thế thì báo cáo cứ viết là 0.4 đi, phần mềm thì kệ nó, thầy cũng chả nhìn đâu mà sợ ^ ^

2011/12/1 Viet Anh Duong <dva...@gmail.com>

Cu de la 0.6 di
gui lai cho khanh ga
http://www.mediafire.com/?gu1n733ar5c3uqd
Reply all
Reply to author
Forward
0 new messages