欢迎来到天天文库
浏览记录
ID:62071145
大小:144.00 KB
页数:7页
时间:2021-04-16
《eda高速数字相关器.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、个人收集整理勿做商业用途EDA技术与应用实验报告实验题目:高速数字相关器姓名:班级:学号:指导老师:小组成员:个人收集整理勿做商业用途采用流水线技术设计--—-—高速数字相关器实验目的:设计一个在数字通信系统中常见的数字相关器,并利用流水线技术提高其工作速度,对其进行仿真和硬件测试。实验原理:数字相关器用于检测等长度的两个数字序列相等的位数,实现序列的相关运算。一位相关器,即异或门,异或的结果可以表示两个1位数据的相关程序。异或为0表示数据位相同;异或为1表示数据位不同。多位数字相关器可以由多个
2、一位相关器构成,如N位数字相关器由N个异或门和N个位相关结果统计电路构成。实验仪器设备:pc(装有alteraquartusII)fpga实验开发板实验内容与要求:设计一个4位数字相关器。利用设计好的的4位数字相关器设计16位数字相关器。程序设计与分析:先设计4位数字相关器libraryieee;useieee.std_logic_1164。all;useieee.std_logic_unsigned。all;entityxgq4isport(clk:instd_logic;a,b:instd_
3、logic_vector(0to3);个人收集整理勿做商业用途c:outstd_logic_vector(0to3));endxgq4;四位相关器的引脚有a,b,c三个四位二进制向量;architecturexgq4_arcofxgq4isbeginprocess(clk)variablecc:std_logic_vector(0to3):="0000”;variableccc:std_logic_vector(0to3):="0000";//cc,ccc作为中间变量用于计算,数字相关的个数。b
4、eginif(clk’eventandclk='1’)thenforiin0to3loopcc(i):=a(i)xorb(i);endloop;endif;//cc为aXORb。if(clk'eventandclk=’1')thenforiin0to3loopccc:=ccc+cc(i);endloop;endif;//ccc为cc每个位的总和,即a与b不相等的个数c〈=ccc;//ccc赋给输出向量cendprocess;endxgq4_arc;将设计好的四位数字相关器例化后,再在16位数字相
5、关器里调用,libraryieee;useieee。std_logic_1164。all;useieee。std_logic_unsigned。all;entitygaxgq16isport(clk:instd_logic;qa,qb:instd_logic_vector(0to15);qc:outstd_logic_vector(0to3));endgaxgq16;architecturegaxgq16_arcofgaxgq16iscomponentxgq4port(clk:instd_log
6、ic;a,b:instd_logic_vector(0to3);c:outstd_logic_vector(0to3));个人收集整理勿做商业用途endcomponent;//相关器的引脚为两个16位的输入,和一个4位的输出signalc1,c2,c3,c4:std_logic_vector(0to3);//c1。..c4用于保存每个四位相关器的输出值signalcc:std_logic_vector(0to3);signalccc:std_logic_vector(0to3);//cc,ccc
7、为中间值,用于保存c1.。。c4两相加的值beginu1:xgq4portmap(clk,qa(0to3),qb(0to3),c1);u2:xgq4portmap(clk,qa(4to7),qb(4to7),c2);u3:xgq4portmap(clk,qa(8to11),qb(8to11),c3);u4:xgq4portmap(clk,qa(12to15),qb(12to15),c4);//元件调用,将4位数字相关器调用四次,从调用格式很容易看到,每次调用将16位输入qa,qb的四位进行数字相
8、关,相关后的值赋给c1。。.c4。元件例化格式说明:〈例化名〉:〈实体名,即元件名〉port map(〈端口列表〉);元件例化时的端口列表可按位置关联方法,如u1,这种方法要求的实参(该设计中连接到端口的实际信号,如ci,等)所映射的形参(元件的对外接口信号)的位置同元件声明中的一样;元件例化时的端口列表也可按名称关联方法映射实参与形参,如u2。格式为(形参1=〉实参1,形参2=〉实参2,···)。这种方法与位置无关。process(clk)beginif(clk'eventandclk=’1’
此文档下载收益归作者所有