Thiết kế mạch số với VHDL và verilog tập 2 tống văn on

297 121 0
Thiết kế mạch số với VHDL và verilog  tập 2 tống văn on

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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)

Ngày đăng: 17/02/2021, 09:32

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan