本帖最后由 shixha 于 2014-8-1 18:42 编辑
继续<DE2上使用OC8051运行点灯程序(一>
oc8051默认剪裁情况下有168个pin, 超过cyclone IV 166个 user io, 所以关掉UART, 减少两个pin
分配引脚
set_global_assignment -name RESERVE_ALL_UNUSED_PINS "AS INPUT TRI-STATED"
#40M
set_location_assignment
PIN_A9
-to wb_clk_i
set_location_assignment
PIN_M1
-to i_wb_rst_i
#connect to GND
set_location_assignment PIN_R8 -to i_wbd_ack_i
set_location_assignment PIN_E1 -to i_wbi_ack_i
set_location_assignment PIN_T8 -to i_wbd_err_i
set_location_assignment PIN_M2 -to i_wbi_err_i
#connect to 3.3V
set_location_assignment PIN_T9 -to ea_in
set_location_assignment PIN_J1 -to p1_o[0]
set_location_assignment PIN_J2 -to p1_o[1]
set_location_assignment PIN_K1 -to p1_o[2]
set_location_assignment PIN_K2 -to p1_o[3]
wbd_ack_i, wbi_ack_i, wbd_err_i, wbi_err_i 取反引出为i_wbd_ack_i, i_wbi_ack_i, i_wbd_err_i, i_wbi_err_i信号, 并分配到4个按键pin上, 因为4个按键pin默认是高电平, 这样取反获得低电平的输入了; 同样wb_rst_i取反引出为i_wb_rst_i信号, 因为板子上的reset是低电平有效; 时钟分配为40M; ea_in引到一个默认高电平的按键pin上以此来获得高电平输入; p1_o低4位分配给LED[0..4]四个引脚; 其余unused pins 设为
"AS INPUT TRI-STATED";
去掉代码中所有//synopsys full_case parallel_case 语句, 增加default语句, 直到quartus不报warnning, 否则如文档中说的, 门及仿真会有问题, 这个原因8#已经详细介绍
Quartus中编译, 获得延时信息, 选择slow -8 1.2V 85 Model, 进行门级仿真, 正确
下载到黑金开发板, 4个LED, 显示" 亮 暗 亮 暗" 正确
<DE2上使用OC8051运行点灯程序(一>在黑金开发板上实现 |