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的了解。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。
在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
这次设计也启发了我在以后的学习中一定要耐心、细心、认真,不可粗枝大叶。