哈工大数电大作业
哈工大数电大作业 Harbin Institute of Technology 数字电子技术基础大作业 课程名称 数字电子技术基础 设计题目 血型及状态机 院 系 班 级 设 计 者 学 号 哈尔滨工业高校 血型逻辑电路设计 一 试验目的 1. 驾驭采纳可编程逻辑器件实现数字电路及系统的方法。 2. 驾驭采纳Xilinx_ISE软件开发可编程逻辑器件的过程。 3. 学会设计血型能否输血的数字电路。 4. 驾驭Verilog HDL描述数字逻辑电路及系统的方法。 二 设计要求 1. 采纳BASYS2开发板开关,LED,数码管等制作验证能否输血的电路。 2. 采纳Xilinx_ISE软件进行编程、仿真及下载设计到BASYS2开发板。 三 电路图 1. 电路模块图(简化) 应用 2. 内部电路组成(简化) 四 编程 1.源程序 module xuexingM, N, P, Q, E,F,G,OUT,CTL,clk,bi; M; N; P; Q; clk; output E; output[30] F; output[30] G; output[70] OUT; output[30] CTL; reg E; reg[30] F; reg[30] G; reg[70] OUT; reg[70] OUT1; reg[70] OUT2; reg[70] OUT3; reg[70] OUT4; reg[30] CTL4b1110; output bi; reg bi; integer clk_cnt; reg clk_400Hz; always posedge clk//400Hz扫描信号 ifclk_cnt32d100000 begin clk_cnt 1b0; clk_400Hz clk_400Hz; end else clk_cnt clk_cnt 1b1; //位限制 reg clk_1Hz; integer clk_1Hz_cnt; //1Hz发声信号 always posedge clk ifclk_1Hz_cnt32d25000000-1 begin clk_1Hz_cnt 1b0; clk_1Hz clk_1Hz; end else clk_1Hz_cnt clk_1Hz_cnt 1b1; always posedge clk_400Hz CTL {CTL[20],CTL[3]}; //段限制 always CTL caseCTL 4b0111 OUTOUT1; 4b1011 OUTOUT2; 4b1101 OUTOUT3; 4b1110 OUTOUT4; defaultOUT4hf; endcase always M or N or P or Q begin EPQ|MN|MQ|NP; //选择能否输血 caseE 1 begin OUT18b10001001; OUT28b01100001; OUT38b01001001; OUT48b11111111; biclk_400Hz; end 0 begin OUT18b00010011; OUT28b00000011; OUT38b11111111; OUT48b11111111; biclk_1Hz; end endcase end always M or N or P or Q //显示输入输出血型 begin ifM1N0 F4b1000; else ifM0N1 F4b0100; else ifM1N1 F4b0010; else F4b0001; end always M or N or P or Q //显示输入输出血型 begin ifP1Q0 G4b1000; else ifP0Q1 G4b0100; else ifP1Q1 G4b0010; else G4b0001; end endmodule 2.管脚定义程序 NET M LOCN3; NET N LOCE2; NET P LOCL3; NET Q LOCP11; NET E LOCB2; NET OUT[7] LOC L14; NET OUT[6] LOC H12; NET OUT[5] LOC N14; NET OUT[4] LOC N11; NET OUT[3] LOC P12; NET OUT[2] LOC L13; NET OUT[1] LOC M12; NET OUT[0] LOC N13; NET CTL[3] LOC K14; NET CTL[2] LOC M13; NET CTL[1] LOC J12; NET CTL[0] LOC F12; NET clk LOCB8; NET F[3] LOCG1; NET F[2] LOCP4; N