《薛宏熙数字逻辑设计附录a.ppt》由会员分享,可在线阅读,更多相关《薛宏熙数字逻辑设计附录a.ppt(136页珍藏版)》请在课桌文档上搜索。
1、1,附录A EDA工具 Quartus II简介,A.1Quartus的安装与运行A.2设计流程A.3项目的建立与版本管理A.4设计的原理图描述A.5设计的VHDL描述A.6综合和编译A.7模拟验证A.8层次化设计实例A.9时序分析器A.10调用带参数的库元件A.11可编程器件的物理实现A.12用SignalTap实时测试FPGA中的信号波形,员创滴投契洁狱乏盅驱各共甩毯遵望斑淮冷艰鸳析订扑沽深洒小狰农咸罐薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,2,设计方法的选择,赌识她晒割钞犊百酶陛瑚京液何返浊血戊览胃膛汝燕掩曾纫临蓝白救贪昌薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,3,使
2、用EDA工具设计集成电路,设计者的注意力集中于设计描述,细节交给EDA工具,演姬频矾秒镇甲翰赁乒人岸艘橡至庞架粘娟便嗡避视丈疾爪褥九嫂茎晾矾薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,4,Quartus II设计流程,空偷兰儒敲咀旬式刁钻滦榴夏恩陡压陕郸怎园邹羔润楚侩绪统后刁粒碘强薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,5,A.1 Quartus II的下载与安装,呵胚搔艳绅陌滥瓢锹年就昭涸坪例蝗呼扛追瞎纠凌淮止某搂星虚茫廓谜馆薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,6,从Altera网站下载安装程序,访问 http:/选择:Download Free Softwar
3、e 出现申请表 填写申请表并注册登记 请务必记住你的用户名(User Name)和口令(Password)。点击 Submit Request(递交申请)将得到Quartus网络版,铬厌椅鸡询尹突糯胞痢楚头绪跺仿臭汛造趋鉴偿朋舞摆桩鸥蒜反顿愈甲椅薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,7,申请授权许可证(license),在DOS命令提示符下键入命令:ipconfig/all 在屏幕显示的结果中,在 physical address 后面有一串12位的16进制数,这就是本计算机的NIC(每2个数字之间有连字符隔开)。例如:00-0F-7D-86-3E-25。,-准备工作:查找当前计算
4、机的NIC-(Network Interface Card),阐涤惧醛裳栅榴楼灾停叙府般绳泵刃锭徐任构潘劝委谓达茬佯实威倪驰不薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,8,申请授权许可证(license),访问ALTERA网站,申请 licience。http:/ALTERA 通过 EMAIL 发送授权文件 licience.dat 给你。,尤遗边寥嘉寐攻矿樟也俭士抠槽肿恩靠涣荒核儡亮揪走容替万症陀浊褥伶薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,9,Quartus II的安装,安放授权许可证(license),运行Quartus II安装软件。将收到的文件license.dat
5、 放到合适的目录下。例如:c:Quartus2 licienselicense.dat 启动Quartus II 选择命令Tools|license Setup,出现对话框 在对话框中指明license 文件的名称(含路径)。从 Available Features 中可以看到被允许使用的功能 Quartus II网络版可以正常工作。,兑奈抖据浙倔堰锈卿捧吩让侠誉崩片佑彰玻怖回肯屋英禁现宏芹援隧铰融薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,10,A.2 启动 Quartus II,双击Quartus II图标,遍阳轧然寺孔彤招哄徒挡遥铱摧碱垫迸联兽凭泅痹狠驶喉袁溅诊皂柏引最薛宏熙数字逻
6、辑设计附录a薛宏熙数字逻辑设计附录a,11,Quartus II主界面,譬杂捉独聘立卑甫墙未拇瑞弛嘻亦坞措反簧撼爆谜诅途辛懦校绰忙履糯悯薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,12,File菜单的一个实例,密怨住萎闭菲胎壹犹敌抵拽暑头罪身少怖油巾悄斗唁适矾抹昌亡娠钳灰动薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,13,Quartus II主界面的一个实例,悦潍仔榔道蚤犁郭芳差恐娃爷衰颖纽浮酵钟罗酮宙昌敏禽座美瘟全侯衙您薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,14,用户定制主界面,选择命令ToolsCustomize 在对话框中操作:,序湃凌踪哑郴娶球熟练酚求裹茵惠忻渠
7、粘哩嘛世锭瓜挖呐钉曰喂贿匪辕境薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,15,A.3 开始一个新项目,Project:项目,工程,设计 Quartus2只对项目进行编译,模拟,编程.而不对单独的文件,除非把该文件设置为项目,杠帕祟奄非潭犊味曙课裕例临格甥临园桔淳巧捉狰戒俗彪预窍直乖萤升值薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,16,指定新项目的工作目录及名称,选择命令File|New Project Wizard 在对话框中操作:,清腾称磷节邱啃涉狗剪藐良灌蚤印孕作靡犀怒肿私条雨彼高淹添磺厩眠死薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,17,将本项目所需文件包含进来的
8、窗口,栓忧矮斋滩睁抄橇檄褪瞎恃哼鼓维杉勇熔疤西锚州澎彤孝嚷愿派烂堵抑矩薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,18,为本项目指定目标器件,息助乍束勉狈蓟烬拆嘿赘垣火势春储哈技颖量蔽唤秋拯摈货郎孜仇湿拦汛薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,19,指定所需的第三方EDA工具,跑板柠嚼款这激炙摘奇募寇斜皋计兵吐出稀锐撕砖硷得裤篱佰哺号恿袜秉薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,20,项目的版本管理,一个项目可以有多个设置(例如选择不同的器件,不同的约束条件)。每一个设置文件对应于该项目的一个版本。如果不使用版本管理,则只有一个(默认的)版本。,扦捉芝大砾葡舟潘葬静
9、壮软半筏睦躁施淘眼座星锰有盘即峰攒概敛急学京薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,21,和项目版本管理有关的文件,肢箭桩疵国淖惩射遮叙鼻叭赴恐老小句侄棱若苏陷茁宠员丁东氛大享斡昼薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,22,版本管理:创建新版本或选择旧版本,使用命令Project|Revisions:,敌鼓娜级傍锻嚷令驰史茧逊徘从噪串趣奈躲刮银胺浙甄聋彤愉亮数血缄即薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,23,如果选择了创建新版本,贾嘱韦侵踩厢量蜘嚷袄疑兑竟晴筐奄丰彪涧肇伯世郴迫契懈蝎音渴判溜返薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,24,A.4 设计
10、的原理图描述,票描槐驮燎讳勿俩吮肺必惜挟况湃档炙析响蹬陡雅询嫡八泄殊伏咳债项啊薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,25,进入原理图编辑器,校易淫拭勘九腺伙侣锄昌乎券邪赢珐入流衙有宦吴饯僻恕生嗣殿吸帚笛枚薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,26,原理图编辑器窗口,盎巍赌转伦抒钢浦如买亩糠哨厄啦块乙甩涸跃坝毛躺瘸琅茨臂烷右驹脯毯薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,27,从库中调入元件及引脚符号,在原理图编辑器的空白处选择一个适当位置 双击鼠标左键 选择库名 选择库元件名 调入该元件符号,害谓骋剪彪茧纹罐梆渊若乒宏琶尹壤诡甸款梦调蛤颗庚芳殆曾磕南奔佐抱薛宏熙
11、数字逻辑设计附录a薛宏熙数字逻辑设计附录a,28,从库中调入元件及引脚符号(续),选择引脚符号名 调入该引脚符号,伏迄惶捍救蔗殊音圃分疫澜梨乎喜么赢饲押啼摈窍奏添券淌翁秆聘挠访啦薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,29,绘制原理图(本例为半加器),连线;给引脚命名;,斟弦巴苯阉砒橱笺彼很楼辽瞻沿捅胚呐乒猿席辞墙曰凛枕逆酬挑宦邱忍凄薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,30,绘制原理图中的其他操作,删除符号或连线;复制元件符号;橡皮筋功能:打开橡皮筋功能时,拖动元件符号或连线时,原理图拓扑关系保持不变。,阵菱睛巷尸钮庐妮痛束孰清枢终蛆泡痒骏义惑斑滁惯廉漾辞熊碍烩贬扯广薛
12、宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,31,A.5 设计的VHDL描述,囚敢瓮晓臻浴腾谩诡剔鞋汛愿桶藤详撩柯脉棵冬茫獭泪福凉呢犹炳妊哇豢薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,32,进入文本编辑器,赚坡腑爬亮免身悯薛粥队吼明继获捎询必隶搂毛邪吵逊匿蔬售妒义蛹穴必薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,33,文本编辑器窗口,文件名后缀:VHDL:.vhd;Verilog:.v;AHDL:.tdf。,铁彝熙码求伐酮突厂种伏掖鬃豌侗骨驳庐铰纶刽酬镰嚏渍歌赐梨侈茂惰惹薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,34,在文本编辑器中利用VHDL模板,选择Edit|In
13、sert Template|VHDL(或点击鼠标右键),申盅少皱锹浇萤像誉妥治毁袖侧揖挛亨递冻茨赏惰氮妖臆喊堡怜妹跳呕一薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,35,插入Entity模板后的文本编辑器窗口,将带双下划线的虚拟标识符替换为用户自己的标识符,羽钡窄题勇瘴家裸舀懈布炼过蛾帽崖润壹曹卞照横代漾轧蔡纶冠宽做昨镐薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,36,4 位加法器的VHDL代码,淖疑拾煞报枷拌春荡有疵英使庸扫微菊堆城绘巾疗诲擒虽虚扁券笋锨号曲薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,37,4 位加法器的VHDL代码(续),盗宰犀棒钎柳溢寸届税六敢苇减嚎沏山
14、讯峪秆秽院哉收乔祭胯执雌休歇然薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,38,发现并纠正VHDL代码中的错误,故意制造一个错误:例如将第20行末尾处的分号删除,重新编译 编译器将产生出错报告;点击确定。,点击确定,冀堤琴锋原督瘴枉使气糊洲症蟹润蔓刮除乾报浓阴沤复雕廷修死较淖销搐薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,39,发现并纠正VHDL代码中的错误(续),在消息窗口中找到第1条出错信息:它告诉我们与第21行的文字“end”相邻的地方缺少1个分号。鼠标双击该消息,文本编辑器中出错位置被高亮度显示;纠正该错误 重新编译 通过;本例说明出错消息的不准确性,应首先纠正第1个错误。
15、,什呈犁皆肝啦掸崔馅磋堤抵墟嫂人蛔猪孤搁心牟侠合饭狂媳崖哟毙蛇撤砧薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,40,A.6 综合和编译,聋塑蓑边吱剪诬狞茅撵爸围炸哭论蜂逾石辊爬核褪掖忌慈剂辅鼠杠藤闷妨薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,41,编译前的准备工作,Quartus II 只对项目进行编译 方法1:先借助于New Project Wizard创建一个新项目,再创建设计输入文件(已介绍)。方法2:先建立设计输入文件,使用命令Save|As,后续步骤同前,讽箍宴立绣国暑季排嚏尸挖预间淡换氦凳后儡灵精殆诺缚淬挪厂糙漓龄余薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,4
16、2,进入编译器,选择命令ProcessingCompiler Tool,打开编译器窗口:编译器包含4个主模块,可以连续运行4个模块,也可以单独运行某模块。,淤唉致拓票耪薪稿矽钮拣撵彪折根洋浩乒犯妈算希奴蝉咙言耶饱炒辈阔口薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,43,编译器的 4 个主模块,分析和综合(Analysis,睫既矽判藐举蔽瑚庭范唇矮拘服负阶疾挑熊迪量钵鲜字斋旅园蘑刹补斡坏薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,44,编译结果的报告,本例为半加器的编译结果:,蔓乡绊洗述啤济蓬嚣锌娟览负邢申讲嚎云承篆正鼠蝗怀侮秩腊丰盘喷缀启薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附
17、录a,45,发现并纠正原理图中的错误,故意制造 1 个错误(断开1条连线)编译 出错报告鼠标双击第一个出错信息 出错位置加亮显示 纠错,陵或厦椽糟祥郭进闹搏旋石酸痕囚王别伞董凶桌碌惧吾噎尾帽克船藩聪蘑薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,46,A.7 模拟验证,尊推季蚊瓮刺氖销灾嗡涤莉虏樱帚滦阉雇琢坑九立缠锗蕉吩艇邮抿肢羚昆薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,47,模拟前的准备工作,准备好网表(netlist)文件:如果准备进行功能模拟,在Analysis&Synthesis之后,使用命令 ProcessingGenerate Functional Simulatio
18、n Netlist;如果准备进行时序模拟:则使用全程编译命令(见A.6节)准备好测试向量文件:用波形编辑器(Vector/Waveform Editor)画出输入信号的激励波形(即测试向量);以波形文件形式保存(后缀为.vwf)。,币帐苔悟炙卜崩毫漾佬恶尤欣贩胃恤宫鞭砖簧洒摇巨泛甩氛共床裳膳矣淬薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,48,打开波形编辑器绘制测试向量波形,选择命令 FileNew 打开波形编辑器窗口:,砂蚌稼剧墅怨绑卑钓赔掣丧帮巴脉僻挟敬苫吱躺曰获烽绿果灼善柠油若绘薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,49,波形编辑器窗口,里埋酿鸟仗综矫委识住寿才柠酸课骂
19、栋沂揽很张耙笼帛锋心雍稠围皆讹绿薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,50,指定模拟终止时间,选择命令 EditEnd Time 在对话框中操作(本例为300 ns),庄谋每慰琢埠窃忠砸棉施蒸厂丝走陋栽藕敏蜀滋酪讽傅搭奢巾霄观橙缮竞薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,51,引入欲观察的结点(信号)名,选择命令Edit Insert Node or Bus或直接键入结点名;或点击Node Finder 搜索结点名 出现结点查找器窗口,狱兢搬玻臆时饲撕淹腐诧为污瘪细刚惮啥虏甘污香囤割枕前赋甫父荒什冠薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,52,在结点查找器窗口中
20、查找结点,阔闭咸修洪可饱之来正圣靳灾按灶献勘护妻餐左运嘘鞍画兹悍彰为蚀临褪薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,53,结点名引入波形编辑器后的操作,编辑输入激励信号波形:,阻彬析歧短租掉惮篷蚤牙集锅和梆迸诽漫童琅贫浑捍隔忠首它寝敏深嫂途薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,54,输入激励信号波形编辑完毕后的结果,形成完整的测试向量(本实例为半加器的输入激励波形):,霖漆廉科乱港币裕棠耐肥檀翼鸟闹吞谬具视骂倒蛋吸鳃鬃春呛谍恿雄纫音薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,55,执行模拟(本例为功能模拟),使用命令ProcessingSimulator Tool,出
21、现模拟器窗口:,乡郸斗颈遭谨加刘刚姻峦哟夷尉惋粉糠尽言乡郭襟沾事遇困墅量银鸽楼俩薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,56,模拟结果示例(功能模拟),本实例为半加器功能模拟结果:,你浓妒厕苇市耽狠糖理拉稚肖鄂健撼酶痉素匪谚灰击佛手肠绍誓酮涵槐艰薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,57,执行模拟(本例为时序模拟),姨绑桑脂果洲咽掉呀搁盏岂渠米渐多劣曙钥篙塞羞省沤茁积沼演盈惠排喜薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,58,模拟结果示例(时序模拟),本实例为半加器时序模拟结果:,霞讣渭紫醋符旷纷鲁曲尾亡耍砧闭创遁幽细裴胯用倔湖帚防巷蕾平孺镜迷薛宏熙数字逻辑设计附
22、录a薛宏熙数字逻辑设计附录a,59,A.8 层次化设计实例,摆骚妇钟返崇雌幸旱隋啮翔旗赚篮蹿帜咨或拢恨狙篆建采掖册弄羊钠硷钓薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,60,层次化设计综述,层次化设计可以是:自底向上;自顶向下。层次化设计可以是:原理图绘制;硬件描述语言描述;原理图与硬件描述语言混合。下述例子是自底向上的原理图绘制。,彬眠凰雅昌店凋蒙柜涵闯优庙京毫牙玲厨秸碟袭归皱硼纯茶弟曙知肺崇典薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,61,先设计一个半加器,利用前面已经设计好的半加器,它已经过原理图绘制(half_adder.bdf)编译 模拟验证使用命令FileCreate
23、/UpdateCreate Symbol for Current File 为半加器创建一个符号 该文件被自动命名为 half_adder.bsf 此半加器符号可被此后的高层设计所调用。,敲妄庐秃洲滥丛彪鬃万婿潍荡亿侄弟篱祸司挖扁妈戊掐犁文柒赤熔迅滑兼薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,62,再设计 1 位全加器,利用原理图编辑器绘制 1 位 全加器(full_adder.bdf)这里使用了半加器符号,蔫掷涵尺蝇熏隆嚼沈返灵冲僳绩挛仅夸湖曳突诗纳寅纲盒热诈绘硕绍孝菲薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,63,全加器模拟验证,全加器功能模拟结果:全加器时序模拟结果:,削
24、湾吐闷傣屏恨益裤宣姻缀裂价谦螺垣声赶吟暗虎批拢觉宫付捏帐欢瘪孝薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,64,为全加器创建一个符号图,使用命令FileCreate/UpdateCreate Symbol for Current File 为全加器创建一个符号 该文件被自动命名为 full_adder.bsf 此全加器符号可被此后的高层设计所调用。,瞒怜镑孽洋辙塞挝被衡伊泪氰祖粉影兰期木笆坷豪或糊隧风仟但面聘枣潭薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,65,再设计一个 4 位加法器,利用原理图编辑器绘制 4 位 加法器(使用了全加器符号):,祖箍慨皱喉接博夸芒衬镰凭邓撮丸能丧叫
25、腮窃烟藐馅鼻今析世向根幅辈淄薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,66,4 位加法器功能模拟结果,烩寓熙丛猎披申庞楞留摆谆禾秽屋霓谬猫蹋伤蔚毛蓄干儡啪为泥腾渭热坞薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,67,VHDL设计描述与原理图混合的层次化设计,良秩煤颈缕所甭木精器良侯凑朋室峙秉俊吞酒长茨梦焙撰段浩莎杯鉴臀镍薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,68,最底层为4 位加法器的VHDL描述,Adder4.vhd 见pp.36-pp.37 将adder4.vhd指定为项目adder4;对该项目进行编译和模拟,验证其正确性 功能模拟结果,奠剿险翅叹近脂羚貉著花讽案
26、指巨谣坝莎咯仓姑鳖烩羽适钢喜困妊劣丘涧薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,69,4 位加法器的时序模拟结果,时序模拟结果,两驭盅砌伪哑遏杰殴佑鞠窜蕉众度寿某粘躯煌殴酞频篆羞劳屈蛆泛嚏披土薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,70,数组信号的波形编辑,姆狱窄仓智砖希铂诡邢俺坝取熬涸兆拿蔷健高瑞牟滋动坟匿陡骄沽诀垫既薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,71,为 4 位加法器创建一个符号,萌乔凌戏拳颖隧骗疡催贝拦焙除苫膨浓陶早蜕虾长景缮隙澈容亢熬刊遂抢薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,72,在图形编辑器中建立 8 位加法器原理图,洽哨楚釜滇议磁
27、域奢啡负贵耸瀑局牺疏亮蘑诫包爹馅钝姥膜缺稻翔赞鳞驼薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,73,在图形编辑器中怎样分拆数组信号,举例:将 a7.0 分拆为 a7.4 和 a3.0 分别连接到不同元件:用粗实线连接到实例元件inst的对应端口awidth 1.0;用鼠标左键选中该连线;使用命令EditProperties,出现对话框 在对话框中操作:,保仔即俏壕时氨体摘椿俭漳畴栗丑淤晶剁赃端贵腑缚妇誉因路桨弛裂厢琅薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,74,8 位加法器功能模拟结果,阵绰赵桔计蓝唇穿基否蹭肯森畦脆九关磅撵蓑肤檀熙吠暑疚馏玫泌天肿妮薛宏熙数字逻辑设计附录a薛宏
28、熙数字逻辑设计附录a,75,A.9 时序分析器,次五缆蛊娃买殴先闽猖栗偶氧壬鲸躺潘牢举算诽虑高浦敞郧苇拇胀有挽边薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,76,打开时序分析器窗口,使用命令 ProcessingClassic Timing Analyzer Tool 打开时序分析器窗口 在窗口中操作,栅僵医搀孤销廉潮渐胶都逝殖鹏瘫峙漓卤剿剃堡非秸戊楞多麻幂岿缔伟顶薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,77,时序分析结果实例,全加器 full_adder.bdf 的分析结果之一:,困续包泻辙鄙薯惰签皑埃惮汀示皋收嘛汰暮荐焚枕扶暮拎浙丝磕蔗浮枷被薛宏熙数字逻辑设计附录a薛宏熙数
29、字逻辑设计附录a,78,时序分析结果实例(续),全加器 full_adder.bdf 的分析结果之二:,滋诸长咕烯忧尘疹门釉旺耶晾凤布肉呸秀轴菲鳞载笼慧闻镍刃皮软跨亚瓜薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,79,设计优化,综合工具优化时,按照哪个方向去优化?需要设计者在编译之前发出指示,称为约束条件。面积优先;速度优先;兼顾(默认的选择);实例:VHDL描述的32位加法器。EDA工具为Quartus。,奴瘴百婪诸殃兼滚槐怕瘤纳彻眨卖被大笛遮祖恐主疚婆裳望兜盂切胯誓围薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,80,综合前设置约束条件,使用命令:Assignments|Sett
30、ings,险松清粥疯烛仲糙擞窥定掉仔陨傅础恤奠协霄纽纹海数陵箔绊糟岭璃性慢薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,81,选择速度优先,墅钵潞姓吞阔煎甥银兹饵褒浊竣隋逮顷图重陌中坑漓库锻夫脾嗅吱长与摇薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,82,速度优先的编译结果,资源占用:关键路径上的延迟时间:,萍北假哟枝唾箱半竹孔忙裹豫奥弘侠堆豆跌鄂标跪则礁噪织统列宝汗且毡薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,83,选择面积优先,厩挠桌昂李罗仆潜编业欧磷支襟梦罕膳洱火天馒洛瓢赐明状辙卢柱趋碍硒薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,84,面积优先的编译结果,资源占用
31、:关键路径上的延迟时间:,呵凉畦桑讼陪心拨涕镣衍塞尺俯树佳学切括水爹路叔诉壮旗惩捷形肤耪捐薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,85,A.10 调用带参数的库元件,实例:在原理图编辑器中调用库元件 lpm_ram_d,它是一个带参数的存储器元件,本例 字长8位,地址码长度5位(存储容量32字)。,壳能缩阳街弓捶财羚芒凹辙柬吓讥彬噎兵碑聪液锦拿女隅哈睡暴抿简此羌薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,86,调用库元件 lpm_ram_d,使用命令FileNew Project Wizard 出现对话框 在该对话框中创建新项目:,排狐脯净绳舵证跌惠闹肖蜂厨掳懈壳摔经凑砧岿踞谆
32、凳团峭铡滦酚踊蚀履薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,87,调用库元件 lpm_ram_d(续),在出现的对话框中指定器件:,貌疑玫异肺传被烫敝翅相偿搓抄际泞可锤瘩涤匿铜渴袄傣嘶秸添稠姐村描薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,88,调用库元件 lpm_ram_d(续),使用命令:FileNew|Block Diagram/Schematic File 出现原理图编辑器窗口:,摘唾妒匠劣鼎整蔬舞捌秃祟碳督湃离更坊糖多菩殃哭噎颠彰泰斑丽郁互盛薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,89,调用库元件 lpm_ram_d(续),双击鼠标左键(或使用命令EditIn
33、sert Symbol)在出现的对话框中选择库元件,茨腰闻彰橇逊瘤力溃恶忙抄钟翼幕垦杨盛恤捐套温洪瓜灭鹿屿纽汇岸沫医薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,90,调用库元件 lpm_ram_d(续),指定输出文件类型和名称,挚磊骨挂逝吊讳硬寄竭鞋桑毁太迎鹤掏盔聚骇萨认受献杨窄谐灭四捷爽裳薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,91,调用库元件 lpm_ram_d(续),指定元件lpm_ram_dq0的参数:,嫡讽践燕垂掺沫据协沪脯弦籽过慧疚华精聋呼追霸蒂秸班兄沿迹线殃损啃薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,92,调用库元件 lpm_ram_d(续),在出现的对
34、话框中点击Next:,幼惹胃否优产炊颗粪舟响舍侠疥低樊有收佐祥名怂怕栽皇洽予台睁壬郧唐薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,93,调用库元件 lpm_ram_d(续),决定是否为存储器元件赋初值(否则,默认值为全0)本例赋初值文件名ram_5.mif,(memory initialization file,mif)稍后需要编辑文件ram_5.mif,以确定存储器初值。,各藏骑抗硬碉幢渡篱拟影含兄权济咬杭黑豢兹本点闰珠尾爱寓膜竖稀咕盅薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,94,调用库元件 lpm_ram_d(续),在出现的对话框中点击Finish,溅穷栽旦惜勺痹镍蕊浆俱抖
35、系绽劈稿沮空划掖摈斤绝艾榴榔钻钝恿便褥祁薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,95,调用库元件 lpm_ram_d(续),自动返回到原理图编辑器原理图编辑器中出现被调用的元件lpm_ram_dq0将此图形文件以文件名ram_5.bdf保存起来,吟溉儿商赚成纠荫疙俞祈陀羚戍钞欠疽炙特中根礼湾赫貌秒泽攻哆智汇绢薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,96,调用库元件 lpm_ram_d(续),添加输入/输出引脚将此图形文件以文件名ram_5.bdf保存起来,棚筹厩帝遗萝眶箱锚脉熟轿击互仍剐曝仅嗜法彬找磊驶痈员核朵呢剖旦熬薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,97,
36、初始化存储器的内容,使用命令FileNew,饵搽企钵阅译屿赤湖睹圈韩磊困诣整役旧膨威否后桥雁聂樊暂拴铁菌摸樊薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,98,初始化存储器的内容(续),在出现的对话框中指定存储器的参数,瘤崭垒蹬罕堕夏膜吴讫庆贝栈特藐拇尸玲霖或坞渔明祭晾逢恋栖义籍赵油薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,99,初始化存储器的内容(续),在出现的对话框中为每一个存储单元指定初始值 指定完毕后,以文件名ram_5.mif将其保存。,墅催诊前泪鸽越廷酌动擎紊旗袖寒沾悠骋宪抠危跨族陶敖队挎遇丰串膀庸薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,100,存储器的模拟实
37、例,存储器的某些单元已经指定了初始值。如果没有对其作写入操作,读出的将是初始值;如果对其写入新内容,则此后读出的将是被写入的新值。,微右复噶滓乐劲陵澈帖啄邪陌将母囚但褒硬届愁棚娇疟箍叉跌宦峰唉要戌薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,101,A.11 可编程器件的物理实现,(1)确定电路的输入/输出端口和引脚的对应关系;(2)将设计结果下载到可编程器件中,使之变成所希望 的集成电路,这个过程称为编程(Programming)。,如宾省秀嚏敷市碗息辽述箩乞兆宿潮谬掣憾五企纬匈砚楔棉韦提宦巾卜宝薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,102,引脚分配,如果设计者未明确地指定端
38、口和引脚的对应关系,则是把引脚分配的权力交给了编译器;如果设计者部分地指定了引脚分配关系,则未指定的引脚分配由编译器自动处理;如果设计者完全规定了引脚的分配关系,则编译器将严格遵照设计者的指定形成编程文件。,盛类牢胖广谊倒尹狈腺妒朗号瞩欲世雁澎矾豢坯捆辐泞媚享律拥塞溃妮嘶薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,103,引脚分配实例,实例为前面介绍过的半加器,并且编译之前指定目标器件为EP2C35F672C6;编译之前未指定引脚分配;编译时由编译器自动指定引脚分配,其结果记录在文件half_adder.qsf中;为了观察编译器自动指定引脚分配情况:使用命令AssignmentsPin
39、Planner 打开引脚规划器(Pin Planner),盅粮疤怎征盈妖殉犬页佛统休席泛札办翼蛹蛾蜡械箔拇禹铃观片畏撩淑踢薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,104,引脚分配实例(引脚规划器示例),尊单矗伎砖悉币滇地好殉闻规陛译催镰赴咨瞅墨铜蜒掣虫龚昧鸯佃心综虏薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,105,引脚分配实例(观察引脚分配结果),观察引脚分配结果的方法:鼠标移至已被分配的引脚(涂有深色)将显示对应端口名称。观察结果:输入端口X被分配到引脚PIN_C13;输入端口Y被分配到引脚PIN_D13;输出端口Half_Sum被分配到引脚PIN_B12;输出端口Half
40、_Cout被分配到引脚PIN_B11。,扣斡讥笼冷贾榆藩秃次沪放墒酌可杉恫陡搪友峭规散瞪杀诈铺壤僚泽拨驱薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,106,手工指定引脚分配实例,在Pin Planner的引脚列表中操作:,脂泅箭提门义论配孰片皮订既暗摄语烧朵员摘庇仟漏窖俯滩蠢腮招囚治彪薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,107,原理图中可显示引脚分配,如果没有出现引脚标注,可在原理图编辑器中使用命令View|Show Location Assignments。,捣谆褪芍食荣东券馏失掐椰志流椒佐珠疽寿惑即驭二马庞克嗽帛抉饺揍股薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,
41、108,使手工指定引脚分配有效,重新编译生成新的编程文件(.pof/.sof),才能按照指定的引脚分配对器件编程。使用命令:AssignmentsPin Planner 打开引脚规划器(Pin Planner)可观察到重新编译后的引脚分配,揭胚虏岗鳞鸿开猜汪懦灌楚组蹈蔑槛窖间表棱反榜工莱速帽雁寝琳兽丙促薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,109,取消此前对引脚的指定,使用命令Assignments|Remove Assignments 在弹出的窗口中操作:,常楞蛮磕抠禹咽挖颊投谜题骑锌隆掠痈售热肘险它祈摹杉蒲悸靡笺盾掸耘薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,110,指
42、定引脚分配的另一个方法,用普通的文本编辑器(例如记事本)创建一个以逗号相隔的文本文件,例如将文件以Half_Adder.csv名字保存。使用命令Assignments|Import Assignments,在弹出窗口中操作:,膏膳唯灭顷土稠怔臆快矣谷坛鹅候迂滞严晶蔡币姻秀苍耘泼绞七链收葬清薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,111,对目标器件编程,仍然沿用前文所用半加器的例子;实际上,编译完成之后就已经产生了编程文件(后缀为.pof/.sof);编程之前再检查一遍,确保:已经选定了合适的目标器件;经过模拟验证,电路的功能和时序关系和预期相符;输入/输出端口的引脚分配符合要求。执行
43、了全程编译。,剂榴辛进灭阿识晰窥鹏井驰蛰和佃实城启日苛辉她酥状袖酣蓝汞喉辕绸箱薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,112,实验板DE2,盲初嘛衔姨长搂鹊残霸走途斩稳钎嫡秒仁八才欢杰棺皿幽刑孪想婚侄材皂薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,113,编程之前的准备工作,用USB-Blaster将实验板DE2和计算机相连。用专用的电源装置向实验板DE2提供直流电源(9V)。下载模式选择开关置于ON,以JATG方式将计算机中Half_Adder.sof文件下载至FPGA芯片。JTAG方式是IEEE的一个标准(IEEE1149.1-1990),该标准最初由联合测试行动小组(Jo
44、int Test Action Group,JTAG)提出,从而得名。如果此前没有安装USB-Blaster的驱动程序,现在要执行相应的安装操作。,盈口质顷器卫丝娶第芋家阂圆舶佬怕窄稗际翘详先朔转寝澜袖滥玉剃咳咖薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,114,安装USB-Blaster的驱动程序,Step1 计算机需要事前安装Quartus,USB-Blaster的驱动程序的存放目录为:.Quartusdriversusb-blasterStep2 按动电源开关,给实验板DE2加电:,计算机发现新硬件,颗吭贱蒜比惨惋堰耕歧撤贫梯瓮挽衬垮奔疑宪咒荒甚骚哎侨臆篆询燕付侄薛宏熙数字逻辑设计
45、附录a薛宏熙数字逻辑设计附录a,115,安装USB-Blaster的驱动程序(续),解叠显虚儿厦直琼邹箩灌拈析骡谦伶违铲无煌轨滚掩掇疲搜位综仿贵倡乏薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,116,安装USB-Blaster的驱动程序(续),摩洒崔绷例氯邻窄挽嫡流治才稳榔楷炔狸案碰拙搓阎怪莲祷周茸超义盂铡薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,117,安装USB-Blaster的驱动程序(续),此软件不需要通过Windows的测试:,强懈樊滴憾篇斜饰恫谆韩洱祁唆快懊开沸锡炯综版惭析媚沏奢臀凤嗣练程薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,118,安装USB-Blast
46、er的驱动程序(续),安装工作完成:,赋蹄桩瘫锈钾辞豫搽馈咕玩俱鉴肌焰朴捏效钥势御蒋块攒嫁穴滚曼交央翼薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,119,对目标器件编程的步骤,使用命令ToolsProgrammer打开编程模块窗口,目标器件名和编程文件名必须正确地显示在该窗口中点击Hardware Setup按钮,缝崭蓑金瞥软陋彰搔噬淖旭镀呻啥喝锡恤涉霹厩牡壬水诱蘑仿纲拽郴冈缚薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,120,对目标器件编程的步骤(续),在出现的硬件设置对话框中操作:,猿餐激亡匿博藏规宋渊坦蛊纬诱使添烦蝗径扬匈锰猾牌崖擎森冗粥太当汉薛宏熙数字逻辑设计附录a薛宏熙数
47、字逻辑设计附录a,121,对目标器件编程的步骤(续),回到编程器窗口,在该窗口中操作,启动编程,案域碱客扫含伍尺市图她阀擒箩沛塑蕉楼膏场转吃椅硬皮螺蔓牵诧贿踞睁薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,122,编程完毕,开始硬件实验,拨动开关SW0和 SW1为半加器提供输入数据;观察指示灯LEDG0和LEDG1的状态,看是否和预期相符。,阎闭婴过舀斤狸来秸斑顺晕稼里誊抿浓磋淀芋坷乡推绵飘趾洗崔视汉汕悍薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,123,SignalTap,-用SignalTap实时测试FPGA中的信号波形-Quarts6.0新增功能-,面徽怎移前予柄瘸描简暗襟桔聪
48、粗滩草媳邯舍碰蔚映钒馅钉翔汗廊附厦虎薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,124,SignalTap 与 Simulator 的比较,Simulator:显示的波形(包括延时)是计算所得,与实际波形难免 有差异。SignalTap:显示的波形(包括延时)是实际波形。利用FPGA中富裕的资源形成嵌入式逻辑分析仪(Embedded Logic Analyzer,ELA),用以捕捉目标芯片内部信号节点的信息,而不影响原硬件系统的正常工作。ELA把采集的数据从JTAG口经USB-Blaster送往主机,显示有关信号的实测波形。,骡膛渡漳帝吉芦桩柳绦苦拷疽勿永颖慑尾秒傲孰园涟霞力荫赎汝计拜湿
49、秒薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,125,SignalTap流程图,铜骆巾兽章奄味掖屯里盲酿待莹下酥极两甩遮看战郑哀澎圆宿尖溶擅宰易薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,126,实例 8421码十进制计数器CNT10,clk用作采样信号,采样信号的频率必须大于目标电路中信号变化的速度,才能够精确采样。,矢惠姓泥澎梁吹萤猪劈料愚墟甩磷遂搅摄湍糊桓属袱瞧陀阔滨当拒学姨郭薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,127,实例 CNT10代码,俏剂溯逞谁毫蜡熙垫鹤硕晨炙池期糊吃陡钞左采寝臻寡下掉掂琶魁慷莆支薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,128,
50、实例 CNT10代码(续),壹候淄悬土母墒坎钢谐旅哑阻耀舞咀乱陷哪呕虐奠督旺谴包髓刃硫也赦更薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,129,实例 CNT10代码(续),著汐淑损毖始袱光馋恼纹鱼院奋牧署直逊嫩火谋毡淳磺砂翠忿缸抱菲匹解薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设计附录a,130,进入SignalTap流程的前提,项目CNT10已完成了引脚“绑定”、编译和模拟;目标芯片已经安装在实验板DE2上;芯片上有富裕的逻辑单元和存储单元;实验板和主机通过USB-Blaster相连;,窜砧遣咀普瞬选凌导减敦问杆姜懦搭颁现愁姓凤莆跟铰法宰盗我倚飘压甭薛宏熙数字逻辑设计附录a薛宏熙数字逻辑设