AS正弦波信号发生器设计
一、实验内容
1.设计一正弦信号发生器,采用ROM进行一个周期数据存储,并通过地址发生器产生正弦信号。(ROM:6位地址8位数据;要求使用两种方法:VHDL编程和LPM)
2.正弦信号六位地址数据
128,140,153,165,177,188,199,209,219,227,
235,241,246,250,253,255,255,254,252,248,244, 238,231,223,214,204,194,183,171,159,147,134,
121,109,96,84,72,61,51,41,32,24,17,11,7, 3,1,0,0,2, 5,9,1420,28,36,46,56,67,78,90,102,115,127。 二、 实验原理
正弦波信号发生器是由地址发生器和正弦波数据存储器ROM两块构成,输入为时钟脉冲,输出为8位二进制。
1. 地址发生器的原理
地址发生器实质上就是计数器,ROM的地址是6位数据,相当于64位循环计数器。
2.只读存储器ROM的设计 (1)、VHDL编程的实现
①基本原理:为每一个存储单元编写一个地址,只有地址指定的存储单元才能与公共的I/O相连,然后进行存储数据的读写操作。
②逻辑功能:地址信号的选择下,从指定存储单元中读取相应数据。
(2)、基于LPM宏功能模块的存储器的设计
①LPM:Library of Parameterized Modules,可参数化的宏功能模块库。 ②Quartus II提供了丰富的LPM库,这些LPM函数均基于Altera器件的结构做了优化处理。
③在实际的工程中,设计者可以根据实际电路的设计需要,选择LPM库中适当的模块,并为其设置参数,以满足设计的要求,从而在设计中十分方便的调用优秀的电子工程技术人员的硬件设计成果。
三、 设计方案
1. 基于VHDL编程的设计
在地址信号的选择下,从指定存储单元中读取相应数据 系统框图如下
:
2. 基于LPM宏功能模块的设计
LPM宏功能具有丰富的由优秀的电子工程技术人员设计的硬件源代码可供调用,我们只需要调用其设计的模块并为其设计必要的参数即可。
四、 原理图
1、VHDL编程的实现 (1)、顶层原理图
(2)、地址发生器的VHDL语言的实现
(3)、ROM的VHDL语言的实现
(4)、为了在示波器上得到更好的现象需要对FPGA模块进行分频处理 分频的VHDL语言如下:
(5)、仿真结果如下:
2.利用LPM宏功能的实现 (1)、顶层原理图
(2)、利用LPM设计ROM
①、设置ROM数据空间的大小,以及每个数据单元的字长
②、填写ROM单元的数据
③、一些相关的设计
(3)、地址发生器的VHDL语言
(4)、为了在示波器上得到更好的现象需要对FPGA模块进行分频处理 分频的VHDL语言如下:
(5)、仿真结果如下:
五、 实物仿真结果
1.实验箱的引脚配置如下:
2.实物仿真结果如下:
(1)、利用VHDL语言设计的实物仿真结果
(2)、利用LPM设计ROM的实物仿真结果
六、 结论
在这次EDA实验设计中,我完成的是一个正弦波信号发生器的设计,在这次设计中,让我了解到了ROM和RAM的设计方法,让我进一步掌握了Quartus‖的常见使用方法,编程下载以及基于LPM宏功能模块的设计,并掌握了正弦波信号发生器的设计原理,对我来说,此次实验的收获在于数据存储器ROM的设计和一种新的设计方法—LPM模块的设计,我相信,这对于以后的实验将会有很大的帮助。此次的实验还算成功,从电路模块的设计到电路的仿真成功能自己独立完成,这是对我自己的一次很大的鼓励,我相信,以后的课程将会学的更好。
AS正弦波信号发生器设计
一、实验内容
1.设计一正弦信号发生器,采用ROM进行一个周期数据存储,并通过地址发生器产生正弦信号。(ROM:6位地址8位数据;要求使用两种方法:VHDL编程和LPM)
2.正弦信号六位地址数据
128,140,153,165,177,188,199,209,219,227,
235,241,246,250,253,255,255,254,252,248,244, 238,231,223,214,204,194,183,171,159,147,134,
121,109,96,84,72,61,51,41,32,24,17,11,7, 3,1,0,0,2, 5,9,1420,28,36,46,56,67,78,90,102,115,127。 二、 实验原理
正弦波信号发生器是由地址发生器和正弦波数据存储器ROM两块构成,输入为时钟脉冲,输出为8位二进制。
1. 地址发生器的原理
地址发生器实质上就是计数器,ROM的地址是6位数据,相当于64位循环计数器。
2.只读存储器ROM的设计 (1)、VHDL编程的实现
①基本原理:为每一个存储单元编写一个地址,只有地址指定的存储单元才能与公共的I/O相连,然后进行存储数据的读写操作。
②逻辑功能:地址信号的选择下,从指定存储单元中读取相应数据。
(2)、基于LPM宏功能模块的存储器的设计
①LPM:Library of Parameterized Modules,可参数化的宏功能模块库。 ②Quartus II提供了丰富的LPM库,这些LPM函数均基于Altera器件的结构做了优化处理。
③在实际的工程中,设计者可以根据实际电路的设计需要,选择LPM库中适当的模块,并为其设置参数,以满足设计的要求,从而在设计中十分方便的调用优秀的电子工程技术人员的硬件设计成果。
三、 设计方案
1. 基于VHDL编程的设计
在地址信号的选择下,从指定存储单元中读取相应数据 系统框图如下
:
2. 基于LPM宏功能模块的设计
LPM宏功能具有丰富的由优秀的电子工程技术人员设计的硬件源代码可供调用,我们只需要调用其设计的模块并为其设计必要的参数即可。
四、 原理图
1、VHDL编程的实现 (1)、顶层原理图
(2)、地址发生器的VHDL语言的实现
(3)、ROM的VHDL语言的实现
(4)、为了在示波器上得到更好的现象需要对FPGA模块进行分频处理 分频的VHDL语言如下:
(5)、仿真结果如下:
2.利用LPM宏功能的实现 (1)、顶层原理图
(2)、利用LPM设计ROM
①、设置ROM数据空间的大小,以及每个数据单元的字长
②、填写ROM单元的数据
③、一些相关的设计
(3)、地址发生器的VHDL语言
(4)、为了在示波器上得到更好的现象需要对FPGA模块进行分频处理 分频的VHDL语言如下:
(5)、仿真结果如下:
五、 实物仿真结果
1.实验箱的引脚配置如下:
2.实物仿真结果如下:
(1)、利用VHDL语言设计的实物仿真结果
(2)、利用LPM设计ROM的实物仿真结果
六、 结论
在这次EDA实验设计中,我完成的是一个正弦波信号发生器的设计,在这次设计中,让我了解到了ROM和RAM的设计方法,让我进一步掌握了Quartus‖的常见使用方法,编程下载以及基于LPM宏功能模块的设计,并掌握了正弦波信号发生器的设计原理,对我来说,此次实验的收获在于数据存储器ROM的设计和一种新的设计方法—LPM模块的设计,我相信,这对于以后的实验将会有很大的帮助。此次的实验还算成功,从电路模块的设计到电路的仿真成功能自己独立完成,这是对我自己的一次很大的鼓励,我相信,以后的课程将会学的更好。