eda正弦波信号发生器的设计.docx

上传人:b****6 文档编号:14080486 上传时间:2023-06-20 格式:DOCX 页数:18 大小:83KB
下载 相关 举报
eda正弦波信号发生器的设计.docx_第1页
第1页 / 共18页
eda正弦波信号发生器的设计.docx_第2页
第2页 / 共18页
eda正弦波信号发生器的设计.docx_第3页
第3页 / 共18页
eda正弦波信号发生器的设计.docx_第4页
第4页 / 共18页
eda正弦波信号发生器的设计.docx_第5页
第5页 / 共18页
eda正弦波信号发生器的设计.docx_第6页
第6页 / 共18页
eda正弦波信号发生器的设计.docx_第7页
第7页 / 共18页
eda正弦波信号发生器的设计.docx_第8页
第8页 / 共18页
eda正弦波信号发生器的设计.docx_第9页
第9页 / 共18页
eda正弦波信号发生器的设计.docx_第10页
第10页 / 共18页
eda正弦波信号发生器的设计.docx_第11页
第11页 / 共18页
eda正弦波信号发生器的设计.docx_第12页
第12页 / 共18页
eda正弦波信号发生器的设计.docx_第13页
第13页 / 共18页
eda正弦波信号发生器的设计.docx_第14页
第14页 / 共18页
eda正弦波信号发生器的设计.docx_第15页
第15页 / 共18页
eda正弦波信号发生器的设计.docx_第16页
第16页 / 共18页
eda正弦波信号发生器的设计.docx_第17页
第17页 / 共18页
eda正弦波信号发生器的设计.docx_第18页
第18页 / 共18页
亲,该文档总共18页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

eda正弦波信号发生器的设计.docx

《eda正弦波信号发生器的设计.docx》由会员分享,可在线阅读,更多相关《eda正弦波信号发生器的设计.docx(18页珍藏版)》请在冰点文库上搜索。

eda正弦波信号发生器的设计.docx

eda正弦波信号发生器的设计

利用LPM设计正弦信号发生器

一、设计目的:

进一步熟悉maxplus

及其LPM设计的运用。

二、设计要求:

1、利用原理图输入方式。

2、信号数据点值自行想法实现。

3、得出正确时序仿真文件。

三、设计原理:

图1正弦信号发生器结构框图

图1所示的正弦波信号发生器的结构由三部分组成

计数器或地址发生器(这里选择8位),正弦信号数据ROM(8位地址线,8位数据线),含有256个8位数据(一个周期)。

四、VHDL顶层设计。

设计步骤:

1、建立.mif格式文件

建立C语言文件sin.cpp,运行产生sin.exe文件。

sin.cpp程序代码:

#include

#include

#include

usingnamespacestd;

intmain()

{

inti;

floats;

cout<<"WIDTH=8;\nDEPTH=256;\n\nADDRESS_RADIX=HEX;\nDATA_RADIX=HEX;\n\nCONTENT\nBEGIN\n";

for(i=0;i<256;i++)

{

s=sin(atan

(1)*8*i/256);

cout<<""<

"<

}

cout<<"END"<

return0;

}

把上述程序编译后,在DOS命令行下执行命令:

sin.exe>sin.mif;

将生成的sin.mif文件。

sin.mif文件:

WIDTH=8;

DEPTH=256;

ADDRESS_RADIX=HEX;

DATA_RADIX=HEX;

CONTENT

BEGIN

0:

7f;

1:

82;

2:

85;

3:

88;

4:

8b;

5:

8f;

6:

92;

7:

95;

8:

98;

9:

9b;

a:

9e;

b:

a1;

c:

a4;

d:

a7;

e:

aa;

f:

ad;

10:

b0;

11:

b3;

12:

b6;

13:

b8;

14:

bb;

15:

be;

16:

c1;

17:

c3;

18:

c6;

19:

c8;

1a:

cb;

1b:

cd;

1c:

d0;

1d:

d2;

1e:

d5;

1f:

d7;

20:

d9;

21:

db;

22:

dd;

23:

e0;

24:

e2;

25:

e4;

26:

e5;

27:

e7;

28:

e9;

29:

eb;

2a:

ec;

2b:

ee;

2c:

ef;

2d:

f1;

2e:

f2;

2f:

f4;

30:

f5;

31:

f6;

32:

f7;

33:

f8;

34:

f9;

35:

fa;

36:

fb;

37:

fb;

38:

fc;

39:

fd;

3a:

fd;

3b:

fe;

3c:

fe;

3d:

fe;

3e:

fe;

3f:

fe;

40:

ff;

41:

fe;

42:

fe;

43:

fe;

44:

fe;

45:

fe;

46:

fd;

47:

fd;

48:

fc;

49:

fb;

4a:

fb;

4b:

fa;

4c:

f9;

4d:

f8;

4e:

f7;

4f:

f6;

50:

f5;

51:

f4;

52:

f2;

53:

f1;

54:

ef;

55:

ee;

56:

ec;

57:

eb;

58:

e9;

59:

e7;

5a:

e5;

5b:

e4;

5c:

e2;

5d:

e0;

5e:

dd;

5f:

db;

60:

d9;

61:

d7;

62:

d5;

63:

d2;

64:

d0;

65:

cd;

66:

cb;

67:

c8;

68:

c6;

69:

c3;

6a:

c1;

6b:

be;

6c:

bb;

6d:

b8;

6e:

b6;

6f:

b3;

70:

b0;

71:

ad;

72:

aa;

73:

a7;

74:

a4;

75:

a1;

76:

9e;

77:

9b;

78:

98;

79:

95;

7a:

92;

7b:

8f;

7c:

8b;

7d:

88;

7e:

85;

7f:

82;

80:

7f;

81:

7c;

82:

79;

83:

76;

84:

73;

85:

6f;

86:

6c;

87:

69;

88:

66;

89:

63;

8a:

60;

8b:

5d;

8c:

5a;

8d:

57;

8e:

54;

8f:

51;

90:

4e;

91:

4b;

92:

48;

93:

46;

94:

43;

95:

40;

96:

3d;

97:

3b;

98:

38;

99:

36;

9a:

33;

9b:

31;

9c:

2e;

9d:

2c;

9e:

29;

9f:

27;

a0:

25;

a1:

23;

a2:

21;

a3:

1e;

a4:

1c;

a5:

1a;

a6:

19;

a7:

17;

a8:

15;

a9:

13;

aa:

12;

ab:

10;

ac:

f;

ad:

d;

ae:

c;

af:

a;

b0:

9;

b1:

8;

b2:

7;

b3:

6;

b4:

5;

b5:

4;

b6:

3;

b7:

3;

b8:

2;

b9:

1;

ba:

1;

bb:

0;

bc:

0;

bd:

0;

be:

0;

bf:

0;

c0:

0;

c1:

0;

c2:

0;

c3:

0;

c4:

0;

c5:

0;

c6:

1;

c7:

1;

c8:

2;

c9:

3;

ca:

3;

cb:

4;

cc:

5;

cd:

6;

ce:

7;

cf:

8;

d0:

9;

d1:

a;

d2:

c;

d3:

d;

d4:

f;

d5:

10;

d6:

12;

d7:

13;

d8:

15;

d9:

17;

da:

19;

db:

1a;

dc:

1c;

dd:

1e;

de:

21;

df:

23;

e0:

25;

e1:

27;

e2:

29;

e3:

2c;

e4:

2e;

e5:

31;

e6:

33;

e7:

36;

e8:

38;

e9:

3b;

ea:

3d;

eb:

40;

ec:

43;

ed:

46;

ee:

48;

ef:

4b;

f0:

4e;

f1:

51;

f2:

54;

f3:

57;

f4:

5a;

f5:

5d;

f6:

60;

f7:

63;

f8:

66;

f9:

69;

fa:

6c;

fb:

6f;

fc:

73;

fd:

76;

fe:

79;

ff:

7c;

END

3、存放波形数据ROM的设计。

利用MegaWizardPlug-Inmanager定制正弦信号数据ROM宏功能块,并将以上的波形数据加载于此ROM中。

设计步骤如下:

打开MegaWizardPlug-Inmanager初始对话框。

在Tools菜单中选择MegaWizardPlug-Inmanager产生一个对话框,选择Createanewcustom...项,即定制一个新的模块。

单击Next按钮后,在所产生的对话框的左栏选择Storage项下的LPM_ROM,再选择CycloneⅡ器件和VHDL语言方式;最后输入ROM文件存放的路径和文件名单击Next按钮。

选择ROM控制线、地址线和数据线。

在弹出的对话框中选择地址线位宽和ROM中数据数分别为8和256;选择地址锁存控制信号clock。

选择指定路径上的文件sin.mif,最后单击Next按钮,再单击Finish按钮后完成ROM定制,产生VHD代码文件。

sin.vhd代码:

--megafunctionwizard:

%LPM_ROM%

--GENERATION:

STANDARD

--VERSION:

WM1.0

--MODULE:

lpm_rom

XX文库-让每个人平等地提升自我--============================================================

--FileName:

sin.vhd

--MegafunctionName(s):

--lpm_rom

--============================================================

--************************************************************

--THISISAWIZARDGENERATEDFILE.DONOTEDITTHISFILE!

--************************************************************

--Copyright(C)1988-2000AlteraCorporation

--Anymegafunctiondesign,andrelatednetlist(encryptedordecrypted),

--supportinformation,deviceprogrammingorsimulationfile,andanyother

--associateddocumentationorinformationprovidedbyAlteraorapartner

--underAltera'sMegafunctionPartnershipProgrammaybeusedonlyto

--programPLDdevices(butnotmaskedPLDdevices)fromAltera.Anyother

--useofsuchmegafunctiondesign,netlist,supportinformation,device

--programmingorsimulationfile,oranyotherrelateddocumentationor

--informationisprohibitedforanyotherpurpose,including,butnot

--limitedtomodification,reverseengineering,de-compiling,orusewith

--anyothersilicondevices,unlesssuchuseisexplicitlylicensedunder

--aseparateagreementwithAlteraoramegafunctionpartner.Titleto

--theintellectualproperty,includingpatents,copyrights,trademarks,

--tradesecrets,ormaskworks,embodiedinanysuchmegafunctiondesign,

--netlist,supportinformation,deviceprogrammingorsimulationfile,or

--anyotherrelateddocumentationorinformationprovidedbyAlteraora

--megafunctionpartner,remainswithAltera,themegafunctionpartner,or

--theirrespectivelicensors.Nootherlicenses,includinganylicenses

--neededunderanythirdparty'sintellectualproperty,areprovidedherein.

LIBRARYieee;

USEieee.std_logic_1164.all;

ENTITYsinIS

PORT

address:

INSTD_LOGIC_VECTOR(7DOWNTO0);

inclock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(7DOWNTO0)

);

ENDsin;

ARCHITECTURESYNOFsinIS

SIGNALsub_wire0:

STD_LOGIC_VECTOR(7DOWNTO0);

COMPONENTlpm_rom

GENERIC(

lpm_width:

NATURAL;

lpm_widthad:

NATURAL;

lpm_address_control:

STRING;

lpm_outdata:

STRING;

lpm_file:

STRING

);

PORT(

address:

INSTD_LOGIC_VECTOR(7DOWNTO0);

inclock:

INSTD_LOGIC;

q:

OUTSTD_LOGIC_VECTOR(7DOWNTO0)

);

ENDCOMPONENT;

BEGIN

q<=sub_wire0(7DOWNTO0);

lpm_rom_component:

lpm_rom

GENERICMAP(

LPM_WIDTH=>8,

LPM_WIDTHAD=>8,

LPM_ADDRESS_CONTROL=>"REGISTERED",

LPM_OUTDATA=>"UNREGISTERED",

LPM_FILE=>"E:

/edatest/sin.mif"

PORTMAP(

address=>address,

inclock=>inclock,

q=>sub_wire0

);

ENDSYN;

--============================================================

--CNXfileretrievalinfo

--============================================================

--Retrievalinfo:

PRIVATE:

WidthDataNUMERIC"8"

--Retrievalinfo:

PRIVATE:

WidthAddrNUMERIC"8"

--Retrievalinfo:

PRIVATE:

RegAddNUMERIC"1"

--Retrievalinfo:

PRIVATE:

OutputRegisteredNUMERIC"0"

--Retrievalinfo:

PRIVATE:

MIFfilenameSTRING"E:

\edatest\sin.mif"

--Retrievalinfo:

CONSTANT:

LPM_WIDTHNUMERIC"8"

--Retrievalinfo:

CONSTANT:

LPM_WIDTHADNUMERIC"8"

--Retrievalinfo:

CONSTANT:

LPM_ADDRESS_CONTROLSTRING"REGISTERED"

--Retrievalinfo:

CONSTANT:

LPM_OUTDATASTRING"UNREGISTERED"

--Retrievalinfo:

CONSTANT:

LPM_FILESTRING"E:

/edatest/sin.mif"

--Retrievalinfo:

USED_PORT:

address0080INPUTNODEFVALaddress[7..0]

--Retrievalinfo:

USED_PORT:

inclock0000INPUTNODEFVALinclock

--Retrievalinfo:

USED_PORT:

q0080OUTPUTNODEFVALq[7..0]

--Retrievalinfo:

CONNECT:

@address0080address0080

--Retrievalinfo:

CONNECT:

@inclock0000inclock0000

--Retrievalinfo:

CONNECT:

q0080@q0080

4、原理图输入:

建立一个gdf文件,添加sin元件。

原理图:

5、仿真时序波形图:

仿真波形图:

四、实验总结:

这次EDA实验设计历时两个星期,学到很多很多的东西,同时不仅可以巩固以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。

通过这次设计,进一步加深了对EDA的了解。

通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。

在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。

这次设计也启发了我在以后的学习中一定要耐心、细心、认真,不可粗枝大叶。

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

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2