当前位置:网站首页 >> 文档 >> EDA课程设计报告 eda设计实验报告(五篇)
范文文档
EDA课程设计报告 eda设计实验报告(五篇)
  • 时间:2025-07-31 13:34:48
  • 小编:大狗外贸
  • 文件格式 DOC
下载文章
一键复制
猜你喜欢 网友关注 本周热点 精品推荐
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?以下是小编
演讲稿也叫演讲词,是指在群众集会上或会议上发表讲话的文稿。演讲稿是进行宣传经常使用的一种文体。演讲的作用是表达个人的主张与见解,介绍一些学习、工作中的情况、经验
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?下面是小编帮大家整理的优质范文,仅供参考
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。大家想知道怎么样才能写一篇比较优质的范文吗?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看
“方”即方子、方法。“方案”,即在案前得出的方法,将方法呈于案前,即为“方案”。那么我们该如何写一篇较为完美的方案呢?以下是小编为大家收集的方案范文,欢迎大家分
2.方案在实际应用中具有指导性和操作性,可以帮助我们有条不紊地完成工作。方案中的步骤应该具备合理性和可操作性。探索下面的方案范例,或许你能从中找到适合自己的解决
方案的制定是一项重要的管理工作,它可以指导我们的行动并提高工作的效率。制定方案需要与相关人员进行有效沟通和协商,确保每个人的意见和建议都得到充分考虑。这些范文可
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。写范文的时候需要注意什么呢?有哪些格式需要注意呢?以
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。长征沿
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。戴尔的
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。戴尔的
方案的设计要具有合理性和科学性,并且能够达到预期的效果。如果你想制定一个较为完美的方案,首先需要明确目标和需求,确保方案满足预期目标。方案是指为解决某个问题或实
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。大家想知道怎么样才能写一篇比较优质的范文吗?以下是小编为大家收集的优秀范文
环保是我们每个人的责任,我们需要采取行动保护地球。如何建立良好的团队合作精神,在集体中充分发挥自己的作用?读一读这些范文,能够加深我们对总结写作的理解和认识。幼
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面是小编为大
报告是一种系统、客观、详尽地描述某一工作、活动或问题的文献形式。写完报告后,最好进行审校和修改,确保语法和拼写没有错误,并优化段落和句子的结构。报告的目的是为了
作为一名默默奉献的教育工作者,通常需要用到教案来辅助教学,借助教案可以让教学工作更科学化。怎样写教案才更能起到其作用呢?教案应该怎么制定呢?下面是小编带来的优秀
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。写范文的时候需要注意什么呢?有哪些格式需要注意呢?这
报告是对某一主题或问题进行详尽说明和阐述的一种书面或口头表达形式。报告的写作要注重整体思路和逻辑的严密性。在报告的编写过程中,我们还可以借鉴一些专业的报告模板和
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。大家想知道怎么样才能写一篇比较优质的范文吗?以下是我为大家搜集的优质范文,
为了保障事情或工作顺利、圆满进行,就不得不需要事先制定方案,方案是在案前得出的方法计划。方案能够帮助到我们很多,所以方案到底该怎么写才好呢?以下是小编精心整理的
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面是小编为大
为了确保我们的努力取得实效,就不得不需要事先制定方案,方案是书面计划,具有内容条理清楚、步骤清晰的特点。那么方案应该怎么制定才合适呢?下面是小编帮大家整理的方案
人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。大家想知道怎么样才能写一篇比较优质的范文吗?
心得体会是指一种读书、实践后所写的感受性文字。我们想要好好写一篇心得体会,可是却无从下手吗?下面我帮大家找寻并整理了一些优秀的心得体会范文,我们一起来了解一下吧
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。相信许多人会觉得范文很难写?接下来小编就给大家介绍一
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们
“读后感”的“感”是因“读”而引起的。“读”是“感”的基础。走马观花地读,可能连原作讲的什么都没有掌握,哪能有“感”?读得肤浅,当然也感得不深。只有读得认真,才
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下
思考过去,展望未来,总结是必要的!怎样写出一篇有价值、有深度的总结?总结是在一段时间内对学习和工作生活等表现加以总结和概括的一种书面材料,它可以促使我们思考,我
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来
作为一名默默奉献的教育工作者,通常需要用到教案来辅助教学,借助教案可以让教学工作更科学化。优秀的教案都具备一些什么特点呢?下面我帮大家找寻并整理了一些优秀的教案
演讲稿是一种通过口头表达方式向听众传递特定信息或观点的文稿,通常在公共场合或正式场合下使用。演讲稿的写作可以帮助我们更好地组织思路,表达清晰,提升演讲的效果和影
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?以下是小编为大家收集的优
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。那么我们该如何写一篇较为完美的范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。口语话题
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文怎么写才能发挥它最大的作用呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。口语话
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文怎么写才能发挥它最大的作用呢?接下来小编就给大家
人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。那么我们该如何写一篇较为完美的范文呢?这里我
总结是写给人看的,条理不清,人们就看不下去,即使看了也不知其所以然,这样就达不到总结的目的。那么我们该如何写一篇较为完美的总结呢?以下是小编为大家收集的总结范文
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?下面我给大
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?下面我给大家整理了一些优
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?这里
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?下面是小编
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。相信许多人会觉得范文很难写?以下是小编为大家收集的优秀
时间流逝得如此之快,我们的工作又迈入新的阶段,请一起努力,写一份计划吧。计划怎么写才能发挥它最大的作用呢?以下我给大家整理了一些优质的计划书范文,希望对大家能够
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文怎么写才能发挥它最大的作用呢?下面我给大家整理了
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面我给大家整
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?以下是小编
美食是一种享受和交流的方式,我喜欢尝试各种不同的美食文化。总结应突出重点,避免冗长和啰嗦。下面是一些我们平时不容易总结出的经验和感悟,希望能给大家带来一些启示。
方案是从目的、要求、方式、方法、进度等都部署具体、周密,并有很强可操作性的计划。那么方案应该怎么制定才合适呢?以下是小编为大家收集的方案范文,欢迎大家分享阅读。
为了确保我们的努力取得实效,就不得不需要事先制定方案,方案是书面计划,具有内容条理清楚、步骤清晰的特点。怎样写方案才更能起到其作用呢?方案应该怎么制定呢?以下是
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。写范文的时候需要注意什么呢?有哪些格式需要注意呢?这
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?下面是小编帮大家整理的优质范文,仅供参考
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?下面是小编帮大家整理的优
写心得体会可以帮助我们更好地提升自己在某个领域的专业素养。避免过于主观和情绪化的表达,保持客观和理性。下面是一些经典的心得体会范文,希望可以给大家提供一些写作的
报告能够帮助读者更好地了解特定主题,为决策和行动提供支持。在撰写报告之前,需要明确确定报告的目的、受众和重点。最后,祝你在撰写报告时顺利进行,并取得理想的结果和
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面我给大家整理了一些优
总结是一种思绪的整理,可以让我们更加清晰地认识到自己的所思所想。怎样积极投身公益事业,回报社会?以下是我们精心挑选的一些优秀总结范文,以供参考。学生感言50字篇
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文怎么写才能发挥它最大的作用呢?下面是小编为大家收集
报告的撰写需要根据实际情况选择合适的格式和结构。在写报告之前,需要进行详细的调研和收集相关数据和信息。以下是小编为大家收集的报告范文,供大家参考和借鉴。学生会会
通过总结,我们可以反思和总结自己在某个领域中的收获和经验。总结的结尾可以展望未来,提出进一步的改进和提高的建议。收集总结范文可以帮助我们了解不同类型和风格的总结
良好的总结能够帮助我们更好地积累经验,为将来的发展打下基础。分析和总结自己的优点和不足,为写一篇完美总结提供更深入的思考和素材。某大型企业总结了一年来的工作成绩
总结通常涉及回顾过去的经验、总结关键问题以及提出改进和发展的建议。怎样处理失败和挫折,重拾信心?小编为大家精选了一些写总结的好例子,希望能够帮助到大家。寓言故事
不适用于已有分类的内容。善于总结的人通常注重细节、关注前人的经验,并勇于创新。下面是一些成功的公告范文,供大家参考和借鉴。法人授权证明书篇一被授权人姓名:授权人
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面我给大家整
工作学习中一定要善始善终,只有总结才标志工作阶段性完成或者彻底的终止。通过总结对工作学习进行回顾和分析,从中找出经验和教训,引出规律性认识,以指导今后工作和实践
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。那么我们该如何写一篇较为完美的范文呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧珍珠鸟课堂实录王
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优
人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。范文怎么写才能发挥它最大的作用呢?下面是小编
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?这
总结是对已有经验和知识的梳理和总结,可以为今后的工作提供指导。最后,我们可以请教他人对总结进行评审,以获得更好的改进和完善。如果您需要了解不同领域的总结写作技巧
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?这里
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。大家想知道怎么样才能写一篇比较优质的范文吗?下面我给大家整理了一些优秀范文
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。写范文的时候需要注意什么呢?有哪些格式需要注意呢?这里
体会是指将学习的东西运用到实践中去,通过实践反思学习内容并记录下来的文字,近似于经验总结。好的心得感悟对于我们的帮助很大,所以我们要好好写一篇心得感悟以下我给大
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。写范文的时候需要注意什么呢?有哪些格式需要注意呢?这
通过总结,我们可以发现自己的优势和不足,为未来的发展制定更好的计划。要写一篇较为完美的总结,首先需要明确总结的目的和范围。以下是一些关于总结的经典范文,希望能够
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文怎么写才能发挥它最大的作用呢?下面是小编为大家收
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。那么我们该如何写一篇较为完美的范文呢?下面是小编帮大
人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。范文书写有哪些要求呢?我们怎样才能写好一篇范
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。大家想知道怎么样才能写一篇比较优质的范文吗?下面是小
时间的分配常常决定了一个人的成功与否。在总结中,我们可以用统计数据来支持和证明自己的观点。下面是一些值得借鉴的总结写作技巧和经验分享。高一家长会教师发言稿篇一尊
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?接下来小编就给大家介绍一
人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。写范文的时候需要注意什么呢?有哪些格式需要注
学习是人类进步的源泉,而总结是提升学习效果和思考能力的重要途径。写一篇完美的总结首先要明确总结的目的和主要内容。接下来,就请大家跟随小编一起来看看以下是小编为大
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面是小编帮大家整理的优
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?以下是小编为大
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。写范文的时候需要注意什么呢?有哪些格式需要注意呢?以
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?下面是小编帮大家整理的优
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面
总结创作经历,挖掘创意的来源和成长的点滴。总结的写作需要注重结构和逻辑。善于学习他人的总结范文,可以对自己的思维方式产生启发。评课稿篇一1.“国事家事天下事事事
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。那么我们该如何写一篇较为完美的范文呢?接下来小编就给
对于每个人来说,总结都是一种重要的思维和反思方式。"写一篇完美的总结要注意语言简练、内容准确,条理清晰。"以下是一些优秀的案例,供大家学习和借鉴。新生家长会发言

EDA课程设计报告 eda设计实验报告(五篇)

格式:DOC 上传日期:2025-07-31 13:34:48
EDA课程设计报告 eda设计实验报告(五篇)
    小编:大狗外贸

随着社会不断地进步,报告使用的频率越来越高,报告具有语言陈述性的特点。写报告的时候需要注意什么呢?有哪些格式需要注意呢?下面是小编为大家整理的报告范文,仅供参考,大家一起来看看吧。

EDA课程设计报告 eda设计实验报告篇一

物理与电子工程学院 电子信息科学与技术专业 2011级 董思林

指导教师 何传红

摘 要:随着数字电子技术的发展,频率测量成为一项越来越普遍的工作,因此测频计常受到人们的青睐。eda技术是以大规模可编程逻辑器件为设计载体,以硬件语言为系统逻辑描述的主要方式,以计算机、大规模可编程逻辑器件的开发软件及实验开发系统为设计工具,通过有关的开发软件,自动完成用软件设计的电子系统到硬件系统的设计,最终形成集成电子系统或专用集成芯片的一门新技术,其设计的灵活性使得eda技术.快速发展和广泛应用。

关键词:可编程逻辑器件;计数;分频;脉冲;扫描 引言

在电子技术中,频率是最基本的参数之一,并且与许多电参量的测量方案、测量结果都有十分密切的关系,因此,频率的测量就显得非常重要。测量频率的方法有多种,其中电子计数器测量具有精度高、使用方便、测量迅速,以及便于实现测量过程自动化等优点,是频率测量的重要手段之一。电子计数器测频有两种方式:一是直接测频法,即在一定闸门时间内量被测信号的脉冲个数;二是间接测频法,如周期测频法。直接测频法适用于高频信号的频率测量,间接测频法适用于低频号的频率测量。本设计采用直接测频法,以quartusⅱ软件为设计平台,采用vhdl语言实现数字频率计的整体设计。伴随着集成电路(ic)技术的发展,电子设计自动化(eda)逐渐成为重要的设计手段,已经广泛应用于模拟与数字电路系统等许多领域。电子设计自动化是一种实现电子系统或电子产品自动化设计的技术,它与电子技术,微电子技术的发展密切相关,它吸收了计算机科学领域的大多数最新研究成果,以高性能的计算机作为工作平台,促进了工程发展。eda的一个重要特征就是使用硬件描述语言(hdl)来完成的设计文件,在电子

第 1 页(共 7 页)设计领域受到了广泛的接受。

eda技术就是以计算机为工具,设计者在eda软件平台上,有硬件描述语言vhdl完成设计文件,然后由计算机自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特定目标芯片的适配编译、逻辑映射和编程下载等工作,最终形成集成电子系统或专业集成芯片的一门新技术。eda技术的出现,极大地提高了电路设计的效率和可操作性,减轻了设计者的劳动强度。设计原理

2.1 基本原理

数字频率计的主要功能是测量周期信号的频率。频率是单位时间(1秒)内信号发生周期变化的次数。在给定的1秒时间内对信号波形计数,并将所计数值显示出来,就能读取被测信号的频率。数字频率计首先必须获得相对稳定与准确的时间,然后通过计数器计算这一段时间间隔内的方波脉冲个数并显示出来。这就是数字频率计的基本原理。

2.2 系统框图

通过测频控制信号发生器将由脉冲发生器产生的信号转换成所需要的控制信号clk1和en,待测信号计数器在en的控制下对待测信号进行测量并通过锁存与译码器在clk1的控制下按要求进行显示,大体结构如图1所示:

图2.2 系统框图

第 2 页(共 7 页)整体功能介绍

3.1 计数器设计

频率计的核心元件之一是含有时钟使能及进位扩展输出的十进制计数器。为此,这里用一个双十进制计数器器件74390和其他一些辅助元件来完成。电路框图如图3.1所示。

图3.1 含有时钟使能的2位十进制计数器

图中,74390连接成两个独立的十进制计数器,待测频率信号clk通过一个与门进入74390的计数器“1”端的时钟输入端1clka。与门的另一端由计数使能信号enb控制:当enb=1时允许计数;enb=0时禁止计数。计数器1的4位输出q[3]、q[2]、q[1] 和q[0] 并成总线表达方式,即q[3..0],由图左下角的output输出端口向外输出计数值。同时由一个4输入与门和两个反相器构成进位信号,进位信号进入第二个计数器的时钟输入端2clka。第二个计数器的4位计数输出是q[7]、q[6]、q[5] 和q[4],总线输出信号是q[7..4].这两个计数器的总得进位信号,可由一个6输入与门和两个反相器产生,由cout输出。clr是计数器的清零信号。对图3.1所示电路进行仿真,其波形图如下图3.1.1所示。

第 3 页(共 7 页)

图3.1.1 仿真波形图

3.2 时序控制电路设计

欲使电路能自动测频,还需增加一个测频时序控制电路,如图3.2所示。该电路由三部分组成:4位二进制计数器7493、4-16译码器74154和两个由双与非门构成的rs触发器。

图3.2 测频时序控制电路

3.3 时钟分频模块设计

由于设计中利用了一个50mhz的时钟信号输入,需要将其分频为合适的频率供给本设计中的各个模块。其程序代码如下:

module clk_div(clk,divclk);input clk;

output divclk;

reg divclk;

reg [div_width-1:0]counter;

parameter div_num = 500000;

parameter div_width = 19;

//时钟偶数分频模块

//定义输入时钟 //定义输出时钟 //定义寄存器

//定义计数寄存器 //参数,定义分频参数

//参数,定义分频参数占用的位宽

第 4 页(共 7 页)always @(posedge clk)

//分频过程

begin

if(counter ==((div_num>>1)-1))//注意分频数的计算公式

begin

counter <= 0;

divclk <= ~divclk;

end

else

counter <= counter + 1'b1;end endmodule

利用此代码生成元件命名为clk_div,供上层文件调用。3.4 数码管动态扫描显示驱动模块设计

本设计利用8位7段led数码管,但只需要2位,需采用动态扫描驱动,为显示频率计的结果,需要在计数器和数码管之间放置一个驱动电路模块,由于数码管的现实字符段码过于冗长,这里只作简要说明。代码总共分为三部分:第一部分是相关参数的定义和段码字符的赋值;第二部分有两个case语句,第一个case语句实现对莫一位数码管的定义,第二个case语句实现对数码管某一个段进行定义;第三部分则是对数码管具体要显示哪个字符进行初始化。3.5 顶层电路设计

将图3.1所示电路包装入库,元件名取为counter8;将图3.2所示电路包装入库,元件名取为ft_ctrl。有了counter8和ft_ctrl,就可以做成自动测频和数据显示的实用频率计了,电路如图3.5所示。图中counter8为第1步生成的2位十进制计数器模块,ft_ctrl为第2步生成的时序控制模块,只含有两个输入信号:待测频率输入信号f_in和测频控制时钟clk。时钟分频模块clk_div在此设计中被调用(例化)了3次,因为此模块采用了参数可配置的设计模式,所以调用同一个原型,通过改变参数就可以实现不同的特性,其中最上面一个时钟分频模块把50mhz分频到1024hz(参数div_num为48828,所以输出频率为50mhz/48828≈1024hz;参数div_width随div_num而变;中间一个分频模块把1024hz分频到8hz作为时序控制模块的时钟,则计数使能信号cnt_en的脉冲宽度即

第 5 页(共 7 页)为1秒,从而可使数码管直接显示f_in的频率值了;下面一个分频模块把1024hz分频到约51hz作为被测频率f_in输入到十进制计数器。

图3.5 顶层电路设计电路 设计总结

通过这次eda课程设计,我对课堂上所学到的理论知识的理解加深了许多,自己动脑、动手设计的能力也得到了较大提高。在这次课程设计的过程中,我对 vhdl 语言有了更深的认识。通过查阅相关资料和动手设计我发现我以前对 vhdl 语言的认识太过肤浅,认为 vhdl 语言只能用于设计小型的电路系统。但有了更深刻的认识之后我发现学好 vhdl 语言可以设计出大规模的、功能复杂的电路系统。以前之所以会有错误的认识是因为自己对 vhdl 语言的了解和掌握还不够。现在仔细想想,这次课程设计使得我对 vhdl 语言的理解与应用能力得到了较大的提升,也让我认识到只要深入学习,提升的空间永远是存在的。在设计的过程中我遇到了一些问题,通过查阅书本我发现了产生错误的原因并解决了问题完成了设计。经过反思我发现较大一部分错误是因为操作的不熟练造成的,这也让我明白了要保持设计的高效率必须经常练习。另一方面我第 6 页(共 7 页)也发现了动手实践的重要性。动手实践是理论知识得以灵活运用的必要前提,也是今后走上工作岗位之后能够很好的完成设计工作的技术保证。只有遇到实际问题并根据自己对课堂上获得的专业知识的理解来解决才能真正的提高自己的能力。这也提醒我在平时的学习生活中不能一味埋头于课本知识,当今社会竞争越来越激烈,社会对人才的要求越来越全面,只有理论知识是远远不够的,必须靠实践作支撑。虽然此次设计完成了,但是我意识到,我对fpga 技术仅仅只是停留在入门的阶段,想要有更大的发展,更深入的研究,还需要更多的努力与实践。因此在学习之余我们应该积极参加各种与专业知识有关的实践活动和竞赛,巩固所学的理论知识,多注重培养实际动手能力和专业技术能力,这样才能在以后的工作岗位上有所作为。

参考文献: [1] 技术实用教程-verilog hdl版(第四版).科学出版社 [2] 杨欣.电子设计从零开始(第2版),清华大学出版社 [3] 康华光.电子技术基础·模拟部分,高等教育出版社 [4] 康华光.电子技术基础·数字部分,高等教育出版社

[5] 顾斌,赵明忠,姜志鹏,马才根.数字电路eda设计,西安电子科技大学出版社

第 7 页(共 7 页)

EDA课程设计报告 eda设计实验报告篇二

eda实验报告

系别:

班级:

姓名:

学号:

目录

介绍

s ii软件介绍

3.实习任务

4.封装引脚图

5.设计程序

6.结果显示

7.实习心得

介绍

eda是电子设计自动化(electronic design automation)缩写。eda技术是以计算机为工具,根据硬件描述语言hdl(hardware description language)完成的设计文件,自动地完成逻辑编译、化简、分割、综合及优化、布局布线、仿真以及对于特定目标芯片的适配编译和编程下载等工作。硬件描述语言hdl是相对于一般的计算机软件语言,如:c、pascal而言的。hdl语言使用与设计硬件电子系统的计算机语言,它能描述电子系统的逻辑功能、电路结构和连接方式。设计者可利用hdl程序来描述所希望的电路系统,规定器件结构特征和电路的行为方式;然后利用综合器和适配器将此程序编程能控制fpga和cpld内部结构,并实现相应逻辑功能的的门级或更底层的结构网表文件或下载文件。目前,就fpga/cpld开发来说,比较常用和流行的hdl主要有abel-hdl、ahdl和vhdl[1]。

几乎所有适于大学生做的数字逻辑电路实验都可以在计算机上利用eda(electronic design automatic—电子设计自动化)软件进行设计、仿真,只有极少量外部配件不能在计算机上进行仿真。因此,在实验前期阶段,即实验预习阶段的主要应用工具是eda软件,利用eda软件可以设计、仿真实验课题,进行虚拟实验。通过虚拟实验使实验者在进入真实实验前就能对预做的实验有相当的了解,甚至可以预测到实验的结果。这样在实际做实验时,可以把许多设计型实验的难度降低,同时能有更多的时间让实验者动手做实验,研究问题,提高实验效率。当前数字电路设计已由计算机辅助设计进入到以计算机为主的设计时代。

s ii 是altera公司的综合性pld开发软件,支持原理图、vhdl、veriloghdl以及ahdl(altera hardware description language)等多种设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件配置的完整pld设计流程。

quartus ii支持altera的ip核,包含了lpm/megafunction宏功能模块库,使用户可以充分利用成熟的模块,简化了设计的复杂性、加快了设计速度。对第三方eda工具的良好支持也使用户可以在设计流程的各个阶段使用熟悉的第三放eda工具。

此外,quartus ii 通过和dsp builder工具与matlab/simulink相结合,可以方便地实现各种dsp应用系统;支持altera的片上可编程系统(sopc)开发,集系统级设计、嵌入式软件开发、可编程逻辑设计于一体,是一种综合性的开发平台。

maxplus ii 作为altera的上一代pld设计软件,由于其出色的易用性而得到了广泛的应用。目前altera已经停止了对maxplus ii 的更新支持,quartus ii 与之相比不仅仅是支持器件类型的丰富和图形界面的改变。altera在quartus ii 中包含了许多诸如signaltap ii、chip editor和rtl viewer的设计辅助工具,集成了sopc和hardcopy设计流程,并且继承了maxplus ii 友好的图形界面及简便的使用方法。

3.1 设计信号发生器使其能在仪器上显示正弦、三角、方波、锯齿波(其中的两种波形)

2设计频率计使其能测出制定波形的频率

4.波形发生器封装引脚图

5.波形发生器程序(正弦波,方波)

boxing4

library ieee;use ;use ;use ;entity boxing4 is port(rin:in std_logic;

clk: in std_logic;sint:in std_logic_vector(1 downto 0);--set:in std_logic;--_vector;--(1 downto 0);rs,rw,en,lcdon,lcdbon : out std_logic;yout:out std_logic_vector(7 downto 0);data : out std_logic_vector(7 downto 0));end boxing4;architecture fwm of boxing4 is

type states is(clear_display,set_initial,set_cgram,write_cgram,set_addram1,diaplay_cgram,set_addram2,diaplay_cgrom);--clear_display-清屏;--set_initial-初始化设置;--set_cgram-设置 cgram 地址;--write_cgram-字模写入 cgram;--set_addram1-设置显示 cgram 字符的 addram 地址;--diaplay_cgram-显示 cgram 字符;--set_addram2-设置显示 cgrom 字符的 addram 地址;--diaplay_cgrom-显示 cgrom 字符 signal state:states;type ram_array0 is array(0 to 7)of std_logic_vector(7 downto 0);--定义 ram_array0 为二维数组

type ram_array1 is array(0 to 7)of ram_array0;--定义 ram_array1 为三维数组 signal lcd_clk : std_logic;signal data1,data2,data3:integer range 0 to 9;--signal n:std_logic;signal net1,net2:std_logic_vector(7 downto 0);--signal net3:std_logic;

component choice4_1

port(s:in std_logic_vector(1 downto 0);

d1,d2: in std_logic_vector(7 downto 0);

y: out std_logic_vector(7 downto 0));end component;component fangbo port(clkf,rf:in std_logic;

qf:out std_logic_vector(7 downto 0));end component;component sin port(clksin,rsin:in std_logic;

da:out std_logic_vector(7 downto 0));end component;begin u1: fangbo port map(clkf=>clk,rf=>rin,qf=>net1);u2: sin port map(clksin=>clk,rsin=>rin,da=>net2);u3: choice4_1 port map(s=>sint,d1=>net1,d2=>net2,y=>yout);en <=lcd_clk;rw<= '0';lcdon<='1';lcdbon<='1';data1<=1;data2<=2;data3<=5;

process(clk)

constant m : integer:=50000;--50m 分频到 1khz。

variable cout : integer range 0 to 50000000:=0;begin

if clk'event and clk='0' then cout:=cout+1;

if cout<=m/2 then lcd_clk<='1';

elsif cout

else cout:=0;

end if;

end if;

end process;

process(lcd_clk)constant cgram : ram_array1:=(--自定义 8 个 5*8 字符的字模(x“00”,x“0e”,x“00”,x“0e”,x“00”,x“1f”,x“00”,x“00”),--san(x“04”,x“1f”,x“04”,x“07”,x“05”,x“09”,x“13”,x“01”),--fang(x“00”,x“1f”,x“04”,x“04”,x“17”,x“14”,x“14”,x“1f”),--zheng(x“0e”,x“02”,x“0e”,x“08”,x“08”,x“0e”,x“02”,x“0e”),--zuo xian(x“04”,x“1e”,x“04”,x“08”,x“1e”,x“04”,x“09”,x“1f”),--you xian(x“00”,x“13”,x“0a”,x“03”,x“1a”,x“02”,x“0a”,x“13”),--zuo bo(x“08”,x“1f”,x“09”,x“1e”,x“14”,x“08”,x“14”,x“03”),--you bo(x“18”,x“18”,x“07”,x“08”,x“08”,x“08”,x“07”,x“00”)--℃字符数据存储器);

variable datacnt:integer range 0 to 15;

variable cnt: std_logic_vector(7 downto 0);

variable num:integer range 0 to 7;begin--wait until net3='0';rising_edge(lcd_clk);

if rising_edge(lcd_clk)then

--if sint=“00”then

case sint is

when “11”=>

case state is

when clear_display=> rs<='0';data<=“00000001”;state<=set_initial;--清屏

when set_initial=>

if datacnt<3 then rs<='0';data<=“00111000”;datacnt:=datacnt+1;--设置功能:8 位,两行,5×8/每字符,重复 3 次

elsif datacnt=3 then rs<='0';data<=“00000110”;datacnt:=datacnt+1;--显示模式:完成一个字符码传送后,ac 自动加 1;显

elsif datacnt=4 then rs<='0';data<=“00001100”;datacnt:=datacnt+1;--显示控制:显示开,光标关,光标不闪烁

else rs<='0';datacnt:=0;state <= set_cgram;

end if;

when set_cgram=>rs<='0';--设置 cgram 字符地址

data<=“01000000”+cnt;state<=write_cgram;--设置 cgram 字符地址 000

if num <8 then cnt:=cnt+“00001000”;--设置 cgram 字符地址加 1

end if;

when write_cgram=> rs<='1';--在 指 定 的--cgram 字符地址写入对应的 8 个 5*8 字符字模

data <= cgram(num)(datacnt);datacnt:=datacnt+1;state <= write_cgram;--写入 cgram 字符地址 000 的 5*8--字符字模

if datacnt=8 then num:=num+1;datacnt:=0;state <= set_cgram;--写入下一个自定义--的 5*8 字符字模

if num =7 then num:=0;cnt:=“00000000”;state<=set_addram1;--8 个 5*8 字符字模写--入完成

end if;

end if;

when set_addram1=>rs<='0';--设置 addram 地址 1

data<=“10000000”;state<=diaplay_cgram;

when diaplay_cgram=>rs<='1';--显示 addram 地址对应的 cgram 字符

--if sint=“00”then

if datacnt=0 then data<=x“02”;datacnt:=datacnt+1;

elsif datacnt=1 then data<=x“03”;datacnt:=datacnt+1;

elsif datacnt=2 then data <= x“04”;datacnt:=datacnt+1;

elsif datacnt=3 then data<=x“05”;datacnt:=datacnt+1;

elsif datacnt=4 then data<=x“06”;datacnt:=datacnt+1;

elsif datacnt=5 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=6 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=7 then data<=x“46”;datacnt:=datacnt+1;

elsif datacnt=8 then data<=x“3a”;datacnt:=datacnt+1;

elsif datacnt=9 then data<=x“31”;datacnt:=datacnt+1;

elsif datacnt=10 then data<=x“30”;datacnt:=datacnt+1;

elsif datacnt=11 then data<=x“4d”;datacnt:=datacnt+1;

elsif datacnt=12 then data<=x“48”;datacnt:=datacnt+1;

elsif datacnt=13 then data<=conv_std_logic_vector(data3+48,8);datacnt:=datacnt+1;--显示 cgrom 中指定的

elsif datacnt=14 then data<=x“5a”;datacnt:=datacnt+1;

else data<=x“20”;datacnt:=0;state <= set_addram2;

end if;

when set_addram2=>rs<='0';--设置 addram 地址 2

data<=“11000000”;state<=diaplay_cgrom;

when diaplay_cgrom=>rs<='1';

if datacnt=0 then data<=x“4a”;datacnt:=datacnt+1;

elsif datacnt=1 then data<=x“41”;datacnt:=datacnt+1;

elsif datacnt=2 then data<=x“43”;datacnt:=datacnt+1;

elsif datacnt=3 then data<=x“4b”;datacnt:=datacnt+1;

elsif datacnt=4 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=5 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=6 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=7 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=8 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=9 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=10 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=11 then data<=conv_std_logic_vector(data3+48,8);datacnt:=datacnt+1;

elsif datacnt=12 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=13 then data<=conv_std_logic_vector(data2+48,8);datacnt:=datacnt+1;

elsif datacnt=14 then data<=conv_std_logic_vector(data1+48,8);datacnt:=datacnt+1;

else data<=x“56”;datacnt:=0;state <= set_addram1;

end if;

end case;

--end if;

when “01”=>

--elsif sint =“01”then

case state is

when clear_display=> rs<='0';data<=“00000001”;state<=set_initial;--清屏

when set_initial=>

if datacnt<3 then rs<='0';data<=“00111000”;datacnt:=datacnt+1;--设置功能:8 位,两行,5×8/每字符,重复 3 次

elsif datacnt=3 then rs<='0';data<=“00000110”;datacnt:=datacnt+1;--显示模式:完成一个字符码传送后,ac 自动加 1;显

elsif datacnt=4 then rs<='0';data<=“00001100”;datacnt:=datacnt+1;--显示控制:显示开,光标关,光标不闪烁

else rs<='0';datacnt:=0;state <= set_cgram;

end if;

when set_cgram=>rs<='0';--设置 cgram 字符地址

data<=“01000000”+cnt;state<=write_cgram;--设置 cgram 字符地址 000

if num <8 then cnt:=cnt+“00001000”;--设置 cgram 字符地址加 1

end if;

when write_cgram=> rs<='1';--在 指 定 的--cgram 字符地址写入对应的 8 个 5*8 字符字模

data <= cgram(num)(datacnt);datacnt:=datacnt+1;state <= write_cgram;--写入 cgram 字符地址 000 的 5*8--字符字模

if datacnt=8 then num:=num+1;datacnt:=0;state <= set_cgram;--写入下一个自定义--的 5*8 字符字模

if num =7 then num:=0;cnt:=“00000000”;state<=set_addram1;--8 个 5*8 字符字模写--入完成

end if;

end if;

when set_addram1=>rs<='0';--设置 addram 地址 1

data<=“10000000”;state<=diaplay_cgram;

when diaplay_cgram=>rs<='1';--显示 addram 地址对应的 cgram 字符

--if sint=“00”then

if datacnt=0 then data<=x“01”;datacnt:=datacnt+1;

elsif datacnt=1 then data<=x“05”;datacnt:=datacnt+1;

elsif datacnt=2 then data <= x“06”;datacnt:=datacnt+1;

elsif datacnt=3 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=4 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=5 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=6 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=7 then data<=x“46”;datacnt:=datacnt+1;

elsif datacnt=8 then data<=x“3a”;datacnt:=datacnt+1;

elsif datacnt=9 then data<=x“31”;datacnt:=datacnt+1;

elsif datacnt=10 then data<=x“30”;datacnt:=datacnt+1;

elsif datacnt=11 then data<=x“4d”;datacnt:=datacnt+1;

elsif datacnt=12 then data<=x“48”;datacnt:=datacnt+1;

elsif datacnt=13 then data<=conv_std_logic_vector(data3+48,8);datacnt:=datacnt+1;--显示 cgrom 中指定的

elsif datacnt=14 then data<=x“5a”;datacnt:=datacnt+1;

else data<=x“20”;datacnt:=0;state <= set_addram2;

end if;

when set_addram2=>rs<='0';--设置 addram 地址 2

data<=“11000000”;state<=diaplay_cgrom;

when diaplay_cgrom=>rs<='1';

if datacnt=0 then data<=x“4a”;datacnt:=datacnt+1;

elsif datacnt=1 then data<=x“41”;datacnt:=datacnt+1;

elsif datacnt=2 then data<=x“43”;datacnt:=datacnt+1;

elsif datacnt=3 then data<=x“4b”;datacnt:=datacnt+1;

elsif datacnt=4 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=5 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=6 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=7 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=8 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=9 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=10 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=11 then data<=conv_std_logic_vector(data3+48,8);datacnt:=datacnt+1;

elsif datacnt=12 then data<=x“20”;datacnt:=datacnt+1;

elsif datacnt=13 then data<=conv_std_logic_vector(data2+48,8);datacnt:=datacnt+1;

elsif datacnt=14 then data<=conv_std_logic_vector(data1+48,8);datacnt:=datacnt+1;

else data<=x“56”;datacnt:=0;state <= set_addram1;

end if;

end case;

--end if;

when others =>null;

end case;

end if;end process;end fwm;

choice4-1

library ieee;use ;use ;

--程序包 entity choice4_1 is

--定义实体 port(s:in std_logic_vector(1 downto 0);

--信号选择端口s d1,d2: in std_logic_vector(7 downto 0);--d1d2d3d4分别连接四个波形发生模块

y: out std_logic_vector(7 downto 0));--定义输出信号端口 end choice4_1;architecture behav of choice4_1 is

--结构体 begin

process(s)

begin

case s is

--case when语句进行信号位的选择

when “01”=>y<=d1;

when “11”=>y<=d2;

when others=>null;

end case;end process;

--进程结束 end behav;

--结构体结束

fangbo

library ieee;use ;use ;use ;entity fangbo is port(clkf,rf:in std_logic;qf:out std_logic_vector(7 downto 0));end entity;architecture behav of fangbo is signal a:bit;begin process(clkf,rf)--计数分频

variable cnt:integer range 0 to 256;begin if(rf='0')then a<='0';elsif clkf'event and clkf='1' then if cnt<255 then--进行分频 cnt:=cnt+1;else cnt:=0;a<=not a;end if;end if;end process;process(clkf,a)--信号输出 begin if clkf'event and clkf='1' then if a='1' then qf<=“11111111”;else

qf<=“00000000”;end if;end if;end process;end behav;

sin

library ieee;use ;use ;use ;entity sin is port(clksin,rsin:in std_logic;da:out bit_vector(7 downto 0));end entity;architecture behav of sin is signal a:bit;begin process(clksin,rsin)--计数分频 variable cnt:integer range 0 to 256;begin if(rsin='0')then a<='0';elsif clksin'event and clksin='1' then if cnt<4 then--进行分频 cnt:=cnt+1;else cnt:=0;a<=not a;end if;end if;end process;--process(clksin,a)process(a)

variable tmp:std_logic_vector(7 downto 0);variable d:bit_vector(7 downto 0);begin--if a='0' then--d:=“00000000”;--elsif clksin'event and clksin='1' then if a'event and a='1' then if tmp=“00111111” then tmp:=“00000000”;else tmp:=tmp+1;end if;case tmp is when “00000000”=>d:=“11111111”;when “00000001”=>d:=“11111110”;when “00000010”=>d:=“11111100”;when “00000011”=>d:=“11111001”;when “00000100”=>d:=“11110101”;when “00000101”=>d:=“11101111”;when “00000110”=>d:=“11101001”;when “00000111”=>d:=“11100001”;when “00001000”=>d:=“11011001”;when “00001001”=>d:=“11001111”;when “00001010”=>d:=“11000101”;when “00001011”=>d:=“10111010”;when “00001100”=>d:=“10101110”;when “00001101”=>d:=“10100010”;when “00001110”=>d:=“10010110”;when “00001111”=>d:=“10001010”;when “00010000”=>d:=“01111100”;when “00010001”=>d:=“01100000”;when “00010010”=>d:=“01100011”;when “00010011”=>d:=“01010111”;when “00010100”=>d:=“01001011”;when “00010101”=>d:=“01000000”;when “00010110”=>d:=“00110101”;when “00010111”=>d:=“00101011”;when “00011000”=>d:=“00100010”;when “00011001”=>d:=“00011010”;when “00011010”=>d:=“00010011”;when “00011011”=>d:=“00001101”;when “00011100”=>d:=“00001000”;when “00011101”=>d:=“00000001”;when “00011110”=>d:=“00000001”;when “00011111”=>d:=“00000000”;when “00100000”=>d:=“00000000”;when “00100001”=>d:=“00000001”;when “00100010”=>d:=“00000001”;when “00100011”=>d:=“00001000”;when “00100100”=>d:=“00001101”;when “00100101”=>d:=“00010011”;when “00100110”=>d:=“00011010”;when “00100111”=>d:=“00100010”;when “00101000”=>d:=“00101011”;when “00101001”=>d:=“00110101”;when “00101010”=>d:=“01000000”;when “00101011”=>d:=“01001011”;when “00101100”=>d:=“01010111”;when “00101101”=>d:=“01100011”;when “00101110”=>d:=“01100000”;when “00101111”=>d:=“01111100”;when “00110000”=>d:=“10001001”;when “00110001”=>d:=“10010110”;when “00110010”=>d:=“10100010”;when “00110011”=>d:=“10101110”;when “00110100”=>d:=“10111010”;when “00110101”=>d:=“11000101”;when “00110110”=>d:=“11011001”;when “00110111”=>d:=“11011001”;when “00111000”=>d:=“11100001”;when “00111001”=>d:=“11101001”;when “00111010”=>d:=“11101111”;when “00111011”=>d:=“11110101”;when “00111100”=>d:=“11111001”;when “00111101”=>d:=“11111100”;when “00111110”=>d:=“11111110”;when “00111111”=>d:=“11111111”;when others=>null;end case;end if;da<=d srl 1;--幅度调整 end process;end behav;

频率计

1、频率产生器: library ieee;use ;library lpm;use ;entity lpm_counter0 is port(clock: in std_logic;q: out std_logic_vector(26 downto 0));end lpm_counter0;architecture syn of lpm_counter0 is signal sub_wire0 : std_logic_vector(26 downto 0);component lpm_counter generic(lpm_direction : string;

lpm_port_updown : string;lpm_type : string;lpm_width : natural);port(clock : in std_logic;

q : out std_logic_vector(26 downto 0));end component;begin q <= sub_wire0(26 downto 0);lpm_counter_component : lpm_counter generic map(lpm_direction => “up”,lpm_port_updown => “port_unused”,lpm_type => “lpm_counter”,lpm_width => 27)port map(clock => clock,q => sub_wire0);end syn;

2、测频控制信号发生器 library ieee;use ;use ;entity testpl is port(clk:in std_logic;--1hz信号

tsten:out std_logic;--计数器使能信号 clr_cnt:out std_logic;--计数器清零信号 load:out std_logic);--锁存器输出控制信号 end testpl;architecture art of testpl is signal div2clk:std_logic;begin process(clk)begin if clk'event and clk='1'then div2clk<=not div2clk;--div2clk为0.5hz end if;end process;process(clk ,div2clk)begin if(clk='0'and div2clk='0')then clr_cnt<='1';--当div2clk与clk同时为零时计数器清零 else clr_cnt<='0';--当div2clk处于的高电平时计数器计数 end if;end process;load<=not div2clk;--锁存器输出与计数器使能信号反相 tsten<=div2clk;end art;

3、有时钟使能的十进制计数器 library ieee;use ;use ;entity cnt10 is port(clk,clr,en: in std_logic;--clk:计数器时钟,clr:清零信号,en:计数使能信号

q: out std_logic_vector(3 downto 0);--q:4位计数结果输出 c10: out std_logic);--计数进位 end cnt10;architecture art of cnt10 is signal cqi: std_logic_vector(3 downto 0);begin process(clk,clr)begin if clr='1' then cqi<=“0000”;--当输入的clr_cnt为低电平1时清零 elsif clk'event and clk='1' then if en='1' then--当输入的tesen为高电平1时允许计数 if(cqi<9)then cqi<=cqi+1;else cqi<=“0000”;--等于9则计数器清零 end if;--当输入的tesen为低电平0时禁止计数,锁定计数值 end if;end if;end process;--产生进位

process(cqi)begin if cqi=“1001” then c10<='1';--当加的9时产生进位输出 else c10<='0';end if;end process;q<=cqi;end art;4、16位锁存器 library ieee;use ;use ;entity reg16b is port(load: in std_logic;--输出锁存控制信号 din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end reg16b;architecture art of reg16b is begin process(load,din)begin if load'event and load='1'then--load为高电平时teten为低电平,计数器禁止 dout<=din;--锁存输入的数据 end if;end process;end art;

5、数码管控制器 library ieee;use ;use ;entity ledcom is port(clk:in std_logic;--数码管扫描频率

datain: in std_logic_vector(15 downto 0);--锁存器输入的16位信号 dataout: out std_logic_vector(3 downto 0);-输出至译码器的4位信号 com: out std_logic_vector(3 downto 0));--输出数码管选择信号 end ledcom;architecture art of ledcom is signal comclk: std_logic_vector(1 downto 0);begin--comclk同扫描频率clk循环变化 process(clk)begin if rising_edge(clk)then if comclk>=3 then

comclk <=“00”;

else comclk<=comclk+1;end if;end if;end process;--数码管选择

process(comclk)begin case comclk is when “00” => com<=“1000”;when “01” => com<=“0100”;when “10” => com<=“0010”;when “11” => com<=“0001”;when others =>null;end case;end process;--对应数码管的输出

process(comclk,datain)begin case comclk is when “11”=> dataout<=datain(3 downto 0);when “10”=> dataout<=datain(7 downto 4);when “01”=> dataout<=datain(11 downto 8);when “00”=> dataout<=datain(15 downto 12);when others =>null;end case;end process;end art;

6、七段数码管的译码器 library ieee;use ;entity ymq is port(d_in: in std_logic_vector(3 downto 0);--数码管控制器输入四位信号

d_out: out std_logic_vector(7 downto 0));--输出8位信号 end ymq;--第8位d_out[7]为逗号 architecture art of ymq is begin process(d_in)begin case d_in is--第8位为1高电平逗号不显示 when “0000” => d_out<=“11000000”;--0 when “0001” => d_out<=“11111001”;--1 when “0010” => d_out<=“10100100”;--2 when “0011” => d_out<=“10110000”;--3 when “0100” => d_out<=“10011001”;--4 when “0101” => d_out<=“10010010”;--5 when “0110” => d_out<=“10000010”;--6 when “0111” => d_out<=“11111000”;--7 when “1000” => d_out<=“10000000”;--8 when “1001” => d_out<=“10010000”;--9 when others =>null;end case;end process;end art;

7、元件声明及例化将各个元器件依据设计相连 library ieee;use ;entity lx is port(clk: in std_logic;led: out std_logic_vector(7 downto 0);ledc: out std_logic_vector(3 downto 0));end lx;architecture art of lx is component lpm_counter0--待调用的频率生成器端口定义 port(clock: in std_logic;q: out std_logic_vector(26 downto 0));end component;--十进制计数器

component cnt10--待调用的有时钟使能的十进制计数器端口定义

port(clk,clr,en: in std_logic;q: out std_logic_vector(3 downto 0);c10: out std_logic);end component;--16位锁存器

component reg16b--待调用的32位锁存器端口定义 port(load: in std_logic;din: in std_logic_vector(15 downto 0);dout: out std_logic_vector(15 downto 0));end component;--测频控制器

component testpl--待调用的测频控制信号发生器端口定义 port(clk:in std_logic;tsten:out std_logic;clr_cnt:out std_logic;load:out std_logic);end component;--数码管选择器

component ledcom--待调用的数码管选择器端口定义 port(clk:in std_logic;datain: in std_logic_vector(15 downto 0);dataout: out std_logic_vector(3 downto 0);com: out std_logic_vector(3 downto 0));end component;--译码器

component ymq--待调用的译码器端口定义 port(d_in: in std_logic_vector(3 downto 0);d_out: out std_logic_vector(7 downto 0));end component;signal clk1,clk2,clk3: std_logic;--clk1为1hz信号,clk2为被测信号,clk3为数码管扫描信号

signal tsten,clr,load: std_logic;signal c1,c2,c3,c4: std_logic;signal qout,rout: std_logic_vector(15 downto 0);signal datao: std_logic_vector(3 downto 0);begin u0:testpl port map(clk1,tsten,clr,load);u1:cnt10 port map(clk2,clr,tsten,qout(3 downto 0),c1);u2:cnt10 port map(c1,clr,tsten,qout(7 downto 4),c2);u3:cnt10 port map(c2,clr,tsten,qout(11 downto 8),c3);u4:cnt10 port map(c3,clr,tsten,qout(15 downto 12),c4);u5:reg16b port map(load,qout(15 downto 0),rout);u6:ledcom port map(clk3,rout,datao,ledc);u8:ymq port map(datao,led);u9:lpm_counter0 port map(clk,q(25)=>clk1,q(15)=>clk2,q(17)=>clk3);end art;

6.结果显示

7.实习心得

EDA课程设计报告 eda设计实验报告篇三

eda课程设计报告书

交通灯设计

设 计 者: 邱春华 吕云兰

指导老师: 李 敏

学 号: 09387105 09387114 专业班级:通信工程0911班

摘要………………………………………………………………………………3

1、设计任务………………………………………………………………………4

2、方案选择与论证………………………………………………………4

3、实现方案原理及说明…………………………………………………………5

4、系统设计详述…………………………………………………………………6 a、分频器的设计……………………………………………………………………6 b、控制器的设计……………………………………………………………………7 c、计数器的设计……………………………………………………………………7 d、分位译码电路的设计……………………………………………………………8 e、数码管驱动的设计——绿灯和红灯驱动………………………………………9 f、数码管驱动的设计--黄灯驱动……………………………………………9

5、程序设计………………………………………………………………………10 5.1 分频器的设计…………………………………………………………………10 5.2 控制器的设计…………………………………………………………………10 5.3 计数器的设计…………………………………………………………………11 5.4 分位译码电路的设计…………………………………………………………14 5.5数码管驱动的设计……………………………………………………………15

6、整个系统的构成及仿真图……………………………………………………17

7、心得体会………………………………………………………………………18

8、参考文献………………………………………………………………………18

语言实现交通灯的设计

作者:邱春华、吕云兰

指导老师:李 敏(湖北文理学院理工学院 襄阳 230036)

【摘要】:伴随着社会的发展以及人类生活水平的提高,汽车的数量在eda技术的发展和应用领域的扩大与深入,eda 技术在电子信息、通信、自动控制及计算机应用等领域的重要性日益突出。随着技术市场与人才市场对dea 的不断的增加,交通的问题日益突出,单单依靠人力来指挥交通已经不可行了。所以,设计交通灯来完成这个需求就显的越加迫切。

【关键字】:eda技术、vhdl语言、交通灯

quartusii 设计软件为用户提供完整的多平台设计环境,它可以轻易满足特定设计的需要。它是单芯片可编程系统(sopc)设计的综合性环境,eda技术作为现代电子设计技术的核心,它依赖强大的计算机,在eda工具软件平台上,对以硬件描述语言vhdl为系统逻辑描述手段完成的设计文件,自动地完成逻辑编译、逻辑简化、逻辑分割、逻辑综合,以及逻辑优化和仿真测试,直至实现既定的电子线路系统功能。下面详细介绍在quartus ii软件环境下开发基于vhdl语言交通灯的设计。、设计任务

a、设计内容

设计一个十字路口的交通灯控制系统,用实验平台上的led 发光二极管显示车辆通过的方向(甲车道和乙车道各一组),用数码管显示该方向的亮灯时间。

b、设计要求:

交通灯按正常状态依次点亮红、黄、绿灯,交警可以根据路口车流量的情况分别设置红、绿、黄灯持续点亮的时间。在红、绿灯点亮时,能够显示其点亮持续的时间。

2、方案选择与论证

本次实验设计交通灯设计采用自顶向下、由粗到细, 逐步分解的设计方法, 最顶层电路是指系统的整体要求, 最下层是具体的逻辑电路的实现。自顶向下的设计方法将一个复杂的系统逐渐分解成若干功能模块, 从而进行设计描述, 并且应用eda 软件平台自动完成各功能模块的逻辑综合与优化, 门级电路的布局, 再下载到硬件中实现设计。对于交通灯来说首先是分频器、控制器、计数器、分位译码电路及数码管驱动的设计,然后能在led中显示红、绿、黄灯的转化,并带有数码管计时功能。通过参考eda课程设计指导书,有以下方案:

(1)、顶层文件输入端口:时钟脉冲信号、复位按键及绿灯计数器的计数范围输入端t1;输出端口:两个车道的红、绿、黄输出,及其所对应各灯所输出时间计数共16个。

(2)、底层文件分为:a.分频模块、b.计数器模块、c.控制器模块、d.分位译码模块、e.数码管驱动模块。

、实现方案原理及说明

从题目中计数值与交通灯的亮灭的关系如图(1)所示:

图(1)

交通灯控制器系统框图如图2 所示:

图(2)考虑到黄灯的作用是警示已过停车线的司机尽快离开路口,而路口总宽度不变,因此将其固定为5 秒,而红灯亮的时间等于绿灯亮的时间加上黄灯亮的时间,因此紧对绿灯点亮时间进行设置就可以同时改变红灯亮的时间,这里将绿灯所能设置的最长时间设置为40 秒即(0

4、系统设计详述

其输入及输出端口有:

clkin——输入的高频时钟脉冲; reset——复位端,高电平有效; t1——绿灯计数器的计数范围输入端;

r1、g1、y1——分别为第一车道红、绿、黄灯输出;

r1a、r1b、g1a、g1b、y1a——分别为第一车道红、绿、黄灯对应的数码管计数输出;

r2、g2、y2——分别为第二车道红、绿、黄灯输出;

r2a、r2b、g2a、g2b、y2a——分别为第二车道红、绿、黄灯对应的数码管计数输出; a、分频器的设计

分频器实现的是将高频时钟信号转换成低频的时钟信号,用于触发控制器和计数器。该分频器实现的是一千分频,将一千赫兹的时钟信号分频成一赫兹的时钟信号。生成的symbol 文件如图

图(3)3 和仿真波形如图4 所示。

图(4)

b、控制器的设计

控制器的作用是根据计数器的计数值及t1 的输入数据控制发光二极管的亮、灭,以及输出正计时数值给七段数码管的分位译码电路。本控制器是利用时钟沿的下降沿读取前级计数器的计数值,然后作出反应;生成的实体模块如图5 和仿真波形如图6 所 图(5)示。

图(6)

c、计数器的设计

计数器rcounter的计数范围为由t1引脚输入。计到t1 后,下一个时钟沿恢复到0,开始下一轮计数。仿真波形如图当t1 取7 时,计数器计数到7 后清零。实体模块如图7 和仿真波形如图8。计数器grounter和计数器ycounter的实体模块如图9 和图10 所示。

图(7)图(9)图(10)

图(8)

d、分位译码电路的设计

由于控制器输出的正计时数值可能是1 位或者2 位十进制数,因此在七段数码管的译码电路前要加上分位电路(即将其分成2 个1 位的十进制数,如40 分成4 和0,5分为0 和5)。与控制器一样,分位电路同样可以由时钟驱动,也可以设计成纯组合逻辑电路。控制器中,引入了寄

图(11)存器。本电路中分位电路使用组合逻辑电路实现。生成的实体模块如图11 及仿真波形如图12。

图(12)

e、数码管驱动的设计——绿灯和红灯驱动

要求数码管共阳极连接(共阳极的公共端为低电平时,led 不亮),在设计中为每个数码管都添加了一个驱动电路,在使用时通过调用模块来实现。本模块设计为时序逻

图(14)

辑电路,采用下降沿触发。实体模块如图14 和仿真波形如图15。

图(15)

f、数码管驱动的设计——黄灯驱动

由于黄灯固定时间是5 秒,因此变化范围是0 至5 秒,七段数码管只要能显示0-5 的数就行了,所以单独用一个数码管驱动。实体模块如图16和仿真波形如图17。图(16)

图(17)

、程序设计

5.1 分频器的设计

library ieee;use ;entity fredevider is port(clkin:in std_logic;clkout:out std_logic);end;architecture devider of fredevider is constant n:integer:=499;signal counter:integer range 0 to n;signal clk:std_logic;begin process(clkin)begin if rising_edge(clkin)then if counter=n then counter<=0;clk<=not clk;else counter<=counter+1;end if;end if;end process;clkout<=clk;end;5.2 控制器的设计

library ieee;use ;entity control is port(clk :in std_logic;c1,c2,c3:out std_logic;w1,w2,w3:in std_logic;r1,r2 :out std_logic;y1,y2 :out std_logic;g1,g2 :out std_logic;reset :in std_logic);end control;architecture a of control is type state_space is(s3,s2,s1,s0);

begin process(clk)begin if reset='1' then state<=s0;else if(clk'event and clk='1')then case state is when s0=> if w1='1' then state<=s1;end if;when s1=> if w2='1' then state<=s2;end if;when s2=> if w3='1' then state<=s3;end if;when s3=> if w2='1' then state<=s0;end if;end case;end if;end if;end process;c1<='1'when state =s0 else '0';c2<='1'when state =s1 or state =s3 else '0';c3<='1'when state =s2 else '0';r1<='1'when state =s1 or state =s0 else '0';y1<='1'when state =s3 else '0';g1<='1'when state =s2 else '0';r2<='1'when state =s2 or state =s3 else '0';y2<='1'when state =s1 else '0';g2<='1'when state =s0 else '0';end a;5.3 计数器的设计 5.3.1 绿灯计数器

library ieee;use ;

port(clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 40;c1 :out std_logic;m1 :out integer range 0 to 5);end gcounter;architecture a of gcounter is begin process(clk)variable cnt : integer range 0 to 40;begin if(clk'event and clk='1')then if enable='1'and cnt

library ieee;use ;entity rcounter is port(clk :in std_logic;enable :in std_logic;t1 :in integer range 0 to 40;c2 :out std_logic;m2:out integer range 0 to 32);end rcounter;architecture a of rcounter is constant y:integer:=5;signal t2: integer range 0 to 45;begin process(clk)variable cnt : integer range 0 to 45;

t2<=t1+y;if(clk'event and clk='1')then if enable='1'and cnt

library ieee;use ;entity ycounter is port(clk :in std_logic;enable :in std_logic;c3 :out std_logic;m3 :out integer range 0 to 5);end ycounter;architecture a of ycounter is begin process(clk)variable cnt : integer range 0 to 5;begin if(clk'event and clk='1')then if enable='1'and cnt<5 then cnt:=cnt+1;else cnt:=0;end if;if cnt=5 then c3<='1';else c3<='0';end if;end if;

end process;end a;5.4 分位译码电路设计 5.4.1分位器-1 library ieee;use ;entity fenwei1 is port(numin:in integer range 0 to 45;numa,numb:out integer range 0 to 9);end;architecture behavior of fenwei1 is begin process(numin)begin if numin>=40 then numa<=4;numb<=numin-40;elsif numin>=30 then numa<=3;numb<=numin-30;elsif numin>=20 then numa<=2;numb<=numin-20;elsif numin>=10 then numa<=1;numb<=numin-10;else numa<=0;numb<=numin;end if;end process;end;5.4.2分位器-2 library ieee;use ;entity fenwei2 is port(numin:in integer range 0 to 45;);end;architecture behavior of fenwei2 is begin process(numin)begin if numin>=40 then numc<=4;numd<=numin-40;elsif numin>=30 then numc<=3;numd<=numin-30;elsif numin>=20 then numc<=2;numd<=numin-20;elsif numin>=10 then numc<=1;numd<=numin-10;else numc<=0;numd<=numin;end if;end process;end;5.5数码管驱动的设计 5.5.1 红绿灯驱动

library ieee;use ;entity ygqudong is port(clk:in std_logic;enable :in std_logic;data:in integer range 0 to 9;segout: out std_logic_vector(6 downto 0));end;architecture behavior of ygqudong is begin process(clk,data)begin if falling_edge(clk)and enable='1' then case data is

when 1=>segout<=“0110000”;when 2=>segout<=“1101101”;when 3=>segout<=“1111001”;when 4=>segout<=“0110011”;when 5=>segout<=“1011011”;when 6=>segout<=“0011111”;when 7=>segout<=“1110000”;when 8=>segout<=“1111111”;when 9=>segout<=“1110011”;when others =>null;end case;end if;end process;end;5.5.2 黄灯驱动

library ieee;use ;entity hqudong is port(clk:in std_logic;enable :in std_logic;data:in integer range 0 to 5;segout: out std_logic_vector(6 downto 0));end;architecture behavior of hqudong is begin process(clk,data)begin if falling_edge(clk)and enable='1' then case data is when 0=>segout<=“1111110”;when 1=>segout<=“0110000”;when 2=>segout<=“1101101”;when 3=>segout<=“1111001”;when 4=>segout<=“0110011”;when 5=>segout<=“1011011”;when others =>null;end case;end if;end process;end;

、整个系统的构成及仿真图

图(18)

图(19)

结果说明:在图18 中,绿灯计数器直接接分位译码器1,红灯计数器直接接分位译码器2,每个译码器分别接两个驱动电路,然后接输出。左边5 个驱动器接的数码管显示的是甲车道各个灯亮的时间,右边5 个驱动器接的数码管显示的是乙车道各个灯亮的时间。在19 图中可以看出甲车道绿灯亮的时间加上黄灯亮

乙车道红灯亮的时间,乙车道绿灯亮的时间加上黄灯亮的时间等于甲车道红灯亮的时间。与此同时具有灯亮时间计数显示,可以看出该系统满足我们所需的要求。

7、心得体会

一段时间的eda课程设计,使我们学到了很多,本次课程设计的交通灯所需底层模块很多,其实现的vhdl语言程序较多,整个过程中调试程序是很重要的,要有很好的耐心,开始编译时总是会有很多错误,比如输入错误、语法错误等,发现错误之后再一遍一遍的仔细查错,直到没有错误,然后进行波型仿真。现在,对eda 的认识有了很大的提高,能够熟练的使用quartsii,能够用vhdl 语言编写简单的、实用的小程序,这次eda 课程设计重点学习了交通灯部分程序的编写、调试、还有硬件下载、操作等过程。在整个课程设计的过程中,我们查阅了大量的关于eda 的资料,特别是在网上和图书馆我找到了大量的关于硬件编程的资料。在李敏老师平时认真的授课及严格的治学态度下,让我有了一定的基础,同时还得感谢老师在实验课上的细心指导,让我们学到了很多,受益终生。

【参考文献】

[1] 潘松, 技术实用教程[m] 第2版 北京: 科学出版社, 2006 [2] 曹昕燕,周凤臣,技术实验与课程设计 北京:清华大学出版社,2006.5

EDA课程设计报告 eda设计实验报告篇四

数字钟

一、实验目的

1、掌握多位计数器相连的设计方法。

2、掌握十进制,六进制,二十四进制计数器的设计方法。

3、掌握扬声器的驱动及报时的设计。

4、led灯的花样显示。

5、掌握cpld技术的层次化设计方法。

二、实验器材

1、主芯片altera epf10k10lc84-4。2、8个led灯。

3、扬声器。4、4位数码显示管。5、8个按键开关(清零,调小时,调分钟)。

三、实验内容

根据电路特点,运用层次设计概念设计。将此设计任务分成若干模块,规定每一模块的功能和各模块之间的接口。

1、时计时程序: library ieee;use ;use ;

entity hour is

port(reset,clk : in std_logic;

daout : out std_logic_vector(7 downto 0));end hour;

architecture behav of hour is

signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);begin

p1: process(reset,clk)

begin

if reset='0' then

count<=“0000”;

counter<=“0000”;

elsif(clk'event and clk='1')then

if(counter<2)then

if(count=9)then

count<=“0000”;

counter<=counter + 1;

else

count<=count+1;

end if;

else

if(count=3)

then

counter<=“0000”;

else

count<=count+1;

count<=“0000”;

end if;

end if;

end if;

end process;

daout(7 downto 4)<=counter;daout(3 downto 0)<=count;

end behav;

2、分计时程序: library ieee;

use ;use ;

entity minute is

port(reset,clk,sethour: in std_logic;

daout : out std_logic_vector(7 downto 0);

enhour : out std_logic);end minute;

architecture behav of minute is

signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);signal carry_out1 : std_logic;signal carry_out2 : std_logic;begin

p1: process(reset,clk)begin

if reset='0' then

count<=“0000”;

counter<=“0000”;

elsif(clk'event and clk='1')then

if(counter<5)then

if(count=9)then

count<=“0000”;

counter<=counter + 1;

else

count<=count+1;

end if;

carry_out1<='0';

else

if(count=9)then

count<=“0000”;

counter<=“0000”;

carry_out1<='1';

else

count<=count+1;

carry_out1<='0';

end if;

end if;end if;end process;

p2: process(clk)begin

if(clk'event and clk='0')then

if(counter=0)then

if(count=0)then

carry_out2<='0';

end if;

else

carry_out2<='1';

end if;end if;end process;

daout(7 downto 4)<=counter;daout(3 downto 0)<=count;enhour<=(carry_out1 and carry_out2)or sethour;end behav;

3、秒计时程序: library ieee;

use ;use ;

entity second is

port(reset,clk,setmin : in std_logic;

daout : out std_logic_vector(7 downto 0);

enmin : out std_logic);end second;

architecture behav of second is

signal count : std_logic_vector(3 downto 0);signal counter : std_logic_vector(3 downto 0);signal carry_out1 : std_logic;signal carry_out2 : std_logic;begin

p1: process(reset,clk)begin

if reset='0' then

count<=“0000”;

counter<=“0000”;

elsif(clk'event and clk='1')then

if(counter<5)

then

if

(count=9)

then

count<=“0000”;

counter<=counter + 1;

else

count<=count+1;

end if;

carry_out1<='0';

else

if(count=9)

then

count<=“0000”;

counter<=“0000”;

carry_out1<='1';

else

count<=count+1;

carry_out1<='0';

end if;

end if;end if;end process;daout(7 downto

4)<=counter;

daout(3

downto

0)<=count;enmin<=carry_out1 or setmin;end behav;6

4、alert程序: library ieee;

use ;use ;

entity alert is port(clkspk : in std_logic;

second : in std_logic_vector(7 downto 0);

minute : in std_logic_vector(7 downto 0);

speak : out std_logic;

lamp : out std_logic_vector(8 downto 0));end alert;

architecture behav of alert is signal divclkspk2 : std_logic;begin p1: process(clkspk)begin

if(clkspk'event and clkspk='1')then

divclkspk2<=not divclkspk2;

end if;end process;p2: process(second,minute)begin if(minute=“01011001”)then case second is

when “01010001”=>lamp<=“000000001”;speak<=divclkspk2;when “01010010”=>lamp<=“000000010”;speak<='0';when “01010011”=>lamp<=“000000100”;speak<=divclkspk2;when “01010100”=>lamp<=“000001000”;speak<='0';when “01010101”=>lamp<=“000010000”;speak<=divclkspk2;when “01010110”=>lamp<=“000100000”;speak<='0';when “01010111”=>lamp<=“001000000”;speak<=divclkspk2;when “01011000”=>lamp<=“010000000”;speak<='0';when “01011001”=>lamp<=“100000000”;speak<=clkspk;when others=>lamp<=“000000000”;end case;end if;end process;end behav;8

5、seltime程序 library ieee;

use ;use ;

entity seltime is port(ckdsp : in std_logic;

reset : in std_logic;

second : in std_logic_vector(7 downto 0);

minute : in std_logic_vector(7 downto 0);

hour : in std_logic_vector(7 downto 0);

daout : out std_logic_vector(3 downto 0);

sel : out std_logic_vector(2 downto 0));end seltime;

architecture behav of seltime is signal sec : std_logic_vector(2 downto 0);begin

process(reset,ckdsp)begin

if(reset='0')then sec<=“000”;

elsif(ckdsp'event and ckdsp='1')then

sec<=“000”;else

sec<=sec+1;end if;end if;end process;

process(sec,second,minute,hour)begin case sec is

when “000”=>daout<=second(3 downto 0);when “001”=>daout<=second(7 downto 4);when “011”=>daout<=minute(3 downto 0);when “100”=>daout<=minute(7 downto 4);when “110”=>daout<=hour(3 downto 0);when “111”=>daout<=hour(7 downto 4);when others=>daout<=“1111”;end case;end process;

if(sec=“111”)then

sel<=sec;end behav;

6、deled程序: library ieee;

use ;use ;

entity deled is port(s: in std_logic_vector(3 downto 0);

a,b,c,d,e,f,g,h: out std_logic);end deled;

architecture behav of deled is

signal data:std_logic_vector(3 downto 0);signal dout:std_logic_vector(7 downto 0);begin data<=s;process(data)begin

case data is

when “0000”=>dout<=“00111111”;when “0001”=>dout<=“00000110”;when “0010”=>dout<=“01011011”;when “0011”=>dout<=“01001111”;when “0100”=>dout<=“01100110”;when “0101”=>dout<=“01101101”;when “0110”=>dout<=“01111101”;when “0111”=>dout<=“00000111”;when “1000”=>dout<=“01111111”;when “1001”=>dout<=“01101111”;when “1010”=>dout<=“01110111”;when “1011”=>dout<=“01111100”;when “1100”=>dout<=“00111001”;when “1101”=>dout<=“01011110”;when “1110”=>dout<=“01111001”;when “1111”=>dout<=“01000000”;when others=>dout<=“00000000”;end case;end process;h<=dout(7);

g<=dout(6);

f<=dout(5);

e<=dout(4);d<=dout(3);c<=dout(2);b<=dout(1);a<=dout(0);end behav;

7、顶层原理图:

四、实验结果 顶层原理图仿真波形:

五、心得体会

1、系统设计进要行充分的方案论证,不可盲目就动手去做;

2、实验中对每一个细节部分都要全面思考,要对特殊情况进行处理;

3、对于数字系统,要考虑同步、异步问题;

4、数字电路的理论分析要结合时序图;

5、遇到问题,要顺藤摸瓜,分析清楚,不可胡乱改动,每做一次改变都要有充分的理由;

6、模块化设计方法的优点在于其简洁性,但是在实验设计中也发现,在实验最终电路确定之前,要尽量减少模块重叠嵌套,因为在总的电路敲定之前,电路还不成熟,很多地方需要改进,如果在开始时就进行多层模块化,里层模块电路的修改将影响其外层的全部电路,这样就是牵一发动全身,很显然,这样将导致电 数字钟课程设计 电路设计的低效,所以在设计过程中,一定要尽量减少超过两层的模块;

7、遇到问题花了很长时间没有解决掉,要学会想他人请教,别人的不经意一点,可能就能把自己带出思维死区。

EDA课程设计报告 eda设计实验报告篇五

eda

多 功 能 数 字 时 钟

专业:11级应用电子技术 班级:二班

学号:110372021307 姓名:贺成林 指导老师:祝宏

日期:2012年6月29日

一、实验目的

1、课程设计是一实践教学环节,是针对《数字电子技术》课程的要求,结合实践对学生进行综合设计性训练,在自学和实践训练中培养学生理论联系实践和实践动手能力,独立地解决实际问题能力。

2、通过课程设计是使学生熟悉和了解可编程专用数字逻辑电路的设计、开发流程,熟悉和了解现代eda设计工具,掌握数字电子系统层次化的设计方法。

已知条件:max+plus软件

基本功能:

1、以数字形式显示时、分、秒的时间;

2、小时计数器为24进制;

3、分秒计数器为60进制。

二、实验要求、综合应用《数字电子技术基础》课程中的理论知识去独立地完成一个设计课题;

2、熟悉和了解现代eda设计、编程、编译、仿真及下载技术的全过程。

三、eda 技术介绍

1、eda 技术概况

eda 是电子设计自动化(electronic design automation)的缩写,在 20 世 纪 90 年代初从计算机辅助设计(cad)、计算机辅助制造(cam)、计算机辅助测试(cat)和计算机辅助工程(cae)的概念发展而来的。eda 技术就是以计算机为工 具,设计者在 eda 软件平台上,用硬件描述语言 hdl 完成设计文件,然后由计算机 自动地完成逻辑编译、化简、分割、综合、优化、布局、布线和仿真,直至对于特 定目标芯片的适配编译、逻辑映射和编程下载等工作。eda 技术的出现,极大地提 高了电路设计的效率和可*性,减轻了设计者的劳动强度。

2、altera quartus ii 软件介绍

quartus ii 是 altera 公司的综合性 pld 开发软件,支持原理图、vhdl、veriloghdl 以及 ahdl(altera hardware description language)等多种 设计输入形式,内嵌自有的综合器以及仿真器,可以完成从设计输入到硬件 配置的完整 pld 设计流程。

四、关键词

数字计数器、动态显示、快速校分、整点报时、时段控制。

五、实验步骤

1、秒计数器是60进制的。当下面的74161到9时等下一个脉冲来是向上面的74161计数,到5时将两个74161共同预置。从而实现00—59秒的计数功能。

电路图如下:

进行编译及波形仿真,如下图: 将上述文件保存并打包,如图:

2、分计数器是60进制的。功能如秒计数器。其电路图如下:

波形图仿真及打包图如下:

3、小时计数器是24进制的。当下面的74161到9时等下一个脉冲来是向上面的74161计数。但是等到上面的记到2时下面的将不能超过4,所以等上面的记到2,下面的记到4时就将两个74161共同预置。从而实现00—24秒的计数功能。

原理图如下:

仿真的波形图及打包的文件图如下:

4、校时。校时是通过加快时分的计数速度来快速校准时间的。实际上我们把秒脉冲cps加到分计数和时计数上,是他们加快计数速度。所以其中我们需要通过开关来选择。

原理图及打包图如下:

5、时段控制:时段控制是通过7485集成电路的数据比较来控制的。

原理图及打包图如下:

6、整点报时:整点报时是通过整点时的二进制数据规律来报时的。

原理图及打包图如下:

7、将时分秒打包文件连成多功能数字电路图如下:

8、多功能数字钟硬件测试原理图如下:

9、部分制作过程图,如下:

六、实验工具

装有quartusⅱ软件的电脑,eda开发板,相关eda设计方面的书籍。

七、设计中遇到问题及解决方法

1、实验后期的引脚分配及下载方法不当,实验所用电脑没有

quartus11.0 的 驱动。耗费时间较多。解决方法:参阅西安电子科技大学出版社出版的《数字电路设计及 verilog hdl 实现》第 394 页关于引脚分配和下载验证的介绍;

2、下载验证过程中时段控制部分有错误,原代码在软件上仿真没有错误,但是下载到实验板验证时,出现错误。解决方法:通过去请教同学及查阅相关资料得到解决。

八、特点和实用性

利用 quartusii 软件,结合所学的数字电路的知识设计一个 24 时多功能数 字钟,具有正常分、秒计时,动态显示、快速校分、整点报时、时段控制的功能。分析整个电路的工作原理,分别说明各子模块的设计原理和调试、仿真、编 程下载的过程,并对最终结果进行总结,最后提出在实验过程中出现的问题和解 决的方案。通过实验掌握一些逻辑组合器件的基本功能和用法,同时体会利用软件设计 电路的方便快捷,避免硬件布线的繁琐,提高效率。

九、心得体会

1、设计必须要有整体概念,提前熟悉软件。刚开始时没头绪,不知道该怎 样分块,进度很慢,加上对软件不是很熟悉,比如:封装要注意哪些,哪些不能 运行,哪些是不正确的操作等等,走了很多冤枉路。

2、设计的模块要分块调试,免得等所有都完工了再调试出错,那样的话很 难确定是什么出错,更加没头绪。有必要的话做一部分后就送到平台上调试,这 样会大大减少出错率。

3、没有硬件软件化的概念,开始设计时没有总体的规划,不知道什么是可行 的,什么是封装,怎样使搭配组合最优化。

4、遇到问题先自己摸索,查阅资料要有技巧,避免没有目的和思路。明白 自己要解决什么问题。同时请教老师,和同学交流。良好的沟通很重要。针对本次的毕业设计,用我国著名的数学家的话概括一下我的感受: “科学上没有平坦的大道,真理长河中有无数礁石险滩。只有不为畏攀登的采药者,只有不怕 巨浪的弄潮儿,才能登上高峰采得仙草,深入水底觅得骊珠。”

十、参阅教材及文献

1、蒋立平编著《数字电路》.南京理工大学翻印;

2、南京理工大学电子技术中心编著.《eda 设计实验指导书》 南京理工大学,2008 年;

3、谭会生,张昌凡.《eda 技术及应用》.西安电子科技大学出版社,2001年;

4、《数字电路设计及 verilog hdl 实现》 西安电子科技大学出版社出版;

5、《电子线路实验设计与仿真讲义》。

全文阅读已结束,如果需要下载本文请点击

下载此文档
猜你喜欢 网友关注 本周热点 软件
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?以下是小编
演讲稿也叫演讲词,是指在群众集会上或会议上发表讲话的文稿。演讲稿是进行宣传经常使用的一种文体。演讲的作用是表达个人的主张与见解,介绍一些学习、工作中的情况、经验
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?下面是小编帮大家整理的优质范文,仅供参考
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。大家想知道怎么样才能写一篇比较优质的范文吗?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看
“方”即方子、方法。“方案”,即在案前得出的方法,将方法呈于案前,即为“方案”。那么我们该如何写一篇较为完美的方案呢?以下是小编为大家收集的方案范文,欢迎大家分
2.方案在实际应用中具有指导性和操作性,可以帮助我们有条不紊地完成工作。方案中的步骤应该具备合理性和可操作性。探索下面的方案范例,或许你能从中找到适合自己的解决
方案的制定是一项重要的管理工作,它可以指导我们的行动并提高工作的效率。制定方案需要与相关人员进行有效沟通和协商,确保每个人的意见和建议都得到充分考虑。这些范文可
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。写范文的时候需要注意什么呢?有哪些格式需要注意呢?以
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们就来了解一下吧。长征沿
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。戴尔的
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。相信许多人会觉得范文很难写?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们一起来看一看吧。戴尔的
方案的设计要具有合理性和科学性,并且能够达到预期的效果。如果你想制定一个较为完美的方案,首先需要明确目标和需求,确保方案满足预期目标。方案是指为解决某个问题或实
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。大家想知道怎么样才能写一篇比较优质的范文吗?以下是小编为大家收集的优秀范文
环保是我们每个人的责任,我们需要采取行动保护地球。如何建立良好的团队合作精神,在集体中充分发挥自己的作用?读一读这些范文,能够加深我们对总结写作的理解和认识。幼
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面是小编为大
报告是一种系统、客观、详尽地描述某一工作、活动或问题的文献形式。写完报告后,最好进行审校和修改,确保语法和拼写没有错误,并优化段落和句子的结构。报告的目的是为了
作为一名默默奉献的教育工作者,通常需要用到教案来辅助教学,借助教案可以让教学工作更科学化。怎样写教案才更能起到其作用呢?教案应该怎么制定呢?下面是小编带来的优秀
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?这里我整理了一些优秀的范文,希望对大家有所帮助,下面我们
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。写范文的时候需要注意什么呢?有哪些格式需要注意呢?这
报告是对某一主题或问题进行详尽说明和阐述的一种书面或口头表达形式。报告的写作要注重整体思路和逻辑的严密性。在报告的编写过程中,我们还可以借鉴一些专业的报告模板和
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。大家想知道怎么样才能写一篇比较优质的范文吗?以下是我为大家搜集的优质范文,
为了保障事情或工作顺利、圆满进行,就不得不需要事先制定方案,方案是在案前得出的方法计划。方案能够帮助到我们很多,所以方案到底该怎么写才好呢?以下是小编精心整理的
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面是小编为大
为了确保我们的努力取得实效,就不得不需要事先制定方案,方案是书面计划,具有内容条理清楚、步骤清晰的特点。那么方案应该怎么制定才合适呢?下面是小编帮大家整理的方案
人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。大家想知道怎么样才能写一篇比较优质的范文吗?
心得体会是指一种读书、实践后所写的感受性文字。我们想要好好写一篇心得体会,可是却无从下手吗?下面我帮大家找寻并整理了一些优秀的心得体会范文,我们一起来了解一下吧
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。相信许多人会觉得范文很难写?接下来小编就给大家介绍一
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下面我给大家整理了一些优秀范文,希望能够帮助到大家,我们
“读后感”的“感”是因“读”而引起的。“读”是“感”的基础。走马观花地读,可能连原作讲的什么都没有掌握,哪能有“感”?读得肤浅,当然也感得不深。只有读得认真,才
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。写范文的时候需要注意什么呢?有哪些格式需要注意呢?下
思考过去,展望未来,总结是必要的!怎样写出一篇有价值、有深度的总结?总结是在一段时间内对学习和工作生活等表现加以总结和概括的一种书面材料,它可以促使我们思考,我
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。写范文的时候需要注意什么呢?有哪些格式需要注意呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来
作为一名默默奉献的教育工作者,通常需要用到教案来辅助教学,借助教案可以让教学工作更科学化。优秀的教案都具备一些什么特点呢?下面我帮大家找寻并整理了一些优秀的教案
演讲稿是一种通过口头表达方式向听众传递特定信息或观点的文稿,通常在公共场合或正式场合下使用。演讲稿的写作可以帮助我们更好地组织思路,表达清晰,提升演讲的效果和影
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?以下是小编为大家收集的优
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。那么我们该如何写一篇较为完美的范文呢?下面是小编帮大家整理的优质范文,仅供参考,大家一起来看看吧。口语话题
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。范文怎么写才能发挥它最大的作用呢?接下来小编就给大家介绍一下优秀的范文该怎么写,我们一起来看一看吧。口语话
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文怎么写才能发挥它最大的作用呢?接下来小编就给大家
人的记忆力会随着岁月的流逝而衰退,写作可以弥补记忆的不足,将曾经的人生经历和感悟记录下来,也便于保存一份美好的回忆。那么我们该如何写一篇较为完美的范文呢?这里我
总结是写给人看的,条理不清,人们就看不下去,即使看了也不知其所以然,这样就达不到总结的目的。那么我们该如何写一篇较为完美的总结呢?以下是小编为大家收集的总结范文
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?下面我给大
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?下面我给大家整理了一些优
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?这里
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?下面是小编
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。相信许多人会觉得范文很难写?以下是小编为大家收集的优秀
时间流逝得如此之快,我们的工作又迈入新的阶段,请一起努力,写一份计划吧。计划怎么写才能发挥它最大的作用呢?以下我给大家整理了一些优质的计划书范文,希望对大家能够
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。范文怎么写才能发挥它最大的作用呢?下面我给大家整理了
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面我给大家整
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。大家想知道怎么样才能写一篇比较优质的范文吗?以下是小编
美食是一种享受和交流的方式,我喜欢尝试各种不同的美食文化。总结应突出重点,避免冗长和啰嗦。下面是一些我们平时不容易总结出的经验和感悟,希望能给大家带来一些启示。
方案是从目的、要求、方式、方法、进度等都部署具体、周密,并有很强可操作性的计划。那么方案应该怎么制定才合适呢?以下是小编为大家收集的方案范文,欢迎大家分享阅读。
为了确保我们的努力取得实效,就不得不需要事先制定方案,方案是书面计划,具有内容条理清楚、步骤清晰的特点。怎样写方案才更能起到其作用呢?方案应该怎么制定呢?以下是
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。写范文的时候需要注意什么呢?有哪些格式需要注意呢?这
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文怎么写才能发挥它最大的作用呢?下面是小编帮大家整理的优质范文,仅供参考
范文为教学中作为模范的文章,也常常用来指写作的模板。常常用于文秘写作的参考,也可以作为演讲材料编写前的参考。相信许多人会觉得范文很难写?下面是小编帮大家整理的优
写心得体会可以帮助我们更好地提升自己在某个领域的专业素养。避免过于主观和情绪化的表达,保持客观和理性。下面是一些经典的心得体会范文,希望可以给大家提供一些写作的
报告能够帮助读者更好地了解特定主题,为决策和行动提供支持。在撰写报告之前,需要明确确定报告的目的、受众和重点。最后,祝你在撰写报告时顺利进行,并取得理想的结果和
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?下面我给大家整理了一些优
总结是一种思绪的整理,可以让我们更加清晰地认识到自己的所思所想。怎样积极投身公益事业,回报社会?以下是我们精心挑选的一些优秀总结范文,以供参考。学生感言50字篇
每个人都曾试图在平淡的学习、工作和生活中写一篇文章。写作是培养人的观察、联想、想象、思维和记忆的重要手段。范文怎么写才能发挥它最大的作用呢?下面是小编为大家收集
报告的撰写需要根据实际情况选择合适的格式和结构。在写报告之前,需要进行详细的调研和收集相关数据和信息。以下是小编为大家收集的报告范文,供大家参考和借鉴。学生会会
通过总结,我们可以反思和总结自己在某个领域中的收获和经验。总结的结尾可以展望未来,提出进一步的改进和提高的建议。收集总结范文可以帮助我们了解不同类型和风格的总结
良好的总结能够帮助我们更好地积累经验,为将来的发展打下基础。分析和总结自己的优点和不足,为写一篇完美总结提供更深入的思考和素材。某大型企业总结了一年来的工作成绩
总结通常涉及回顾过去的经验、总结关键问题以及提出改进和发展的建议。怎样处理失败和挫折,重拾信心?小编为大家精选了一些写总结的好例子,希望能够帮助到大家。寓言故事
不适用于已有分类的内容。善于总结的人通常注重细节、关注前人的经验,并勇于创新。下面是一些成功的公告范文,供大家参考和借鉴。法人授权证明书篇一被授权人姓名:授权人
在日常学习、工作或生活中,大家总少不了接触作文或者范文吧,通过文章可以把我们那些零零散散的思想,聚集在一块。那么我们该如何写一篇较为完美的范文呢?下面我给大家整
工作学习中一定要善始善终,只有总结才标志工作阶段性完成或者彻底的终止。通过总结对工作学习进行回顾和分析,从中找出经验和教训,引出规律性认识,以指导今后工作和实践
在日常的学习、工作、生活中,肯定对各类范文都很熟悉吧。那么我们该如何写一篇较为完美的范文呢?以下是我为大家搜集的优质范文,仅供参考,一起来看看吧珍珠鸟课堂实录王
无论是身处学校还是步入社会,大家都尝试过写作吧,借助写作也可以提高我们的语言组织能力。范文书写有哪些要求呢?我们怎样才能写好一篇范文呢?以下是小编为大家收集的优
musicolet
2025-08-21
Musicolet作为一款高质量音乐播放器,确实不负众望。它不仅汇集了海量的音乐资源,包括网络热歌与歌手新作,即便是小众歌曲也能轻松找到,满足不同用户的音乐需求。更重要的是,该软件干扰,提供清晰音质和完整歌词,为用户营造了一个纯净、沉浸式的听歌环境。对于追求高品质音乐体验的朋友来说,Musicolet绝对值得一试。
Anyview阅读器的历史版本是一款出色的在线小说阅读软件,它提供了详尽而全面的小说分类,涵盖了都市、武侠、玄幻、悬疑等多种类型的小说。用户可以随时在线阅读自己喜欢的小说,并且该软件还支持多种阅读模式和功能设置,让用户能够自由地免费阅读感兴趣的内容。这不仅为用户带来了全方位的追书体验,还配备了便捷的书架管理功能,方便用户轻松收藏热门小说资源,并随时查看小说更新情况,以便于下次继续阅读。欢迎对此感兴趣的用户下载使用。
BBC英语
2025-08-21
BBC英语是一款专为英语学习设计的软件,它提供了丰富多样的专业英语学习资源。无论你是想提高口语水平还是锻炼听力能力,这里都有专门针对这些需求的训练内容。此外,该软件还能智能地评估和纠正你的口语发音,帮助你使发音更加标准、记忆更加准确。
百度汉语词典
2025-08-21
百度汉语词典是一款专为汉语学习设计的软件。通过这款软件,用户能够访问到丰富的汉语学习资源,包括详细的学习计划和学习进度统计等功能,提供了非常全面的数据支持。该软件还支持汉字查询,并且可以进行多种词典内容的关联搜索,从而在很大程度上满足了用户对于汉语学习的各种需求。
屏幕方向管理器是一款专为用户提供手机方向控制服务的应用程序。作为一款专业的管理工具,它能够强制调整手机屏幕的旋转方向。这款应用程序提供了多种功能,使用户能够轻松选择个性化的屏幕旋转方式。此外,屏幕方向管理器还具备丰富的设置选项,让用户可以通过简单的操作实现更多个性化配置,使用起来既方便又快捷。

关于我们 | 网站导航 | 网站地图 | 购买指南 | 联系我们

联系电话:(0512)55170217  邮箱: 邮箱:3455265070@qq.com
考研秘籍网 版权所有 © kaoyanmiji.com All Rights Reserved. 工信部备案号: 闽ICP备2025091152号-1