简易逻辑分析仪EDA技术课程大作业.docx

上传人:b****5 文档编号:5367098 上传时间:2022-12-15 格式:DOCX 页数:12 大小:692.45KB
下载 相关 举报
简易逻辑分析仪EDA技术课程大作业.docx_第1页
第1页 / 共12页
简易逻辑分析仪EDA技术课程大作业.docx_第2页
第2页 / 共12页
简易逻辑分析仪EDA技术课程大作业.docx_第3页
第3页 / 共12页
简易逻辑分析仪EDA技术课程大作业.docx_第4页
第4页 / 共12页
简易逻辑分析仪EDA技术课程大作业.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

简易逻辑分析仪EDA技术课程大作业.docx

《简易逻辑分析仪EDA技术课程大作业.docx》由会员分享,可在线阅读,更多相关《简易逻辑分析仪EDA技术课程大作业.docx(12页珍藏版)》请在冰豆网上搜索。

简易逻辑分析仪EDA技术课程大作业.docx

简易逻辑分析仪EDA技术课程大作业

EDA技术课程大作业

 

设计题目:

简易逻辑分析仪设计

学生姓名:

学号:

专业班级:

电子信息工程

(1)班

 

2012年5月28日

目录

1.设计背景和设计方案1

1.1设计背景1

1.2设计方案1

2.方案实施2

2.1LPM计数器模块的设计2

2.2LPM随机存储器模块的设计4

2.3数字信号采集电路顶层文件的设计9

2.4仿真与测试9

3.结果和结论11

4.参考文献11

5.附件12

附件一:

电路原理图12

简易逻辑分析仪设计

1.设计背景和设计方案

1.1设计背景

随着大规模和超大规模集成电路以及计算机、DSP、FPGA、嵌入式系统的迅速发展,数字系统的能力得到了大幅度的提高,可以完成非常复杂的任务,因而得到了广泛的应用;但另一方面,系统的复杂度也越来越高,这就给设计和调试带来了一定的难度,传统的示波器等检测仪器并不能对数字系统进行检测和分析,而逻辑分析仪作为数据分析最有用、最有代表的一种,在现代电路系统设计与测试中得到了普遍的应用,逻辑分析仪也称逻辑示波器,它是一个多通道逻辑信号或逻辑数据采样、显示与分析的电子设备。

逻辑分析仪可以将数字系统中的脉冲信号,逻辑控制信号,总线数据,甚至毛刺脉冲都能同步高速地采集进该仪器中的高速RAM中暂存,以备现实和分析。

因此逻辑分析仪在数字系统、甚至计算机的设计开发和研究中提供了必不可少的帮助,但其价格十分昂贵,对于一般的教学或实验室使用来说不太合适。

本次我采用PC机和EDA技术设计了一种简易逻辑分析仪的数字信号采集电路模块。

1.2设计方案

LPM是LibraryofParameterizedModules(参数可设置模块库)的缩写,Altera提供的可参数化宏功能模块和LMP函数均基于Altera器件的结构作了优化设计。

QuartusII中含有大量的功能强大的LPM模块,本次通过设计一个简易逻辑分析仪,给出MegaWizardPlug-InManger管理器对同类宏模块的一般使用方法。

本次设计的数字信号采集电路主要由三个功能模块构成:

一个10为计数器LPM_COUNTER模块、一个LPM_RAM模块和一个锁存器74244。

 

2.方案实施

2.1LPM计数器模块的设计

首先打开一个原理图编辑窗,存盘取名位SLA,然后将它创建成工程,再依次进入本工程的原理图后,单击左下的MegaWizardPlug-InManger管理器按钮,然后进入如图2-1所示的窗口,选择LPM-COUNTER模块,再选择CycloneⅢ和VHDL;文件取名为CNT10B。

图2-1从原理图编辑窗进入LPM计数器编辑模块

最终生成的LPM计数器文件如图2-2所示。

 

图2-2LPM计数器模块

LPM计数器模块的VHDL文件如下:

LIBRARYieee;

USEieee.std_logic_1164.all;

LIBRARYlpm;

USElpm.all;

ENTITYCNT10BIS

PORT

(aclr:

INSTD_LOGIC;

clk_en:

INSTD_LOGIC;

clock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(9DOWNTO0));

ENDCNT10B;

ARCHITECTURESYNOFcnt10bIS

SIGNALsub_wire0:

STD_LOGIC_VECTOR(9DOWNTO0);

COMPONENTlpm_counter

GENERIC(lpm_direction:

STRING;

lpm_port_updown:

STRING;

lpm_type:

STRING;

lpm_width:

NATURAL);

PORT(clk_en:

INSTD_LOGIC;

aclr:

INSTD_LOGIC;

clock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(9DOWNTO0));

ENDCOMPONENT;

BEGIN

q<=sub_wire0(9DOWNTO0);

lpm_counter_component:

lpm_counter

GENERICMAP(lpm_direction=>"UP",

lpm_port_updown=>"PORT_UNUSED",

lpm_type=>"LPM_COUNTER",

lpm_width=>10)

PORTMAP(clk_en=>clk_en,

aclr=>aclr,

clock=>clock,

q=>sub_wire0);

ENDSYN;

2.2LPM随机存储器模块的设计

按照以上设计LPM计数器模块,再次打开MegaWizardPlug-InManger管理器按钮,然后进入如图2-3所示的窗口,选择RAM:

1-PORT模块,再选择CycloneⅢ和VHDL,文件取名为RAM0。

然后按照设计要求选择合适的参数制定本次设计所需要的模块,在设计本模块时,最关键的一步就是调入初始化文件fangbo.mif文件,本次设计的mif文件由康芯的MIF文件生成器生成,该文件的数据位10位,数据深度为1024的矩形波数据,该文件部分内容如图2-4、2-5所示。

MIF文件的调用方式如图2-6所示。

最终生成的LPM随机存储器模块如图2-7所示。

图2-3从原理图编辑窗进入LPM_RAM编辑模块

 

图2-4MIF文件内容图2-5MIF文件内容

图2-6MIF文件调用

图2-7LPM随机存储器

LPM随机存储器模块的VHDL设计文件:

`timescale1ps/1ps

moduleRAM0(address,

data,

inclock,

inclocken,

wren,q);

input[9:

0]address;

input[7:

0]data;

inputinclock;

inputinclocken;

inputwren;

output[7:

0]q;

wire[7:

0]sub_wire0;

wire[7:

0]q=sub_wire0[7:

0];

altsyncramaltsyncram_component(

.clocken0(inclocken),

.wren_a(wren),

.clock0(inclock),

.address_a(address),

.data_a(data),

.q_a(sub_wire0),

.aclr0(1'b0),

.aclr1(1'b0),

.address_b(1'b1),

.addressstall_a(1'b0),

.addressstall_b(1'b0),

.byteena_a(1'b1),

.byteena_b(1'b1),

.clock1(1'b1),

.clocken1(1'b1),

.clocken2(1'b1),

.clocken3(1'b1),

.data_b(1'b1),

.eccstatus(),

.q_b(),

.rden_a(1'b1),

.rden_b(1'b1),

.wren_b(1'b0));

defparam

altsyncram_component.clock_enable_input_a="NORMAL",

altsyncram_component.clock_enable_output_a="BYPASS",

altsyncram_component.init_file="fangbo.mif",

altsyncram_component.intended_device_family="CycloneIII",

altsyncram_component.lpm_hint="ENABLE_RUNTIME_MOD=NO",

altsyncram_component.lpm_type="altsyncram",

altsyncram_component.numwords_a=1024,

altsyncram_component.operation_mode="SINGLE_PORT",

altsyncram_component.outdata_aclr_a="NONE",

altsyncram_component.outdata_reg_a="UNREGISTERED",

altsyncram_component.power_up_uninitialized="FALSE",

altsyncram_component.ram_block_type="M9K",

altsyncram_component.read_during_write_mode_port_a="NEW_DATA_NO_NBE_READ",

altsyncram_component.widthad_a=10,

altsyncram_component.width_a=8,

altsyncram_component.width_byteena_a=1;

endmodule

2.3数字信号采集电路顶层文件的设计

按照实验要求,连接好电路,如图2-8所示。

图2-8是一个八通道的逻辑数据采集电路,主要由三个功能模块构成:

一个LPM_RAM、一个10为计数器LPM_COUNTER和一个锁存器74244。

RAM0是一个八位的RAM,存储1024字节,有10跟地址线address[9..0],它的data[7..0]和q[7..0]分别是8位数据输入和输出总线;wren是写入允许控制,高电平有效;inclock是数据输入锁存时钟;inclocken是此时钟的使能控制线,高电平有效。

图2-8数字信号采集电路顶层文件

2.4仿真与测试

新建一个波形仿真文件设置合适的参数,存盘取名为SLA.vwf,如图2-9所示。

对图2-8电路的时序仿真报告波形图如图2-10所示。

注意对激励信号,即输入信号CLK、CLK_EN、CLR、WREN和输入总线数据DIN[7..0]的激励信号波形的的设置及时序安排。

图2-9仿真参数设置波形

图2-10仿真结果图

3.结果和结论

由图2-10的波形可以看到,在RAM数据读出时间段,能正确地将写入的数据完整地按地址输出。

这表明图2-10的电路能成为一个8通道的数字信号采集系统;换句话说,本次设计的设计思路完全正确,设计的数字信号采集系统可以正常工作。

本次设计实验只是利用RAM和一些辅助器件设计一个数字信号采集电路模块。

但如果进一步配置好必要的控制电路和通信接口,就构成一台实用的设备。

4.参考文献

[1]潘松,黄继业.EDA技术实用教程—VHDL(第四版).北京:

科学出版社,2010

5.附件

附件一:

电路原理图

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 院校资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1