第一篇:技术与设计1 通用技术一教案全套(加实验)[定稿]
胡杨精神学习
高三(11)XX 在祖国西北的荒漠中,生长着一种高大的树种叫胡杨。我双看到余秋雨先生曾这样赞美它:“胡杨树一千年不死,死了一千年不倒,倒了一千年不朽。铮铮铁骨千年铸,不屈品质万年颂。”胡杨是沙漠中的英雄之树,是中华民族坚韧不拔的象征,更是边疆精神的体现。
就是这样一种植物,在恶劣的自然条件下毅然立定于大漠之中,胡杨可以把根扎到地下几十米深处吸收水分,供给自身的生存,哪怕有一丝生长的机会,都会从根部萌生幼苗。当沙尘暴袭来,胡杨被摧残得遍体鳞伤时,它就会用自己的“眼泪”来为自己包扎伤口;“胡杨”有着一个弯弯的脊梁,这样是为了适应恶劣的环境。这种一息尚存、绝不放弃的精神,值得我们敬仰和感悟。
在这广阔神秘的大沙漠中,胡杨不再是一个坚强生命的象征,它更代表了一种精神,锲而不舍,百折不挠,坚韧顽强,固守着千年不变的信念。
胡杨完美诠释了我们学生、热爱祖国、献身祖国的奉献情怀。我们学生正是拥有像胡杨一样的精神与品质,成功克服了高原缺氧、高寒等恶劣环境和难于想象的困难,顺利完成了各项艰巨的任务,坚韧的扎根在帕米尔高原上,保卫着祖国的平安与辖区群众的宁静的生活。也许有一天,胡杨也会倒成一弯古道,一抹斜阳,但胡杨不倒的精神,永远会激励我们的勤奋学习顽强。永远会激发我们学习中挑战苦难,战胜命运的勇气和力量。
第二篇:通用技术《技术与设计1》模块试题
关岭民族高级中学
2011---2012 第1学期通用技术《技术与设计1》模块试题
一、单项选择1、1912年,在电灯发明50周年的时候,包括美国总统在内的500 多名社会名流在华盛顿隆重集会庆祝。爱迪生在经久不息的掌声中出场,他激动的说“倘若我做的工作给这个社会哪怕只带来一丝的幸福,那我也就因此而满足了……”这主要说明()A、爱迪生对自己的发明很满意B、技术具有两面性
C、技术活动能实现自我价值D、技术解放人
2、技术可以解决人类所遇到的问题,给人类提供了很大的帮助,而有的时候技术又会给人类带来一定的危害。下边所列出来得技术对人类的危害中,不是危害地球自然环境的是()
A、水土流失B、噪声污染C、酸雨现象D、胎儿鉴定
3、技术对人的解放作用表现为人依靠技术解放或延长了自己的手、脚……等身体器官,拓展了活动空间,提高劳动效率。下列技术的发展解放了人的体力的是()
A、B超技术B、摄像技术C、电视技术D、蒸汽动力 4、20世纪中叶,美国施乐公司发明的复印机掀起了一场划时代的办公室革命,公司为阻止某些公司的加入,先后为其研发的复印机申请了500多项专利。这说明了技术的()
A、目的性B、创新性C、综合性D、专利性
5、下列活动是科学活动而不是技术活动的是()
A、蒸汽机的发明B、B超的技术C、万有引力的发现D、摄像技术的发明
6、有两家公司A、B经营电器,A公司的某职员盗取了该公司的商业机密卖给B公司,这时A公司应以侵犯()告这个职员。
A.商标权B.商业秘密权C.商号权D.产地标记权
7、在人类社会的发展过程中,为了满足人们在“衣”、“食”、“住”、“行”、“交往”等方面的需求,相应产生了许多种技术。以下技术中,属于满足人们在“食”这一方面技术的是()
A、印染技术B、烹饪技术C、文字技术D、园林技术
8、以往电路图的设计都是手工绘制,烦琐且出错;随着电子技术发展,尤其电脑的发展,现在专门的电路图设计软件大大方便了电路设计,而且还可以进行仿真测试,这体现了技术与设计的什么关系?()
A、技术的发展为设计创新提供了条件B、技术的发展和设计无关C、技术的发展对设计不产生影响D、技术就是设计
9、同学用木条、乳胶等做了一个长方形的奖状框用来放置他们获得的荣誉奖状(如下图左)。他们发现这个结构容易变形,便提出了如下四种改进方案(如下图右)。你认为不合适的方案是()。
第9题图
ABCD10、2008年,国家认证认可监督管理委员会在对我国玩具产品强制性认证的专项清查活动
中,共撤销了问题较多的41家企业的62张强制性产品认证(CCC认证)证书。这个案例主要说明了设计应该遵循()原则。
A、规范B、道德C、经济D、可持续发展
11、用于金属材料和塑料的连接,或有间隙存在的金属件之间的连接往往采用()A、铆接B、黏接C、焊接D、榫接
12、以往电路图的设计都是手工绘制,烦琐且易出错;随着电子技术发展,尤其电脑的发展,现在专门的电路图设计软件大大方便了电路设计,而且还可以进行仿真测试,这体现了技术与设计的什么关系?()
A.技术的发展为设计创新提供了条件B.技术的发展和设计无关C.技术的发展对设计不产生影响D.技术就是设计
13、技术语言是一种在技术活动中进行信息交流的特有的语言形式,下列哪种技术语言是沟通设计和生产之间的桥梁,是工程施工和产品加工制作的直接依据。()
A、图表B、口头语言C、技术图样D、模型
14、光能手机应用先进的太阳能技术,机身表面被太阳能电池板覆盖,在阳光、多云、阴天、灯光、烛光下,均可随时为手机锂电池充电。光能手机的研制与开发,体现了下列选项中的()设计原则。
A、安全性B、美观性C、可持续发展D、技术规范性
15、在人行天桥的设计中,通常要在阶梯两边安排一定宽度的斜面通道。这是为了()。A、美观B、满足不同人群的需要C、提高强度D、节省建筑材料
16、我国的知识产权制度保护了发明者的创造并赋予发明人一定的权益,使发明者能设计创造出更多更好的新产品。下列不属于知识产权保护范围的是()。
A、经营权B、著作权C、专利权D、商标权
17、在人类历史上,总是有人幻想设计“永动机”,以提供“没有本钱的能源”。“永动机”的设想一直持续了几百年,无论是从物理的方法,还是化学的方法,都没有成功,这样的设计为什么会失败()。
A、它们不符合技术的目的性B、它们不符合技术的创新性 C、它们违反了基本的科学原理D、它们没有技术专利
18、以下没有侵犯知识产权的是:()A、单位买来的正版软件光盘,刻录多份后分发给员工使用;
B、小张将某个公司的商标图案作为自己个人网站的Logo(标识);
C、很多中华老字号的中文域名被抢注,这些企业不得不花钱从抢注者手中买回域名; D、小王将自己所在公司的一些商业秘密告诉公司的竞争对手从中牟利。
19、下列选项当中,属于技术活动的是()A、研究广义相对论B、验证牛顿运动定律
C、实验验证万有引力定律D、“神州七号”飞船升空
20、徐明设想要对自己使用的普通手机进行改造,既在现有功能的基础上增加手电照明功能,以方便夜间行路照明。这种改造属于()
A、原理创新B、功能扩展C、新技术应用D、外观设计
班级 高一()班 姓名学号,通用技术《技术与设计1》模块测试题答题卡
一 选择题(每小题3分,共60分)
二、简答题(21小题每问2分计12分,22小题每问1计6分,共18分)
21、分析下列技术的产生分别满足了人的哪些需求。2.任选四种技术,分析该技术分别满足了人的哪些需求。
(1)印刷技术。(2)冰箱制冷技术。(3)纺织技术。(4)建筑技术。
(5)B
超技术
。(6)摄像技术。
22、连线题
三、分析题(每小题6分,共12分)
23、A市电热水器生产厂发明了一项高温预热式电热水器,在室内气温太低时,启用时可以先喷出高温水蒸气(达150℃)将浴室内温度提高,当室内温度达到一定温度(如20℃)后则停止喷射高温水蒸气,自动转入正常供热水洗澡状态。该产品开始很受北方寒冷地区用户的欢迎,但由于外壳受潮后会带220V交流电,而且喷出高温水蒸气的控制技术不够可靠,在洗澡时,间或喷出高温水蒸气,造成伤人事故,后来被迫停产。请分析,为什么?
24、在《三国演义》中“空城计”讲的是,诸葛亮因错用马谡而失去战略要地街亭,司马懿乘势引大军15万向诸葛亮所在的西城蜂拥而来。此时,诸葛亮身边无大将,只有一班文官,无法守城,也来不及撤离。于是,诸葛亮令人将城门大开,头戴纶巾,到城楼焚香弹琴。司马懿见状,十分疑惑,即下令返兵。其子司马昭问父亲何故退兵?司马懿说:诸葛亮一生都很谨慎,不会冒险。今大开城门,必有埋伏。在这个故事中,诸葛亮运用了什么思维方式?司马懿运用了什么思维方式?根据这个故事,对“空城计”能否取胜进行分析。
四、作图题(10分)
25、作出下面物体的三视图
第三篇:《技术与设计1》 创新原则(教案)
学习目标
理解设计的一般原则;理解设计的一般原则之间存在相互关联、相互制约的关系;初步学会用设计的一般原则来评价某个产品。
“不以规矩,不成方圆。”要设计好一个产品。除了要经历一个科学合理的设计过程外,还应遵循一些基本的原则。在长期的设计实践中,人们逐渐总结出创新、实用、经济、美观、道德、技术规范、可持续发展等设计的一般原则。这些原则往往互相关联、互相制约、互相渗透,并体现在设计过程的各环节之中,成为指导设计过程和进行设计评价的基本准则。
1、创新原则
设计是人类为了追求美好生活而进行的创造性活动。它改变了人们的生活环境,改变了人们的生活方式,同时也促进了社会的发展。那么什么是创新呢?创新就是通过引入新概念、新思想、新方法、新技术等,或对已有产品的革新来创造具有相当社会价值的事物或形式。如创造一种新的产品,或使已有产品具有一种新的特性,或采用一种新的生产方法,或以新的商业方式来处理某种产品等。
案例分析
洗衣机的变迁
洗衣机是每个家庭都熟悉的家用电器。最早出现的洗衣机是用手来操作的,那是一个带柄的不漏水的箱子。洗衣时,将衣服和水都放进箱子里,然后转动手柄来搅动衣服。1907年,美国工程师阿尔瓦?费西尔设计出了第一台电动洗衣机--“托尔”,它利用一个圆筒的来回转动,使衣物翻动洗净。这是一种真正节省劳力的设计。随着工业技术的发展,利用机械代替人从事繁重的劳动成为可能。此后,洗衣机又经历了由单缸单洗到双缸半自动,再到全自动滚筒多次变化和更新的过程。
讨论
1、洗衣机的诞生和发展给我们的生活带来了什么?
2、比较相邻形态洗衣机的发展变化,并填写下列表格。
比 较
手工洗衣与 手摇洗衣机
手摇洗衣机与单缸单洗洗衣机
单缸单洗洗衣机与双缸半自动洗衣机 双缸半自动洗衣机与全自动滚筒洗衣机 主 要 变 化
创新是设计的核心。一个产品如果没有任何新意,就很容易被不断发展的社会所淘汰。生活因设计而丰富多彩,设计因创新而魅力四射。
设计过程中,一般可从原理、结构、技术、材料、工艺等方面考虑改进和突破,以实现创新的目标。要实现产品设计的创新,除了要最大限度地发挥人的智慧外,还应注意利用最新的技术成果和现代的设计理论与方法。
第四篇:苏教片高中通用技术《技术与设计1》全套教案(最完整版)
高一通用技术 技术与设计1 全 册 教 案 第一章:走进技术世界
一、技术的价值
(一)教材分析
“技术的”是苏教版通用技术教材必修1的第一章《走进技术世界》的第一节内容,.知识与技能
⑴理解技术人类需求技术的。使学生感受技术采用师生互动探究式教学方法。直观图片、详实资料
教学过程(第一课时)
教学环节 教师引领 学生活动 设计意图
通用技术课程介绍
1.何为是通用技术课程?
通用技术课程是高中学生的必修课程,是一门立足实践、注重创造、高度综合、科学与人文融合的课程
2.为何要开设通用技术课程?
随着科学技术突飞猛进地发展,技术成为我们生活中的客观存在,成为引起和应对社会变化的重要因素。因此,技术素养是当代青少年的基本素养,开设通用技术课程的核心目的就是培养学生的技术素养。
3.如何学好通用技术课程?
⑴在学习中要学会综合运用所学到的知识,善于思考,勤于动手,学中做,做中学,积极参与技术活动和亲身经历、体现设计过程。
⑵学习中要采取主动学习、合作学习、网络学习等多种方式,促进能力的提升。
⑶注意运用教材,明确“学习目标”,注重技术思想与技术方法的学习,注重探究和实验。
教学内容 [板书]
(一)技术的含义 [板书]1.技术的产生
创设情境
归纳总结 指导学生阅读教材004页内容
人类在生活中,需要着衣以遮身御寒,于是有了纺织、印染、缝制技术的产生;需要进食以补充能量,于是有了食品烹饪加工技术以及农作物栽培、家畜饲养技术的产生;需要住所以避风挡雨、抵御外来侵害,于是有了建筑技术的产生;需要出行以认识更广阔的世界,于是有了车船制造技术的产生;需要交往以保持与别人的联系,于是有了通信邮电技术的产生„„
结论:从人类磨制石器、钻木取火开始,技术就为满足人类需要而开始了它的历史旅程。阅读教材 人类的需求不断推动技术的产生和发展
[板书]2.技术的发展
创设情境
案例分析:
从火到灯――人类走向文明的历程
阅读教材 理解技术的发展过程
归纳总结 讨论:
1.如果人类没有控制和利用火的技术,没有发明灯,那么世界将会是怎样的?
2.人类对光的需求,怎样推动了照明技术的发展?
总结:人类的需求不断推动技术的产生和发展。讨论并回答
案例分析: 古代技术:造纸术和印刷技术的发明近代技术:莱特兄弟发明的飞机 现代技术:1.现代航天技术―-常娥一号 2.现代农业技术---杂交水稻
3.现代信息技术---手机 讨论分析 理解技术的含义 归纳总结 技术的含义:技术是指人类为了满足自身的需求和愿望,在长期劳动的过程中,积累起来的知识、经验、技巧和手段,是人类利用自然、改造自然、创造人工自然和人工环境的方法、手段和技能等。
教学内容 [板书]
(二)技术发展标志人类社会发展进程 内容讲解
归纳总结 石器时代 原始社会 青铜器时代 奴隶社会 铁器时代 封建社会 机器时代 资本主义社会 信息技术 当代社会
结论:技术是推动社会发展和文明进步的强大动力。听讲、思考并总结
理解技术的发展与社会发展的对应关系
课堂总结
相信通用技术课程一定会成为同学们夯实基础、挑战自我、享受创造与发展乐趣的学习生活的一部分!
布置作业 鞋子最基本的功能是保护我们的脚不受伤害。查阅资料,调查鞋子的发展历程,试着从以下两个方面分析鞋子为什么会得到发展:
1.满足了人类的哪些需求? 2.需要运用哪些技术?
教学过程(第二课时)教学环节 教师引领 学生活动 设计意图 教学引入
归纳总结 1.学生回顾上节课学到的主要内容。2.从衣食住行方面回顾技术产生与发展。
衣:人类需要着衣遮身御寒,于是产生了纺织、印染、缝制技术。食:人类需要进食以补充能量,于是产生了食品烹饪技术以及农作物栽培、家禽饲养技术。
住:人类需要住所以避风挡雨,于是产生了建筑技术。行:人类需要方便、快捷地出行,于是产生了车船制造技术 总结:技术的产生和发展,能更好地满足了人们的需求,使人们的生活更加丰富多彩。学生回答
复习巩固旧知识,引入新知识。
教学内容 [板书]
(一)技术与人 情景创设
归纳总结
思考讨论:
1.原始人最初为什么要选择穴居或在树上栖居等居住形式? 2.原始人随身携带磨制好的尖削石器,除了用来切割兽皮兽肉以外,还有什么用处?
3.疟疾、天花、鼠疫、肺结核等疾病曾夺去百万人的生命,为什么现代人对它不再如此恐慌? 总结:技术具有保护人的作用。思考、讨论
说明技术是保护人的
案例分析:瓦特蒸汽机的发明
蒸汽机是一种动力机器,它改变了人类完全靠人力、畜力、水力为主要动力的历史。
之后又有内燃动力、电力、核动力、太阳能动力等技术,使人的体力得到了更加高效的解放。
讨论:交通工具的发展使人们的出行便捷、舒适,但是也可能使人们过分依赖现代交通工具而缺乏锻炼,以致影响身体健康。你认为应该如何看待这一问题?
结论:技术具有解放人的作用。思考、讨论
说明技术是解放人的
案例分析:爱迪生的故事 通用技术活动实现自我价值
讨论:技术上的创造与发明使爱迪生得到终身的发展和自我价值的实现。结合你的经验,谈谈参与技术活动对你个人发展的作用和意义。
结论:技术具有发展人的作用。分析讨论 说明技术是发展人的
概括总结: 保护人 技术与人 解放人 发展人
教学内容 [板书]
(二)技术与社会
情景创设
归纳总结
案例分析:福特 T 型车的生产流水线
福特 T 型车的生产流水线的创立,实现了大批量、高效率、低成本的生产,实现了产业升级,为企业的发展提供了基础。
讨论:技术对企业的发展具有什么作用?
结论:技术促进了社会的发展。阅读教材思考、分析、讨论
说明技术使社会得到发展
案例分析:1.传统教育与现代教育 2.第三产业的迅速发展
劳动者队伍出现了知识化,整体的科学技术和文化素养日益提高。
结论:技术丰富了社会文化的内涵。
说明技术丰富了社会文化内涵
案例分析:农业技术的发展与劳作方式
农业技术的发展在一定程度上打破了土地面积的制约,复种、间种、套种的技术就是以劳动换取土地的技术。采用现代农业技术的人们,劳作方式发生了很大的变化。
结论:技术改变了社会生活方式。阅读教材分析讨论
说明技术改变了社会生活方式
发展社会
理解 技术与社会 丰富社会
改变社会 教学内容 [板书]
(三)技术与自然 情景创设
归纳总结
案例分析:荷兰风车
荷兰风车的技术就是利用了荷兰特有自然条件,世界上流传一句话:上帝创造了人,荷兰人创造了陆地。
结论:依靠技术,人类得以利用自然。阅读教材分析讨论 说明技术利用自然
案例分析:都江堰水利工程
依靠技术,人类得以改造自然,如添还造地、南水北调、西气东输等。
结论:人类利用技术可以改造自然 听讲理解
说明利用技术改造自然
案例分析:白色污染
大自然是人类赖以生存的地方,人们不仅依靠自然、利用自然、改造自然,而且人类还要保护自然。
结论:人类利用技术保护自然
阅读教材
举例讨论 说明利用技术保护自然
利用自然
技术与自然 改造自然
保护自然 课题小结 技术的核心价值就是技术推动了社会发展和文明进步.布置作业
1.技术的发展使人类的工作和生活方式了巨大的变化。在查阅资料、搜集信息的基础上,总结出对人类的工作和生活产生巨大影响的10项技术。
2.调查当地工业和农业的项目,了解技术产生的背景和发展过程,并评价技术的发展给环境造成的不良影响。
第一章:走进技术世界
二、技术的性质
(一)教材分析
“技术的性质”,“案例分析”、“阅读材料”和“讨论”为主线,从学生感兴趣的现实生活中的实例出发.知识与技能
⑴知道技术是人类为满足自身的需求和愿望对大自然进行的改造技术的发展需要发明和革新。技术活动往往需要综合运用多种知识。技术对个人生活、经济、社会、环境、伦理道德等方面的知识产权在技术领域的重要性,了解专利作用、有关规定及申请方法.过程与方法
经历案例分析和探究讨论的过程,理解技术的含义,掌握技术的性质。
3.情感态度价值观
通过对技术性质的学习,使学生体会到技术就在我们身边,理解技术对社会发展和文明进步有巨大的作用,让学生在内心深处产生了解技术、需要技术和掌握技术的迫切愿望。
(四)教学策略
选择贴近生活、便于理解和鲜活有趣的案例。通过教师引导和学生参与讨论的双边活动,使学生感受到技术就在他们身边,他们需直观图片、详实资料
(七)教学流程
教学过程(第一课时)计意图
教学引入
我们生活在一个丰富多彩的技术世界里,技术已经融入到我们的生活。从远古到现代,人类发明、创造了数不胜数的技术。上节课我们学习了“技术的价值”,从技术与人、技术与社会和技术与自然的关系中,我们深刻地意识到:技术的核心价值就是技术推动了社会发展和文明进步。为什么技术会有这样的价值?这与技术本身的性质有关,这节课我们共同学习《技术的性质》 学生回顾上节内容,并引发思考。
引入新课 教学内容
(一)技术的目的性
创设情境
案例分析:手机 提出问题
1.手机的发明是从什么具体目的出发的? 明确:人们能够移动通话 2.解决了什么问题?
明确:台式电话不可移动的问题。3.满足了什么需求?
明确:人们可以移动通话的需求。
教学环节 教师引领 学生活动 设思考讨论
回答 感知技术的目的性
归纳总结
任何技术的产生和发展,都是人类有需求、有目的活动成果。感性认识 理性引导 内容讲解
[板书]
(一)技术的目的性
[板书]任何技术的产生和发展,都是人类有需求、有目的活动成果。它总是从一定的具体目的出发,针对具体的问题,形成解决的方法,从而满足人们某方面的具体需求。
组织学生阅读:助听器的发明
讨论:1.从什么具体目的出发 2.解决了什么具体问题 3.满足了什么具体需求。
学生阅读并分组讨论
第五篇:EDA技术实验教案
一、课程名称:
EDA技术实验
二、教材名称: 《EDA技术使用教程》,潘松等编著。
三、本课程教学目的、要求:
介绍EDA的基本知识、常用的EDA工具的使用方法和目标器件的结构原理、VHDL设计输入方法(图形和文本)、VHDL仿真、VHDL的设计优化等。
EDA技术作为重要的专业课程,其实践性强。在教学时要注重理论和实践的紧密结合,通过大量上机操作,使学生掌握VHDL的基本结构和编程思想。实验1 原理图输入方法及8位全加器设计(4课时)
1)实验目的:
熟悉利用MAX+plusⅡ的原理图输入方法设计简单组合电路,掌握层次化设计的方法,并通过一个8位全加器的设计把握利用EDA软件进行电子电路设计的详细流程。2)实验报告要求:
详细叙述8位加法器的设计流程;给出各层次的原理图及其对应的仿真波形图;给出加法器的延时情况。
3)实验步骤:
(1)设计一个一位半加器。
步骤1:输入设计项目和存盘 步骤2:输入半加器元件: 步骤3:将项目设置为工程文件 步骤4:选择目标器件并编译 步骤5:时序仿真 步骤6:包装元件入库
选择菜单“File”→“Open”,在“Open”对话框中选择原理图编辑文件选项“Graphic Editor Files”,然后选择h_adder.gdf,重新打开半加器设计文件,然后选择如图4-5中“File”菜单的“Create Default Symbol”项,将当前文件变成了一个包装好的单一元件(Symbol),并被放置在工程路径指定的目录中以备后用。
(2)利用半加器组成一个一位全加器,并记录仿真结果。(3)利用全加器组成一个八位全加器,并记录仿真结果。
实验二
简单组合电路和时序电路设计(4课时)
一、实验目的:
熟悉Max+plusⅡ的VHDL文本设计流程全过程,学习简单组合电路和时序电路的设计和仿真方法。
二、实验内容
1:首先利用MAX+plusⅡ完成2选1多路选择器和一位全加器的文本编辑输入和仿真测试等步骤,给出仿真波形,验证本项设计的功能。
2:设计触发器(J-K),给出程序设计、软件编译、仿真分析、硬件测试及详细实验过程。
3:先设计或门和一位半加器的VHDL描述文件,并进行仿真调试,再用元件例化的方法实现一位全加器,并仿真调试。要求记录VHDL文件内容和仿真波形结果。
4:用一位全加器设计8为全加器。要求记录VHDL文件内容和仿真波形结果。(选作)参考程序 ENTITY mux21a IS PORT(a, b : IN BIT;s : IN BIT;y : OUT BIT);END ENTITY mux21a;ARCHITECTURE one OF mux21a IS SIGNAL d,e : BIT;BEGIN d <= a AND(NOT S);e <= b AND s;y <= d OR e;END ARCHITECTURE one;
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY or2a IS PORT(a, b :IN STD_LOGIC;c : OUT STD_LOGIC);END ENTITY or2a;
ARCHITECTURE fu1 OF or2a IS BEGIN c <= a OR b;END ARCHITECTURE fu1;
半加器描述(1)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY adder IS PORT(a, b : IN STD_LOGIC;co, so : OUT STD_LOGIC);END ENTITY adder;ARCHITECTURE fh1 OF adder is BEGIN so <= NOT(a XOR(NOT b));co <= a AND b;END ARCHITECTURE fh1;
1位二进制全加器顶层设计描述 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY f_adder IS PORT(ain,bin,cin : IN STD_LOGIC;cout,sum : OUT STD_LOGIC);END ENTITY f_adder;ARCHITECTURE fd1 OF f_adder IS COMPONENT h_adder PORT(a,b : IN STD_LOGIC;co,so : OUT STD_LOGIC);END COMPONENT ; COMPONENT or2a PORT(a,b : IN STD_LOGIC;c : OUT STD_LOGIC);END COMPONENT;
SIGNAL d,e,f : STD_LOGIC;BEGIN u1 : h_adder PORT MAP(a=>ain,b=>bin,co=>d,so=>e);u2 : h_adder PORT MAP(a=>e,b=>cin,co=>f,so=>sum);u3 : or2a PORT MAP(a=>d,b=>f,c=>cout);END ARCHITECTURE fd1;二选一多路选择器仿真结果:
实验三
含异步清0和同步时钟使能的4位加法计数器(4课时)
一、实验目的:
学习计数器的设计、仿真,进一步熟悉VHDL设计技术。
二、实验内容:
设计一含计数使能、异步复位和能进行计数值并行预置功能的4位加法计数器。RST是异步清零信号,高电平有效;clk是时钟输入信号;D0、D1、D2、D3是4位数据输入端(数据预置输入端)。Q0、Q1、Q2、Q3为计数器输出端。COUT为进位输出端。ENA为使能端,为„1‟时,计数器实现对CLK时钟脉冲信号的加1计数,为0时停止计数。
参考程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B IS PORT(CLK : IN STD_LOGIC;RST : IN STD_LOGIC;ENA : IN STD_LOGIC;OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT : OUT STD_LOGIC);END CNT4B;ARCHITECTURE behav OF CNT4B IS SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN P_REG: PROCESS(CLK, RST, ENA)BEGIN IF RST = '1' THEN CQI <= “0000”;ELSIF CLK'EVENT AND CLK = '1' THEN IF ENA = '1' THEN CQI <= CQI + 1;ELSE CQI <= “0000”;END IF;END IF;OUTY <= CQI;END PROCESS P_REG;COUT <= CQI(0)AND CQI(1)AND CQI(2)AND CQI(3);--进位输出 END behav;
实验四
7段数码显示译码器设计(2课时)
一、实验目的:
1、学习7段数码显示译码器设计;
2、学习VHDL的多层次设计方法。
二、实验原理:
7段数码是纯组合电路,通常的小规模专用IC,如74或4000系列的器件只能作十进制BCD码译码,然而数字系统中的数据处理和运算都是2进制的,所以输出表达都是16进制的,为了满足16进制数的译码显示,最方便的方法就是利用译码程序在FPGA/CPLD中来实现。但为了简化过程,首先完成7段BCD码译码器的设计。例如输出为“1101101”时,数码管的7个段:g、f、e、d、c、b、a分别接1、1、0、1、1、0、1;接有高电平的段发亮,于是数码管显示“5”。
图6-21 共阴数码管及其电路
三、实验内容
1、编程实现7段数码显示译码器设计;
2、对7段数码显示译码器设计进行编辑、仿真,给出其所有信号的时序仿真波形; 参考程序: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S IS PORT(A : IN STD_LOGIC_VECTOR(3 DOWNTO 0);LED7S : OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END;ARCHITECTURE one OF DECL7S IS BEGIN PROCESS(A)BEGIN CASE A IS WHEN “0000” => LED7S <= “0111111”;WHEN “0001” => LED7S <= “0000110”;WHEN “0010” => LED7S <= “1011011”;WHEN “0011” => LED7S <= “1001111”;WHEN “0100” => LED7S <= “1100110”;WHEN “0101” => LED7S <= “1101101”;WHEN “0110” => LED7S <= “1111101”;WHEN “0111” => LED7S <= “0000111”;WHEN “1000” => LED7S <= “1111111”;WHEN “1001” => LED7S <= “1101111”;WHEN OTHERS => NULL;END CASE;END PROCESS;END;仿真结果:
综合后的计数器和译码器连接电路的顶层文件原理图:
实验五
用状态机实现序列检测器的设计(4课时)
一、实验目的:
1、掌握状态机的编程方法和步骤;
2、掌握用状态机设计序列检测器的方法和步骤;
二、实验内容
用状态机编程实现对系列数“11100101”的检测,当某一系列串(以左移方式)进入检测器后,若该串与预置的系列数相同,则输出“A”,否则输出“B”。
三、实验步骤:
1、编辑系列检测器的VHDL程序;
2、仿真测试并给出仿真波形,了解控制信号的时序;
3、将上述方案改为系列检测密码为可预置(外部输入)情况,重新编写程序、编译和仿真,并记录仿真结果。参考程序:
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY SCHK IS PORT(DIN,CLK,CLR : IN STD_LOGIC;AB : OUT STD_LOGIC_VECTOR(3 DOWNTO 0));END SCHK;ARCHITECTURE behv OF SCHK IS SIGNAL Q:INTEGER RANGE 0 TO 8;SIGNAL D:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN D<=“11100101”;PROCESS(CLK,CLR)BEGIN IF CLR= '1' THEN Q <= 0;ELSIF clk='1' AND clk'EVENT THEN CASE Q IS WHEN 0 => IF DIN = D(7)THEN Q<=1;ELSE Q<=0;END IF;WHEN 1 => IF DIN = D(6)THEN Q<=2;ELSE Q<=0;END IF;WHEN 2 => IF DIN = D(5)THEN Q<=3;ELSE Q<=0;END IF;WHEN 3 => IF DIN = D(4)THEN Q<=4;ELSE Q<=0;END IF;WHEN 4 => IF DIN = D(3)THEN Q<=5;ELSE Q<=0;END IF;WHEN 5 => IF DIN = D(2)THEN Q<=6;ELSE Q<=0;END IF;WHEN 6 => IF DIN = D(1)THEN Q<=7;ELSE Q<=0;END IF;WHEN 7 => IF DIN = D(0)THEN Q<=8;ELSE Q<=0;END IF;WHEN OTHERS=> Q<=0;END CASE;END IF;END PROCESS;PROCESS(Q)BEGIN IF Q=8 THEN AB<=“1010”;ELSE AB<=“1011”;END IF;END PROCESS;END behv;仿真结果:
提高型实验:
实验六
用VHDL实现数字钟及校园打铃系统(6课时)
一、实验目的及要求:
1、掌握VHDL语言的基本结构及编程思想。
2、掌握VHDL语言的进行系统设计的方法和步骤。
3、提高学生综合应用能力。
二、实验内容:
1、用VHDL实现数字钟及校园打铃系统的软件编辑。
2、用VHDL实现数字钟及校园打铃系统的软件仿真。
三、实验步骤
1、用VHDL编辑60进制计数器,并进行软件仿真。
2、用VHDL编辑24进制计数器,并进行软件仿真。
3、用VHDL编辑30进制计数器,并进行软件仿真。
4、用元件例化的方法实现数字钟的软件编辑及软件仿真。
5、实现数字钟的校时功能。
6、实现数字钟的打铃功能。
7、完成数字钟及校园打铃系统的实验报告。
实验七
A/D采样控制器设计
一、实验目的及要求:
1、掌握VHDL语言的基本结构及编程思想。
2、掌握A/D采样控制器的工作原理。
3、掌握A/D采样控制器的VHDL语言编程方法。
二、实验内容:
1、设计一A/D0809模数转换器控制器。
2、将转换结果送数码管显示器显示(2位)。
3、模拟输入通道为IN0。
三、实验步骤:
1、ADC0809特点介绍
(1)、单极性输入,8位A/D转换精度。(2)、逐次逼近式,每次采样时间约为100US(3)、8通道模拟输入
2、A/D转换器外部引脚功能结构图
3、A/D转换器时序图
4、AD转换控制器与AD转换器的接口电路框图
5、状态控制
S0状态:初始状态。ADDC=‘1’,选择1通道模拟信号输入。
ALE=START=OE=LOCK=‘0’;
S1状态:通道锁存。ALE=‘1’, START=OE=LOCK=‘0’;
S2状态:启动A/D转换。ALE=‘1’,START=‘1’,OE=LOCK=‘0’; S3状态:A/D转换等待状态。
ALE=START=‘0’,OE=LOCK=‘0’;
IF EOC=‘0’
保持当前状态不变,继续等待A/D转换。
ELSE
转换结束,进入下一状态。
S4状态:数据输出允许状态。A/D转换完毕,开启数据输出允许信号。
ALE=‘0’,START=‘0’,OE=‘1’,LOCK=‘0’;
S5状态:数据锁存状态。开启数据锁存信号,将转换结果送锁存器锁存。
ALE=‘0’,START=‘0’,OE=‘1’,LOCK=‘1’; S6状态:延时状态。为了保证数据可靠锁存,延时一个时钟状态周期。
ALE=‘0’,START=‘0’,OE=‘1’,LOCK=‘1’; 其它状态:返回到初始状态。ALE=START=OE=LOCK=‘0’;
6、参考程序: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY AD0809 IS
PORT(D :IN STD_LOGIC_VECTOR(7 DOWNTO 0);
CLK0,EOC : IN STD_LOGIC;
ADDA,OE : OUT STD_LOGIC;
ALE,START : OUT STD_LOGIC;
Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);
QQ : OUT INTEGER RANGE 15 DOWNTO 0);END AD0809;ARCHITECTURE behav OF AD0809 IS
TYPE ST_TYPE IS(S0, S1, S2, S3,S4,S5,S6,S7);
SIGNAL CURRENT_STATE,NEXT_STATE : ST_TYPE;
SIGNAL REGL:STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL LOCK :STD_LOGIC;
BEGIN
ADDA<='1';
PRO: PROCESS(CURRENT_STATE,EOC)
BEGIN
CASE CURRENT_STATE IS
WHEN S0 => QQ<=0;ALE<='0';START<='0';OE<='0';LOCK<='0';NEXT_STATE <= S1;
WHEN S1 => QQ<=1;ALE<='0';START<='0';OE<='0';LOCK<='0';NEXT_STATE <= S2;
WHEN S2 => QQ<=2;ALE<='1';START<='1';OE<='0';LOCK<='0';NEXT_STATE <= S3;
WHEN S3 => QQ<=3;ALE<='1';START<='1';OE<='0';LOCK<='0';
IF EOC='0' THEN NEXT_STATE <= S4;
ELSE NEXT_STATE <= S3;
END IF;
WHEN S4 => QQ<=4;ALE<='0';START<='0';OE<='0';LOCK<='0';
IF EOC='1' THEN NEXT_STATE <= S5;
ELSE NEXT_STATE <= S4;
END IF;
WHEN S5 => QQ<=5;ALE<='0';START<='1';OE<='1';LOCK<='0';NEXT_STATE <= S6;
WHEN S6 => QQ<=6;ALE<='0';START<='0';OE<='1';LOCK<='1';NEXT_STATE <= S7;
WHEN S7 => QQ<=7;ALE<='0';START<='0';OE<='1';LOCK<='1';NEXT_STATE <= S0;
WHEN OTHERS => NEXT_STATE <= S0;
END CASE;
END PROCESS PRO;REG:PROCESS(CLK0)
BEGIN
IF CLK0'EVENT AND CLK0='1' THEN
CURRENT_STATE<=NEXT_STATE;
END IF;
END PROCESS REG;
COM:PROCESS(LOCK)
BEGIN
IF LOCK'EVENT AND LOCK='1' THEN
REGL<=D;
END IF;
END PROCESS COM;
Q<=REGL;END behav;
实验八
数字频率计设计
一、实验目的及要求:
1、掌握VHDL语言的基本结构及编程思想。
2、掌握数字频率计的工作原理。
3、掌握数字频率计的VHDL语言编程方法。
二、实验内容:
1、设计8位十进制数字频率计。
2、测量频率范围为1Hz-50MHz
三、实验原理: 测频原理框图
四、实验步骤 1、8位十进制计数器设计
(1)用VHDL设计十进制计数器,并进行软件和硬件仿真 参考程序如下: LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT10 IS
PORT(CLK,RST,EN : IN STD_LOGIC;
CQ : OUT STD_LOGIC_VECTOR(3 DOWNTO 0);
COUT : OUT STD_LOGIC);
END CNT10;ARCHITECTURE behav OF CNT10 IS BEGIN
PROCESS(CLK, RST, EN)
VARIABLE CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);
BEGIN
IF RST = '1' THEN
CQI :=(OTHERS =>'0');--计数器复位
ELSIF CLK'EVENT AND CLK='1' THEN
--检测时钟上升沿
IF EN = '1' THEN
--检测是否允许计数
IF CQI < “1001” THEN
CQI := CQI + 1;--允许计数
ELSE
CQI :=(OTHERS =>'0');--大于9,计数值清零
END IF;
END IF;
END IF;
IF CQI = “1001” THEN COUT <= '1';--计数大于9,输出进位信号
ELSE
COUT <= '0';
END IF;
CQ <= CQI;
--将计数值向端口输出
END PROCESS;END behav;(2)8位十进制频率计电路图 2、32位锁存器设计 参考程序
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY reg32b IS
PORT(load : IN STD_LOGIC;
din: in STD_LOGIC_VECTOR(31 DOWNTO 0);
DOUT : OUT STD_LOGIC_VECTOR(31 DOWNTO 0));
END reg32b;ARCHITECTURE behav OF reg32b IS BEGIN
PROCESS(load,din)
BEGIN
IF load'EVENT AND load='1' THEN
dout<=din;
END PROCESS;END behav;3控制器设计
(1)控制器时序图
(2)参考程序 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY testctl IS
PORT(clk : IN STD_LOGIC;
tsten:out
STD_LOGIC;
clr_cnt: out
STD_LOGIC;
load:out
STD_LOGIC);
END testctl;ARCHITECTURE behav OF testctl IS
signal div2clk:std_logic;BEGIN
PROCESS(clk)
BEGIN
IF clk'EVENT AND clk='1' THEN
div2clk<=not div2clk;
END PROCESS;
process(clk,div2clk)
begin
if clk='0' and div2clk='0'
then
clr_cnt<='1';
else clr_cnt<='0';
end if;
end process;
load<=not div2clk;
tsten<=div2clk;END behav;
END IF;END IF;
实验九
DAC接口电路与波形发生器设计
一、实验目的及要求:
1、掌握VHDL语言的基本结构及编程思想。
2、掌握DA转换器接口方法。
3、掌握DA转换器的VHDL语言编程方法。
二、实验内容:
1、设计一DAC0832数模转换器控制器。
2、要求使用DAC转换器输出一正弦波,最大值为5V。(使用单缓冲方式)
3、要求正弦波频率能步进可调,步进间隔为100Hz。(使用2个按键控制,一个步进为加,另一个为步进减)
三、实验原理
1、DAC0832特点(1)、8位电流DAC转换,输出为电流信号,因此要转换为电压输出,必须外接集成运算放大器。(2)、转换时间约为50---500ns,转换速度比电压型DAC转换器快,电压型一般为1---10us(3)、20脚双列直插式封装的CMOS型器件。(4)、内部具有两极数据寄存器,可采用单或双缓冲方式。
2、D/A转换器外部引脚功能及内部结构图
3、工作方式
方式一:直通工作方式(本实验采用此种方式)
一般用于只有一路输出信号的情况。
接线情况:ILE=1,CS=WR1=WR2
=XFER=0 方式
二、双缓冲器工作方式
采用两步操作完成,可使DA转换输出前一数据的同时,将采集下一个数据送到8位输入寄存器,以提高转换速度。
一般用于多路DA输出。
4、DA转换器与控制器接口电路设计
5、实验仪实际接口电路图
6、DA转换器输出波形步进可调控制电路设计 设计思想:
设输入控制器的时钟频率为50MHz。
1、DA转换一次,需要一个时钟周期。若采用64点输出,则需要64个时钟周期。如果控制器时钟频率为64Hz,则输出的正弦波频率为1Hz。
2、因此,只需要控制DA转换控制器的时钟频率,则就可以控制正弦波频率,正弦波频率与时钟频率的 关系为1:64。
3、题目要求正弦波步进频率为100Hz,则时钟频率步进应为6400Hz。按“加”键,则时钟频率增加6400Hz,按“减”减,时钟频率减小6400Hz。
7、带按键控制DA转换器与控制器接口电路设计
四、实验程序 参考程序:
LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DAC0832 IS
PORT(CLK :IN STD_LOGIC;
DD : OUT INTEGER RANGE 255 DOWNTO 0);END DAC0832;ARCHITECTURE behav OF DAC0832 IS SIGNAL Q:INTEGER RANGE 63 DOWNTO 0;SIGNAL D : INTEGER RANGE 255 DOWNTO 0;BEGIN
PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='1' THEN Q<=Q+1;
END IF;
END PROCESS;PROCESS(Q)
BEGIN
CASE Q
IS
WHEN 00=>D<=254;WHEN 01=>D<=252;WHEN 02=>D<=249;WHEN 03=> D<=245;
WHEN 04=>D<=239;WHEN 05=>D<=233;WHEN
06=> D<=225;WHEN
07=> D<=217;
WHEN 08=>D<=207;WHEN 09=>D<=197;WHEN
10=> D<=186;WHEN
11=> D<=174;
WHEN 12=>D<=162;WHEN 13=>D<=150;WHEN 14=> D<=137;WHEN
15=> D<=124;
WHEN 16=>D<=112;WHEN 17=>D<=99;WHEN 18=> D<=87;
WHEN
19=> D<=75;
WHEN 20=>D<=64;WHEN
21=>D<=53;WHEN 22=>D<=43;
WHEN 23=> D<=34;
WHEN 24=>D<=26;WHEN 25=>D<=19;WHEN
26=> D<=13;
WHEN
27=> D<=8;
WHEN 28=>D<=4;
WHEN
29=>D<=1;
WHEN 30=>D<=0;
WHEN
31=> D<=0;
WHEN 32=>D<=1;WHEN 33=>D<=4;
WHEN 34=> D<=8;
WHEN 35=> D<=13;WHEN 36=>D<=19;WHEN 37=>D<=26;
WHEN 38=> D<=34;
WHEN
39=> D<=43;
WHEN 40=>D<=53;WHEN
41=>D<=64;WHEN 42=> D<=75;
WHEN
43=> D<=87;
WHEN 44=>D<=99;WHEN 45=>D<=112;WHEN 46=>D<=124;WHEN
47=> D<=137;
WHEN 48=>D<=150;WHEN 49=>D<=162;WHEN 50=> D<=255;WHEN 51=> D<=174;
WHEN 52=>D<=186;WHEN 53=>D<=197;WHEN 54=>D<=207;WHEN 55=> D<=217;
WHEN 56=>D<=225;WHEN 57=>D<=233;WHEN 58=> D<=239;WHEN
59=> D<=245;
WHEN 60=>D<=249;WHEN 61=> D<=252;WHEN 62=> D<=254;WHEN 63=>D<=255;WHEN OTHERS=>NULL;END CASE;END PROCESS;
DD<=D;
END;
实验十
七段显示器动态扫描电路设计(提高型)
实验目的及要求:
1、掌握VHDL语言的基本结构及编程思想。
2、掌握七段显示器动态扫描电路设计方法。设计要求:
1、设计一个七段数码管动态扫描电路。
2、数码管个数为8个,共阴极接法。
3、设计BCD码--七段字符码的转换电路;
4、设计一电路,控制上述电路实现“12345678”八个数字的显示,要求显示方式为:
(1)自左至右逐个点亮数码管,最后全亮;再重复以上动作,每次变化时间间隔为1秒。
(2)自左至右点亮数码管,每次只点亮一个,最后全息灭,再重复以上动作,每次变化时间间隔为1秒。
(3)先中间两个点亮,再依次向外点亮;全亮后,再依次向中间熄灭;重复上述步骤,每次变化时间间隔为1秒。一、七段显示器动态扫描电路设计框图
二、存储器设计(8位8字节静态随机存储器SRAM)LIBRARY ieee;
USE ieee.std_logic_1164.all;ENTITY MEMO_RD_WR IS PORT(WR,RD: IN STD_LOGIC;
A : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
B : IN STD_LOGIC_VECTOR(2 DOWNTO 0);
D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
Q : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END MEMO_RD_WR;ARCHITECTURE a OF MEMO_RD_WR IS
SIGNAL Q0,Q1,Q2,Q3: STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL Q4,Q5,Q6,Q7: STD_LOGIC_VECTOR(7 DOWNTO 0);BEGIN PROCESS(WR,A)
BEGIN
IF WR='1' THEN
CASE
A
IS
WHEN “000”=>Q0<=D;
WHEN “001”=> Q1<=D;
WHEN “010”=>Q2<=D;
WHEN “011”=> Q3<=D;
WHEN “100”=>Q4<=D;
WHEN “101”=> Q5<=D;
WHEN “110”=>Q6<=D;
WHEN “111”=> Q7<=D;
WHEN OTHERS=>NULL;
END CASE;
END IF;
END PROCESS;PROCESS(RD,B)
BEGIN
IF RD='1' THEN
CASE
B
IS
WHEN “000”=>Q<=Q0;
WHEN “001”=> Q<=Q1;
WHEN “010”=>Q<=Q2;
WHEN “011”=> Q<=Q3;
WHEN “100”=>Q<=Q4;
WHEN “101”=> Q<=Q5;
WHEN “110”=>Q<=Q6;
WHEN “111”=> Q<=Q7;
WHEN OTHERS=>NULL;
END CASE;
END IF;
END PROCESS;END a;
四、循环取数电路设计 LIBRARY ieee;
USE ieee.std_logic_1164.all;ENTITY GET_CODE IS PORT(CLK1: IN STD_LOGIC;
D : IN STD_LOGIC_VECTOR(7 DOWNTO 0);
RD:OUT STD_LOGIC;
A : OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END GET_CODE;ARCHITECTURE a OF GET_CODE
IS
SIGNAL LOAD: STD_LOGIC;
SIGNAL QQ : STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;BEGIN
RD<=„1‟;
LOAD<=CLK1;PROCESS(CLK1)
BEGIN
IF CLK1'EVENT AND CLK1='1' THEN
IF NUM<=7
THEN
NUM<=NUM+1;
ELSE NUM<=0;
END IF;
END IF;END PROCESS;PROCESS(NUM)
BEGIN
CASE NUM IS
WHEN 0 =>A<=“000”;
WHEN 1 =>A<=“001”;
WHEN 2 =>A<=“010”;
WHEN 3 =>A<=“011”;
WHEN 4 =>A<=“100”;
WHEN 5 =>A<=“101”;
WHEN 6 =>A<=“110”;
WHEN 7 =>A<=“111”;
WHEN OTHERS =>NULL;
END CASE;
END PROCESS;PROCESS(LOAD)
BEGIN
IF LOAD„EVENT AND LOAD=„1‟
THEN-------上升沿锁存
QQ<=D;
END IF;END PROCESS;DOUT(7 DOWNTO 0)<=QQ(7 DOWNTO 0);END a;
五、扫描控制器设计 LIBRARY ieee;
USE ieee.std_logic_1164.all;ENTITY SCAN_8 IS PORT(CLK2: IN STD_LOGIC;
C : OUT STD_LOGIC_VECTOR(7 DOWNTO 0));
END SCAN_8;ARCHITECTURE a OF SCAN_8
IS
SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;BEGIN PROCESS(CLK2)
BEGIN
IF CLK2'EVENT AND CLK2=‘1' THEN
IF NUM<=7
THEN
NUM<=NUM+1;
ELSE NUM<=0;
END IF;
END IF;END PROCESS;Process(num)
begin
CASE
NUM
IS
WHEN 1=>C<=“11111110”;WHEN 2=> C<=“11111101”;
WHEN 3=>C<=“11111011”;WHEN 4=> C<=“11110111”;
WHEN 5=>C<=“11101111”;WHEN 6=> C<=“11011111”;
WHEN 7=>C<=“10111111”;WHEN 0=> C<=“01111111”;
WHEN
OTHERS=>NULL;
END CASE;END PROCESS;END A;
应用实例一:显示“01234567”八个数字
LIBRARY ieee;
USE ieee.std_logic_1164.all;ENTITY disp_data IS PORT(CLK: IN STD_LOGIC;
WR:OUT STD_LOGIC;
A:OUT STD_LOGIC_VECTOR(2 DOWNTO 0);
Q:OUT STD_LOGIC_VECTOR(7 DOWNTO 0));END disp_data;ARCHITECTURE a OF disp_data
IS
--SIGNAL QQ : STD_LOGIC_VECTOR(7 DOWNTO 0);
SIGNAL NUM: INTEGER RANGE 7 DOWNTO 0;BEGIN
WR<=„1‟;PROCESS(CLK)
BEGIN
IF CLK'EVENT AND CLK='1' THEN
IF NUM<=7
THEN
NUM<=NUM+1;
ELSE NUM<=0;
END IF;
END IF;END PROCESS;PROCESS(NUM)
BEGIN
CASE NUM IS
WHEN 0 =>Q<=“00111111”;A<=“000”;
WHEN 1 =>Q<=“00000110”;A<=“001”;
WHEN 2 =>Q<=“01011011”;A<=“010”;
WHEN 3 =>Q<=“01001111”;A<=“011”;
WHEN 4 =>Q<=“01100110”;A<=“100”;
WHEN 5 =>Q<=“01101101”;A<=“101”;
WHEN 6 =>Q<=“01111101”;A<=“110”;
WHEN 7 =>Q<=“01111111”;A<=“111”;
WHEN OTHERS =>NULL;
END CASE;END PROCESS;END a;实验十一
彩灯控制器设计(提高型实验)
实验目的及要求:
1、掌握VHDL语言的基本结构及编程思想。
2、掌握VHDL语言的进行系统设计的方法和步骤。
3、培养学生综合应用能力。实验内容:
1、了解各类节日彩灯的显示方式(主要是动态方式)(上街观察);
2、将你所了解的情况,画出你的设计思想框图;
3、根据框图画出电路框图(用EDA技术);
4、用VHDL语言编程实现;
5、完成课程设计报告(约2000字)
实验
十二、红绿交通灯控制系统
实验目的及要求:
1、掌握VHDL语言的基本结构及编程思想。
2、掌握VHDL语言的进行系统设计的方法和步骤。
3、培养学生综合应用能力。实验内容:
设计一个简易十字路口交通灯控制器。要求:
1、每个路口有红、绿、黄三个指示灯指示交通运行情况。红灯亮,禁止车辆通行;绿灯亮,车辆正常通行。
2、利用两位数码管显示通行到计时时间。
3、用VHDL语言编程实现;
4、完成课程设计报告 实验步骤:
1、红绿黄灯秒计数选择控制电路(traffic_mux)SING_STATE:
00
绿灯20秒(横向路口);
01
黄灯5秒(横向路口)
绿灯20秒(直向路口)
黄灯5秒(直向路口)
RECOUNT:重新计数信号。=„1‟,发送倒计时时间数据; =„0‟,正常倒计时; LIBRARY IEEE;
USE IEEE.std_logic_1164.all;USE IEEE.std_logic_unsigned.all;
USE IEEE.std_logic_arith.all;entity traffic_mux is
port(reset,clk_1Hz,recount: in std_logic;
sign_state: in std_logic_vector(1 downto 0);
load: out integer range 255 downto 0);end;
begin
process(reset,clk_1s)
begin
if reset='1' then
load<=“00000000”;
elsif(clk_1Hz'event and clk_1Hz='1')
then
if
recount = '1‘
then
CASE sign_state IS
WHEN “00” => load <= 20;
WHEN “01” => load <= 5;
WHEN “10” => load <= 20;
WHEN “01” => load <= 5;
WHEN OTHERS =>null;
END CASE;
end if;
end if;end process;end BEHAVIOR;
2、倒计时控制电路(count_down)library IEEE;use IEEE.std_logic_1164.all;use IEEE.std_logic_arith.all;use IEEE.std_logic_unsigned.all;entity count_down is port(reset,clk_1Hz: in std_logic;recount:in std_logic;load: in integer range 255 downto 0;seg7:out std_logic_vector(15 downto 0);next_state: out std_logic);end;architecture BEHAVIOR of count_down is signal cnt_ff: integer range 255 downto 0;begin process(clk_1Hz,reset)begin if(reset='1')then cnt_ff<=“00000000”;seg7<=“***0”;elsif(clk_1Hz'event and clk_1Hz='1')then if recount='1‘ then cnt_ff<=load-1;else cnt_ff<=cnt_ff-1;end if;end if;end process;process(cnt_ff)begin case cnt_ff is when 0=>seg7<=“***1”;when 1=>seg7<=“***0”;when 2=> seg7<=“***1”;when 3=> seg7<=“***1”;when 4=> seg7<=“***0”;when 5=> seg7<=“***1”;when 6=> seg7<=“***1”;when 7=> seg7<=“***1”;when 8=> seg7<=“***1”;when 9=> seg7<=“***1”;when 10=> seg7<=“***1”;when 11=> seg7<=“***0”;when 12=> seg7<=“***1”;when 13=> seg7<=“***1”;when 14=> seg7<=“***0”;when 15=> seg7<=“***1”;when 16=> seg7<=“***1”;when 17=> seg7<=“***1”;when 18=> seg7<=“***1”;when 19=> seg7<=“***1”;when 20=> seg7<=“***1”;when 21=> seg7<=“***0”;when 22=> seg7<=“***1”;when 23=> seg7<=“***1”;when 24=> seg7<=“***0”;when 25=> seg7<=“***1”;when 26=> seg7<=“***1”;when 27=> seg7<=“***1”;when 28=> seg7<=“***1”;when 29=> seg7<=“***1”;when others=> seg7<=“***1”;end case;end process;next_state <= '1' when cnt_ff=1 else '0';end BEHAVIOR;
3、红绿灯信号控制电路(traffic_fsm)LIBRARY IEEE;USE IEEE.std_logic_1164.all;USE IEEE.std_logic_arith.all;USE IEEE.std_logic_unsigned.all;entity traffic_FSM is port(reset,clk,clk_1Hz,flash_1Hz: in std_logic;a_m:in std_logic;next_state: in std_logic;recount: out std_logic;sign_state: out std_logic_vector(1 downto 0);red: out std_logic_vector(1 downto 0);green: out std_logic_vector(1 downto 0);yellow: out std_logic_vector(1 downto 0));end;architecture BEHAVIOR of traffic_FSM is type Sreg0_type is(r0g1, r0y1, g0r1, y0r1, y0y1, y0g1, g0y1, r0r1);signal state : Sreg0_type;signal light: std_logic_vector(5 downto 0);begin if(reset='1')then state<=r0g1;
----设定当前为横向红灯亮,竖向绿灯亮 sign_state<=“01”;------选择20秒倒计时
recount<=‘1’;------装入计数初值并启动倒计时 else if(clk'event and clk='1')then case STATE is when r0g1 => if(a_m='1' and clk_1Hz='1')then if(next_state = ‘1’)then--当前计数完毕,转入下一种计时
recount<='1';state<=r0y1;sign_state <= “01”;else recount<=‘0’;state<=r0g1;----否则,继续倒计时 end if;when r0y1 =>--now state: red0 on yellow1 flash if(a_m='1' and clk_1Hz='1')then if(next_state = '1')then recount<='1';state<=g0r1;sign_state <= “10”;else recount<='0';state<=r0y1;end if;when g0r1 =>--now state: green0 on red1 on if(a_m='1' and ena_1Hz='1')then if(next_state = '1')then recount<='1';state<=y0r1;sign_state <= “11”;else recount<='0';state<=g0r1;end if;when y0r1 =>--now state: green0 on red1 on if(a_m='1' and ena_1Hz='1')then if(next_state = '1')then recount<='1';state<=r0g1;sign_state <= “00”;else recount<='0';state<=y0r1;--red=2'b10;green=2'b00;yellow=2'b01;end if;when others => state<=r0g1;recount<='0';sign_state <= “00”;end case;end if;end if;end process;--light: r(10)y(10)g(10)light <= “010010” when(state=r0g1)else “011000” when(state=r0y1)else “100001” when(state=g0r1)else “100100” when(state=y0r1)else “110000”;red <= light(5 downto 4);yellow <= light(3 downto 2)and(flash_1Hz & flash_1Hz);green <= light(1 downto 0);end BEHAVIOR;