课程设计1解答.ppt
23页题目: 总线接口芯片设计功能:用CPLD完成CPU(8086最小模式)到存储器的总线接口与译码电路编译仿真环境:Modelsim软件要求:代码编译通过,最好有仿真波形,课程设计一,8086最小工作模式下控制核心单元的组成,,,+5V,读写控制,,读写控制,,读写控制,,概念:1 缓冲器数字逻辑器件三态门构成有8位和16位控制断有效:输出等于输入控制断无效:输出为高阻态8286;8287;74LS2452 锁存器D锁存器构成控制断有效:输出等于输入控制断无效:输出保持不变8282;74LS373;74LS573,地址锁存器8282内部结构,8282,地址锁存器8282引脚信号,直通,保持,高阻,地址锁存功能,STB为高电平期间,输出等于输入 为下降沿时,输出锁存,与输入无关 OE为有效电平(低电平)时,正常输出;为无效电平(高电平)时,输出高阻 ALE为8088/8086地址锁存允许, 高电平有效, 输出,复用线上出现地址时为高电平 锁存器的DI0-DI7与CPU的地址/数据复用线相连,STB与ALE相连ALE为正脉冲时,输出地址;为低电平时,输出锁存,与数据无关,双向数据收发器8286内部结构,功能表,双向数据收发器8286引脚信号,,两方面的功能 ⑴、三态输出直接驱动总线 ⑵、具有数据收和发两个方向的传输、隔离控制功能。
常用芯片:Intel8286,Intel8287和74LS245 8286输入输出同相 8287输入输出反相 74LS245的功能与8286相同,双向数据总线收发器,最小模式下典型操作时序分析读周期,,,写周期,,,module cpu_bus (ALE,BHE,DEN,DT_R,M_IO,CSH,CSL,ADDR_H,ADDR_DATA,DATA,ADDR);input ALE,BHE,DEN,DT_R,M_IO;input [3:0]ADDR_H;output CSH,CSL;output reg [19:0]ADDR;inout [15:0]ADDR_DATA,DATA; endmodule,,always @( ALE ) beginif( ALE )ADDR[15:0] =ADDR_DATA;ADDR[19:16]=ADDR_H;CSH = BHE |(~ M_IO);CSL =ADDR_DATA[0] | (~ M_IO);endassign ADDR_DATA = (DEN==0 endmodule,,`timescale 1ns/100psmodule CpuBusTester;reg ALE,BHE,DEN,DT_R,M_IO; reg[3:0] ADDR_H;wire CSH,CSL; wire [19:0] ADDR;wire [15:0] ADDR_DATA_wire;wire [15:0] DATA_wire;reg [15:0] ADDR_DATA;reg [15:0] DATA;,,assign ADDR_DATA_wire=(DT_R==0)?ADDR_DATA:16'hzzzz;assign DATA_wire=(DT_R==1)?DATA:16'hzzzz; cpu_bus UUT (ALE,BHE,DEN,DT_R,M_IO,CSH,CSL,ADDR_H,ADDR_DATA_wire,DATA_wire,ADDR);initial beginALE=0; BHE=1;DEN=1;DT_R=0;M_IO=1; ADDR_H=4'b1010; ADDR_DATA=16'hzzzz;DATA=16'hzzzz;end,,initial begin #10 ALE=1;#5 ALE = 0;#45 ALE=1;#5 ALE = 0;endinitial begin #10 ADDR_DATA=16'h1234;#10 ADDR_DATA=16'hzzzz;#10 ADDR_DATA=16'h6789;#20 ADDR_DATA=16'hzzzz;#10 ADDR_DATA=16'habcd;#10 ADDR_DATA=16'hzzzz;end,,initial begin #90 DATA=16'haabb;#20 DATA=16'hzzzz;endinitial#80 DT_R=1;initial begin #30 DEN=0;#20 DEN=1;#40 DEN=0;#20 DEN=1; end endmodule,,,,题目: 测频测周模块设计功能:用FPGA完成频率(或周期)的自动测量编译仿真环境:Modelsim软件,课程设计二,编写程序,实现自动测频测周功能。
测量方法如下:当被测数字信号频率高于1K,为频率测量方式,测量方法是以100Hz标准时钟作为门限,对其计数即可;当被测数字信号频率低于1K 为周期测量方式,测量方法是以被测信号作为门限,对10K标准时钟信号计数即可要求输入为Clk_in和Clk10KHz,输出为测量方式Mode和输出值Clk_out),具体要求,具体要求,Clk100Hz,,标准时钟发生器,,,数据选择模块,,,,,,被测信号Clk_in,测量方式 Mode,Clk10KHz,,,,,,Clk10KHz,Clk_out (20位),周期测量模块,频率测量模块,。





