1、 FPGA 课程设计报告课程设计报告 题 目: 基于 RAM 的十口 8 位计数器 院 系: 通信与信息工程学院 专业班级: 学生姓名: 导师姓名: 起止时间: 2012-9-10 至 2012-9-21 年 月 日 FPGAFPGA 课程设计报告课程设计报告提纲提纲 1 任务 用一个 10 8 的双口 RAM 完成 10 个 8 位计数器,计数器的初值 分别为 110,时钟频率为 1MHz,计数器计数频率为 1Hz。 用 FPGA 开发板上的按键作为计数器计数值的输出选择控制,数码管 (或 led)作为选择计数器的计数值输出。 2 目的 采用 RAM 实现计数器及 FPGA 功能验证 3 使
2、用环境 (软件/硬件环境,设备等) 前仿 modelsim 6.1f 后仿 Quartus II 10.1 4 FPGA 课程设计详细内容 4.1 技术规范 功能: 1 先由复位键从选定的 RAM 地址中读出预置的 8 位初值存入计数模块。 2. 由开始键开始计数, 暂停键暂停计数并同时存入 RAM 中以选定的存储单 元。 3. 双端口 RAM 为 10 8RAM 由一个地址切换键按顺序切换 110 个地址端 口。 4.系统工作流程: 切换端口 读出数据 开始计数 暂 停计数 存入数据 计数流程 5切换端口 读出数 七段显示译码器译码 输出到数 码管显示 读取结果输出流程 6分频:1Hz 的秒
3、计时频率,用来进行秒计时; 4.2 设计方案 信号定义: Clk_50MHz clk_1Hz reset clk_1MHz 分频:1Hz 的秒计时频率,用来进行秒计时 分频:时钟信号 clk_50MHz; 分频信号 clk_1Hz; 分频信号 clk_1MHz; clk clk_1hz dout 7:0 din7:0 start start reset 切换端口 读出数据 开 始 计 数 暂 停 计 数 存入数据 计数:开始计数 start 计数器复位 reset; 计数输出 din7:0; 计数置数 add; dout 显示模块 分频模块 计数模块 由 RAM 读出初值 dout 七段显示译
4、码器 数码管 RAM:10 8 的 RAM 存储阵列 10 个字每个子 8 位 输入端 输入地址 wr_address 3:0; 输入数据 din7:0; 上升沿有效写入信号 wr; 输出端 输出地址 rd_address3:0; 输出数据 dout7:0; 上升沿有效读信号 rd; 端口 I/O 功能 rd I 读使能,高电平有效;系统 使能工作,将 din 数据写入 ram的存储单元中 wr O 写使能, 高电平有效; 将 ram 存储单元中的数据读出 dout. Wr_address3:0 I 写地址 din7:0 I 数据输入口,内部接口 dout7:0 O 数据输出,内部数据传送 r
5、eset I 复位端,时钟下降沿有效 add I 计数器置数端 start I 开始/暂停键,高电平开始, 低 电平暂停 Rd_address3:0 I 读地址 rd_clk I 读时钟,下降沿触发 wr_clk I 写时钟,上升沿触发 wr 7:0din clk_50MHz 108RAM 计数器 dout7:0 3:0wr_address rd 3:0rd_adddress reset start add 地址划分: ain3:0 Ram存储单元 0001 0000_0001 0010 0000_0010 0011 0000_0011 0100 0000_0100 0101 0000_010
6、1 0110 0000_0110 0111 0000_0111 1000 0000_1000 1001 0000_1001 1010 0000_1010 4.3 功能验证方案 (1)验证对象及目的 本验证方案将描述对双端口 RAM 计数器的验证。在本文中验证指使用软件 工具对其功能进行验证。 双端口 RAM 计数器功能和指标的详细描述请参见双端口 RAM 计数器技 术规范.doc 分频模块 clk_1hz 计数模块 控制 控制模块:开始、暂停、返回初值,计数器显示切换 clk RAM 输入/ 输出 110 start En 置数 数 码 管 (或 led) 显 示 模 块 在本文所描述的验证过程中侧重对 RAM 数据的读取进行验证,指标