集成电路课程设计
void main(){ int i,j = 0;;
FILE *fp;
fp=fopen(\
for(i=0;i<=256;i++){
//j=255*sin(2*3.14159/256*i)+0.5;//四舍五入
fprintf(fp,\ }
fclose(fp); }
- 11 -
集成电路课程设计
第二章 结果与讨论
第一节 实验中遇到的问题
本次课设整体来说还是比较简单的,但是还是碰到些难以解决的问题。其中,最大的问题就是综合的结果不正确,我们组就一直卡在那里找不到原因,后来经过老师的查阅才找到原因:我们rom查找表中含有负值,由于Verilog编程经验不足,没有注意到这一点,所以导致了问题的出现。
另外还有一些不足的地方,我们的查找表使用的是case语句,不能生成真正的rom;
第二,我们没有对查找表做优化,其中存储的是整个波形周期的采样点,其实,对于有一定周期的正弦函数而言,我们只需要存储它的四分之一个周期的数据,然后通过相位翻转等实现整个波形的复原,这样可以节省存储空间,然而我们由于能力有限,不能实现相关文档中所述的方法。
第二节 实验结论
以上就是本小组查阅资料学习的成果,经过编码,调试后,在modelsim下仿真得到了预期的结果,以下是仿真截图。
图2.1 正弦波仿真结果(choose_wave=00)
图2.2 余弦波仿真结果(choose_wave==01)
- 12 -
集成电路课程设计
图2.3 三角波仿真结果(choose_wave=10)
图2.4 锯齿波仿真结果(choose_wave=11)
由仿真图可以看出,在modelsim下所有功能都能够正确实现,前仿真顺利实现。后仿真时由于没有综合得到正确的结果,故不贴出仿真结果截图。以下是综合报告。由。于篇幅有限,在这里只能贴出部分报告。
1)延时信息
**************************************** Report : timing -path full -delay max -max_paths 1 -sort_by group Design : rom_sin
Version: D-2010.03-SP2
Date : Fri Jun 28 15:23:45 2013
****************************************
Operating Conditions: typical Library: typical Wire Load Model Mode: top
Startpoint: wr_data_reg[0]
- 13 -
集成电路课程设计
(rising edge-triggered flip-flop clocked by CLK_0) Endpoint: wr_data[0] (output port clocked by CLK_0) Path Group: CLK_0 Path Type: max
Point Incr Path -----------------------------------------------------------
clock CLK_0 (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00
wr_data_reg[0]/CK (DFFRHQXL) 0.00 0.00 r wr_data_reg[0]/Q (DFFRHQXL) 0.23 0.23 r wr_data[0] (out) 0.00 0.23 r data arrival time 0.23
clock CLK_0 (rise edge) 5.00 5.00 clock network delay (ideal) 0.00 5.00 output external delay -2.00 3.00 data required time 3.00 -----------------------------------------------------------
data required time 3.00 data arrival time -0.23 -----------------------------------------------------------
slack (MET) 2.77
***** End Of Report *****
2)constraint
**************************************** Report : constraint -verbose Design : rom_sin
Version: D-2010.03-SP2
Date : Fri Jun 28 15:26:02 2013
****************************************
Startpoint: wr_data_reg[0]
(rising edge-triggered flip-flop clocked by CLK_0) Endpoint: wr_data[0] (output port clocked by CLK_0) Path Group: CLK_0 Path Type: max
- 14 -
集成电路课程设计
Point Incr Path -----------------------------------------------------------
clock CLK_0 (rise edge) 0.00 0.00 clock network delay (ideal) 0.00 0.00
wr_data_reg[0]/CK (DFFRHQXL) 0.00 0.00 r wr_data_reg[0]/Q (DFFRHQXL) 0.23 0.23 r wr_data[0] (out) 0.00 0.23 r data arrival time 0.23
clock CLK_0 (rise edge) 5.00 clock network delay (ideal) 0.00 output external delay -2.00 data required time -----------------------------------------------------------
data required time data arrival time -----------------------------------------------------------
slack (MET)
Net: n382
max_transition 3.00 - Transition Time 0.39 ------------------------------
Slack 2.61 (MET)
Net: n331
max_capacitance 0.16 - Capacitance 0.01 ------------------------------
Slack 0.15 (MET)
Design: rom_sin
max_area 0.00 - Current Area 7970.05 ------------------------------
Slack -7970.05 (VIOLATED)
***** End Of Report *****
- 15 -
5.00 5.00 3.00 3.00 3.00 -0.23 2.77