Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 297 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
297
Dung lượng
24,93 MB
Nội dung
THƯ VIỆN ĐẠI HỌC N H A TRANG M 621.38 T 455 o T.2 THIẾT KÊ' MẠCH sô 'n Quyển sách trình bày việc thiết kế mạch số bao gồm mạch tổ hợp, mạch máy trạng thái hữu hạn cách sử dụng ngôn ngữ mô tả phần cứng: VHDL Verilog Hầu hết thí dụ viết hai ngôn ngữ cho ta mạch logic tổng hợp tttù tty (< Ịtt etã, ¿ ế » v ó i THU VIEN DAI HOC NHA TRANG tế ítt x o r (A2 x o r A3)) x o r (A4 x o r A5); e n d fu n c tio n XOR6; fu n c tio n XOR7 (AO, A l, A2, A3, A4, A5, A6: stdjlogic) re tu rn std_logic is b e g in r e tu r n ((AO x o r Al) x o r (A2 x o r A3)) x o r ((A4 x or A5) x or (A6)); e n d fu n c tio n XOR7; fu n c tio n XOR9 (AO, A l, A2, A3, A4, A5, A6, A7, A8: stdjogic) r e tu r n stdjogic; b e g in r e tu r n ((AO x o r A l) x o r (A2 x o r A3)) x or ((A4 x o r A5) x o r (A6 x o r A7)) x o r (A8); e n d fu n c tio n XOR9; fu n c tio n XORIO (AO, A l, A2, A3, A4, A5, A6, A7, A8, A9: stdjogic) r e tu r n stdjogic is b e g in r e tu r n ((AO x o r A l) x o r (A2 x o r A3)) x o r ((A4 x or A5) x o r (A6'xor A7)) x o r (A8 x o r A9); e n d fu n c tio n XORIO; fu n c tio n XOR16 (A: unsigned(15 dow nto 0)) re tu rn stdjogic is b e g in r e tu r n ((A(0) x o r A(l)) x o r (A(2) xor A(3))) x o r (( A(4) x o r A(5)) x o r (A(6) x o r A(7)))) x o r (((A(8) x o r A(9)) x o r (A(10) x o r A(ll))) x o r ((A(12) x or A(13)) x o r (A(14) x o r A(15)))); e n d fu n c tio n XOR16; e n d p ack ag e body ERRDET_COR_PKG; ’ Các function XOR chung sử dụng mơ hình EDAC - Verilog fu n c tio n XOR5; in p u t AO, A l, A2, A3, A4; XOR5 = ((AO A A l) A (A2 A A3)) A (A4); e n d fu n c tio n fu n c tio n XOR6; in p u t AO, A l, A2, A3, A4, A5; XOR6 = ((AO A Al) A (A2 A A3)) A (A4 A A5); e n d fu n c tio n , function XOR7; in p u t AO, A l, A2, A3, A4, A5, A6; XOR7 = ((AO A A l) A (A2 A A3)) A ((A4 A A5) A (A6)); e n d fu n c tio n fu n c tio n XOR9; in p u t AO, A l, A2, A3, A4, A5, A6, A7, A8; XOR9 = ((AO A Al) A (A2 A A3)) A ((A4 A A5) A (A6 A A7)) A (A8); e n d fu n c tio n fu n c tio n XORIO; input AO, A l, A2, A3, A4, A5, A6, A7, A8, A9; XORIO = ((AO A Al) A (A2 A A3)) A ((A4 A A5) A (A6 A A7)) A (A8 A A9); endfunction .— — - T h iế t k ế m ạch sô' với VHDL& Verilog Các function XOR chung sử d ụn g mô h ìn h EDAC - V erilog (tiếp thẹo) fu n c tio n X0R16; in p u t [15:0] A; XOR16 = ((( A[0] * A[l-]) A (A[2] A A[S])) A ((A[4] A A[5]) A (A[6] A A[7]))) A (((A[8] A A[9]) A (A[10] A A [ll])) A ((A[12] A A[13]) A (A[14] A A[15]))); e n d fu n c tio n M ạch ph át h iện sửa sai - VHDL lib r a r y IEEE; u s e IEEE.std_logic_1164.all, IEEE.Numeric_STD.all; u se work.ERRDET_COR_PKG.all; e n tity ERRDET_COR_PKG is p o r t ( ReadWrite_b: in ProcData: in o u t MemData: in o u t ErrorType: out e n d e n tity ERRDET_COR_PKG; std_logic; unsigned(15 d o w n to 0); unsigned(21 d o w n to 0); ErrorTypeType); a r c h ite c tu r e RLT o f ERRDET_COR_PKG is s ig n a l ProcReadData, D, DataMemData: unsigned(15 d o w n to 0); s ig n a l MemW riteData, DecodeSyn: unsigned(21 d o w n to 0); s ig n a l D0_16Parity, OverallParity, P_Parity: std_logic; s ig n a l p, —Chẵn lẻ theo Hamming ParityMemData: unsigned(5 d o w n to 0); s ig n a l Syndrome: unsigned(4 d o w n to 0); b e g in —Gán liệu 16-bit bit chẵn lẻ —riêng biệt —từ bus liệu đọc nhớ 22-bit kết hợp —Khơng có mạch logic vật lý tổng hợp PR_MemData: p ro c e s s b e g in DataMemData(0) DataM em D atad) DataMemData(2) DataMemData(3) ĐataMemĐata(4) DataMemData(5) DataMemData(6) DataMemData(7) DataMemData(8) DataMemData(9) DataMemData( 10) DataMemData( 11) DataMemData(12) DataMemData(13) DataMemData( 14) DataMemData( 15) (MemData)