安阳工学院电子信息与电气工程学院《EDA技术》课程大作业题目:简易逻辑分析仪班级: 2011级电子信息工程一班评分标准:1、题目难易度。
10%2、设计和结论正确,分析清晰合理。
40%3、大作业报告阐述清晰,格式规范。
20%4、陈述清晰,回答问题正确。
30%大作业成绩总成绩=T+J*40%+(J+J*(X-1/N))*30%T为回答问题成绩,J为教师成绩,X为学生自评分值,N为小组人数简易逻辑分析仪1. 设计任务逻辑分析仪可以将数字系统中的脉冲信号、逻辑控制信号、总线数据甚至毛刺脉冲都能同步高速的采集进该仪中的高速RAM中暂存,以备显示和分析。
我们所设计的简易逻辑分析仪是一个8通道的逻辑数据采集电路,它可以将输入到RAM中的计数结果通过输出线完整地按地址输出出来,其中CLK(时钟信号),CLK_EN(时钟使能信号),CLR(清零端),WREN(写入允许控制)和DIN(7..0)(写入允许控制),OUTPUT(八位数据输出)。
预期可以将输入到简易逻辑分析仪中的数据可以完整的读取出来。
2.设计方案我们所设计的简易逻辑分析仪主要有三个功能模块构成:一个8位LMP_RAM0,存储1024个字节,有十根地址线;一个十位计数器LMP_COUNTER和一个锁存器74244。
设计思路框图如下图一:图一设计思路框图3. 方案实施3.1、LPM计数器模块的设计首先打开一个原理图编辑窗,存盘取名为 eda1,然后建成工程,在进入本工程的原理图,单击Mega Wizard Plug-In Manger 管理器按钮,然后进入如图二所示的窗口,选择LPM-COUNTER模块,再选择CycloneⅢ和VHDL;文件名为CONT10B。
图二从原理图编辑窗进入LPM计数器编辑模块最终生成的计数器如图三所示:图三 LPM计数器模块LPM计数器模块的VHDL文件如下:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY lpm;USE lpm.all;ENTITY cnt10 ISPORT( aclr : IN STD_LOGIC ;clk_en : IN STD_LOGIC ;clock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0)); END cnt10;ARCHITECTURE SYN OF cnt10 ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (9 DOWNTO 0);COMPONENT lpm_counterGENERIC (lpm_direction : STRING;lpm_port_updown : STRING;lpm_type : STRING;lpm_width : NATURAL);PORT (clk_en : IN STD_LOGIC ;aclr : IN STD_LOGIC ;clock : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (9 DOWNTO 0));END COMPONENT;BEGINq <= sub_wire0(9 DOWNTO 0);lpm_counter_component : lpm_counterGENERIC MAP (lpm_direction => "UP",lpm_port_updown => "PORT_UNUSED",lpm_type => "LPM_COUNTER",lpm_width => 10)PORT MAP (clk_en => clk_en,aclr => aclr,clock => clock,q => sub_wire0 );END SYN;3.2、LPM随机存储器模块的设计按照以上设计LPM计数器模块,再次打开Mega Wizard Plug-In Manger管理器按钮,然后进入如图3所示的窗口,选择RAM:1-PORT模块,再选择CycloneⅢ和VHDL,文件取名为RAM0。
然后按照设计要求选择合适的参数制定本次设计所需要的模块,在设计本模块时,由于不需要输出RAM之前内部的数据,只是读出当前输入的数据,所以我们没有向里面加载数据,使他为空如图三所示。
端口读写选择为:new data,如图四所示。
图四 RAM的编辑模块最终生成的RAM如图五所示:图五:RAM模块LPM计数器模块的VHDL文件如下:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY ram ISPORT(address : IN STD_LOGIC_VECTOR (9 DOWNTO 0);data : IN STD_LOGIC_VECTOR (7 DOWNTO 0);inclock : IN STD_LOGIC ;inclocken : IN STD_LOGIC ;wren : IN STD_LOGIC ;q : OUT STD_LOGIC_VECTOR (7 DOWNTO 0) );END ram;ARCHITECTURE SYN OF ram ISSIGNAL sub_wire0 : STD_LOGIC_VECTOR (7 DOWNTO 0);COMPONENT altsyncramGENERIC (clock_enable_input_a : STRING;clock_enable_output_a : STRING;intended_device_family : STRING;lpm_hint : STRING;lpm_type : STRING;numwords_a : NATURAL;operation_mode : STRING;outdata_aclr_a : STRING;outdata_reg_a : STRING;power_up_uninitialized : STRING;ram_block_type : STRING;read_during_write_mode_port_a : STRING;widthad_a : NATURAL;width_a : NATURAL;width_byteena_a : NATURAL);PORT (clocken0 : IN STD_LOGIC ;wren_a : IN STD_LOGIC ;clock0 : IN STD_LOGIC ;address_a : IN STD_LOGIC_VECTOR (9 DOWNTO 0);q_a : OUT STD_LOGIC_VECTOR (7 DOWNTO 0);data_a : IN STD_LOGIC_VECTOR (7 DOWNTO 0) );END COMPONENT;BEGINq <= sub_wire0(7 DOWNTO 0);altsyncram_component : altsyncramGENERIC MAP (clock_enable_input_a => "NORMAL",clock_enable_output_a => "BYPASS",intended_device_family => "Cyclone III",lpm_hint => "ENABLE_RUNTIME_MOD=NO",lpm_type => "altsyncram",numwords_a => 1024,operation_mode => "SINGLE_PORT",outdata_aclr_a => "NONE",outdata_reg_a => "UNREGISTERED",power_up_uninitialized => "FALSE",ram_block_type => "M9K",read_during_write_mode_port_a => "NEW_DATA_NO_NBE_READ",widthad_a => 10,width_a => 8,width_byteena_a => 1)PORT MAP (clocken0 => inclocken,wren_a => wren,clock0 => inclock,address_a => address,data_a => data,q_a => sub_wire0);END SYN;3.3 、简易分析仪电路顶层文件的设计按照实验要求连接好电路,如图六所示.主要有三个模块构成:一个LPM_RAM,一个10位计数器LPM_COUNTER和一个锁存器74244.RAM0是一个八位的RAM,存储1024字节,有10根地址线address[9..0],它得date[7..0]和q[7..0]分别是八位数据输入和输出总线;wren是写入允许控制,高电平有效;inclock是数据输入锁存时钟;inclocken是此时钟的使能控制线,高电平有效。
顶层电路图如图六所示:图六数字信号采集电路顶层文件3.4 、仿真与测试新建一个波形仿真文件设置合适的参数,存盘取名为fangzhen.vwf,如图七所示。
对图2-8电路的时序仿真报告波形图如图2-10所示。
注意对激励信号,即输入信号CLK、CLK_EN、CLR、WREN和输入总线数据DIN[7..0]的激励信号波形的的设置及时序安排。
图七:仿真结果图4.结论由图七的波形可以看到,在RAM数据读出时间段,能正确地将写入的数据完整地按地址输出。
这表明图六的电路能成为一个8通道的数字信号采集系统;换句话说,本次设计的设计思路完全正确,设计的数字信号采集系统可以正常工作。
本次设计实验只是利用RAM和一些辅助器件设计一个数字信号采集电路模块。
但如果进一步配置好必要的控制电路和通信接口,就构成一台实用的设备。
5.任务分工闫玉蒙同学负责设计方案,申青杰同学负责方案的实施,李生辉同学负责结果及大作业的整理。
11。