收藏 分销(赏)

FPGA专题实验实验报告-西安交通大学.doc

上传人:丰**** 文档编号:4682491 上传时间:2024-10-09 格式:DOC 页数:7 大小:410.31KB 下载积分:6 金币
下载 相关 举报
FPGA专题实验实验报告-西安交通大学.doc_第1页
第1页 / 共7页
FPGA专题实验实验报告-西安交通大学.doc_第2页
第2页 / 共7页


点击查看更多>>
资源描述
FPGA实验报告 信息24 赵恒伟 2120502099 实验1:状态机 问题一:你觉得上面这段代码中,q 到底在怎样变化? 答:首先语句中缺少begin,q <= q也不合理;如果有异步复位信号,q=0;否则,如果有上升沿且a不等于1,q=q;如果有上升沿且a=1,q直接等于b; 问题二:本页中,q 到底在怎样变化? 答:复位时,q=0;否则q=d。 问题三:sync电路图: 仿真: 该电路使输入信号与时钟同步,并产生稳定脉冲信号,进行节拍分配。 四、红路灯电路系统框图: 问题分析: 东西南北都有车时,状态转换时,东西绿灯时间长于60s;三秒后,南北通行,绿灯时间少于40s。 计数器不能使用同一个,但可以减少触发器数目 实验2:数字钟 环节二 仿真时注意问题: 1.仿真1小时需要多少时间? 答:取决于输入信号clk的频率。 2.现在的时钟是秒时钟,实际系统的时钟是50MHz.那用50MHz的时钟的情况下,仿真1小时要多少时间?如何解决该问题? 答:1/50000000*60*60=0.000072 s;可以将输入信号分频。 环节三 1,复位如何输入的?按键防抖如何制作的?修改按键防抖的间隔会导致什么问题? 答:复位信号由clock顶层文件输入,按键防抖思路是使按键信号通过触发器进行延迟,持续输入十个上升沿才认为按键一次,避免了抖动。增加时间会导致按键时间边长,短按可能误认为是抖动。 2,数码管的显示使用组合逻辑输出好还是时序逻辑输出好? 答:组合逻辑好 环节四 :闰年: y1和y2分别为输入的年高两位和年低两位,y为年份,当cout=1时为闰年,cou=0时为平年。如果y2=0则y1能被4整除时为闰年:当y2!=0时y2能被4整除则为闰年。后面通过将y1循环加100次再加上y2得到年份y。 process(y1,y2) variable i:integer; begin if y2=0 then if (y1 rem 4)=0 then cout<='1'; else cout<='0'; end if; elsif y1 rem 4=0 then cout<='1'; else cout<='0'; end if; i:=y1; for n in 0 to 99 loop i:=i+i; end loop; y<=i+y2; end process; 实验3:SRAM 环节二、两种仿真的比较 lab/lab3/step1/memtest.vhd 用功能仿真和时序仿真两种方法,比较一下SS的状态数值的变化。 Functional: Timing 时序仿真中会出现没有定义过的状态。 环节3 添加地址管理 lab/lab3/step1/memtest.vhd 是写重要还是读重要?这个代码,如果读请求被漏掉了怎么办?如何防止? 如何保证写满之后不再写,读空之后不再读。 答:写重要,先把要写的数据存储下来。 如果读请求漏掉了,可以更改设计将读请求存下来,写完调用读请求,继续工作,即乒乓中断读取。 如何保证写满之后不再写,读空之后不再读。 答:在写之前判断内存是否写满,如果写满输出反馈信息,或者丢掉写内容;读出之前判断是否读空,如果读空不在输出,或者发出标志读空信号。 环节5 lab/lab3/step3/sramtop.vhd 该实验中什么速率? 答:串口通讯为115200。 实验4:片内RAM和FIFO; 环节2 参考step2的代码,打开lab/lab4/step2/iptop.vhd 如何仿真这个IP核?读请求发出后,数据在何时从管脚送出来? 答:将iptop VHDL文件设为top level entity,编译。仿真时,将其他连接信号赋值,观察输出。 芯片内部用到三态门,该如何实现? 答: 代码:library IEEE; use IEEE.std_logic_1164.all; use ieee.std_logic_arith.all; use ieee.std_logic_unsigned.all; entity santai is port ( d_in : in std_logic; en : in std_logic; d_out: out std_logic ); end santai; architecture behav of santai is begin process(d_in , en) begin if en = '1' then d_out<= d_in; else d_out<='Z'; end if; end process; end behav; 仿真: 实验5: 在线调试与SOC 环节1 生成signal TAPII lab/lab5/section1/ 注意各个触发条件是与的关系,同时成立才触发 为什么芯片一编程,PRESSCNT就变成1了。查查看。 答:因为 process(clock_50) begin if clock_50'event and clock_50 = '1' then sft(1) <= sft(0); sft(0) <= not outen; if sft = B"01" then presscnt <= presscnt +1; end if; end if; end process; 上升沿时初值转移到sft(1),使得 sft = B"01" 成立,于是presscnt +1。 自由设计实验报告 一、 设计名称:答辩打分器 二、项目介绍: 在生活中,经常会遇到一位选手展示,数位裁判评价打分的情景。在简单环境中,大部分情况是人工记录打分情况。为了实现打分的公平公正、简单省时,故产生了该项目。 现假情景设有一位答辩人,三位评委,答辩结束,由每一位评委给出3-100的分数(由于答辩人分数和已打分评委数显示在同一数码屏,所以评委给分不得低于3分,避免混淆),当第一位评委给分后,屏幕显示1,第二位给分后显示2,当第三位评委给分后,说明打分完毕,屏幕直接显示最终得分,此处以平均数为例。 得到最终得分之后,由一人 reset 清零,开始下一轮答辩。 信号说明:三位裁判输入的成绩:judge1,judge2, judge3 是脉冲信号 成绩缓存:judgeA,judgeB,judgeC是电平信号 最终得分运算结果:score_int 输出:score 状态分配与化简 记录输入状态[count] "001" "010" "100" "011" "101" "110" "111" 初态 化简状态 s s1 s2 s3 s0 三、FPGA在系统中的位置和FPGA内部结构框图; FPGA在系统中充当数据处理单元,进行各种运算;充当控制单元,控制状态转移和输出;充当存储单元,将输入信号存储下来。 FPGA内部结构框图; 输入 缓存器 运算器 输出 Clock 逻辑流程图: 开始 1 judge3 /= 0 judge2 /= 0 Judge1/= 0 0 0 0 1 1 1 judgeB judgeC judgeA judgeA+judgeB+judgeC)/3 score 四、完成程度及未完成部分或下布完善计划的讨论。 完成状态:基本功能全部完成 仿真结果: 设计过程中已克服的问题: 1. 输入定义为整数INTEGER,占用资源太大; 2. 两位评委同时输入,只能接收一位评委的分数,另一位丢失; 3. 输出score有一拍显示上一轮得分,之后才给出该轮得分,数据有延迟; 完善计划: 1. 解决在一轮里,每一位裁判不可以重复输入,不可修改的限制; 2. 添加内存模块,将历史数据记录下来,便于之后查证; 3. 增加初始设置功能,使用前可以设置每一位裁判所占权重,保存后,开始打分。
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服