1. verilog实现基本门电路
verilog实现反相器,2输入与门、2输入或门、2输入与非门、2输入或非门、2输入异或门、2输入同或门;
撰写仿真程序,对实现进行仿真测试;
将仿真后的verilog代码进行综合与实现,并下载到basys3上验证;
2. verilog实现2选1mux
撰写仿真程序,对其进行测试;
将仿真后的verilog代码进行综合与实现,并下载到basys3上验证;
2.
led[0] sw[0] sw[1]实现2输入与门
led[2] sw[2] sw[3]实现2输入或门
led[4] sw[4] sw[5]实现2输入与非门
led[6] sw[6] sw[7]实现2输入或非门
led[8] sw[8] sw[9]实现2输入异或门
led[10] sw[10] sw[11]实现2输入同或门
led[12] sw[12]实现反相器
led[13] sw[13] sw[14] sw[15]实现2选1mux
3.实现模块
module fpga001(
input [15:0] sw,
output [13:0] led
);
assign led[0] = sw[0] & sw[1];
assign led[2] = sw[2] | sw[3];
assign led[4] = ~(sw[4] & sw[5]);
assign led[6] = ~(sw[6] | sw[7]);
assign led[8] = (sw[8] & (~sw[9])) | (~sw[8] & sw[9]);
assign led[10] = ~((sw[10] & (~sw[11])) | (~sw[10] & sw[11]));
assign led[12] = ~sw[12];
assign led[13] = ~sw[13] & sw[14] | sw[13] & sw[15];
endmodule
4.测试模块
module fd;
reg[15:0] w;
wire[13:0] l;
fpga001 f(w, l);
initial
begin
w = 16‘b0;
#10 w = 16’b0010010101010101;
#10 w = 16‘b0101101010101010;
#10 w = 16’b0110010101010101;
#10 w = 16‘b1001101010101010;
#10 w = 16’b1010010101010101;
#10 w = 16‘b1111101010101010;
#20 $finish;
end
initial
begin
$monitor($time, “led = %b”, w);
end
endmodule
5.引脚分布图
## this file is a general .xdc for the basys3 rev b board
## to use it in a project:
## - uncomment the lines corresponding to used pins
## - rename the used ports (in each line, after get_ports) according to the top level signal names in the project
## clock signal
#set_property package_pin w5 [get_ports clk]
#set_property iostandard lvcmos33 [get_ports clk]
#create_clock -add -name sys_clk_pin -period 10.00 -waveform {0 5} [get_ports clk]
## switches
set_property package_pin v17 [get_ports {sw[0]}]
set_property iostandard lvcmos33 [get_ports {sw[0]}]
set_property package_pin v16 [get_ports {sw[1]}]
set_property iostandard lvcmos33 [get_ports {sw[1]}]
set_property package_pin w16 [get_ports {sw[2]}]
set_property iostandard lvcmos33 [get_ports {sw[2]}]
set_property package_pin w17 [get_ports {sw[3]}]
set_property iostandard lvcmos33 [get_ports {sw[3]}]
set_property package_pin w15 [get_ports {sw[4]}]
set_property iostandard lvcmos33 [get_ports {sw[4]}]
set_property package_pin v15 [get_ports {sw[5]}]
set_property iostandard lvcmos33 [get_ports {sw[5]}]
set_property package_pin w14 [get_ports {sw[6]}]
set_property iostandard lvcmos33 [get_ports {sw[6]}]
set_property package_pin w13 [get_ports {sw[7]}]
set_property iostandard lvcmos33 [get_ports {sw[7]}]
set_property package_pin v2 [get_ports {sw[8]}]
set_property iostandard lvcmos33 [get_ports {sw[8]}]
set_property package_pin t3 [get_ports {sw[9]}]
set_property iostandard lvcmos33 [get_ports {sw[9]}]
set_property package_pin t2 [get_ports {sw[10]}]
set_property iostandard lvcmos33 [get_ports {sw[10]}]
set_property package_pin r3 [get_ports {sw[11]}]
set_property iostandard lvcmos33 [get_ports {sw[11]}]
set_property package_pin w2 [get_ports {sw[12]}]
set_property iostandard lvcmos33 [get_ports {sw[12]}]
set_property package_pin u1 [get_ports {sw[13]}]
set_property iostandard lvcmos33 [get_ports {sw[13]}]
set_property package_pin t1 [get_ports {sw[14]}]
set_property iostandard lvcmos33 [get_ports {sw[14]}]
set_property package_pin r2 [get_ports {sw[15]}]
set_property iostandard lvcmos33 [get_ports {sw[15]}]
## leds
set_property package_pin u16 [get_ports {led[0]}]
set_property iostandard lvcmos33 [get_ports {led[0]}]
set_property package_pin e19 [get_ports {led[1]}]
set_property iostandard lvcmos33 [get_ports {led[1]}]
set_property package_pin u19 [get_ports {led[2]}]
set_property iostandard lvcmos33 [get_ports {led[2]}]
set_property package_pin v19 [get_ports {led[3]}]
set_property iostandard lvcmos33 [get_ports {led[3]}]
set_property package_pin w18 [get_ports {led[4]}]
set_property iostandard lvcmos33 [get_ports {led[4]}]
set_property package_pin u15 [get_ports {led[5]}]
set_property iostandard lvcmos33 [get_ports {led[5]}]
set_property package_pin u14 [get_ports {led[6]}]
set_property iostandard lvcmos33 [get_ports {led[6]}]
set_property package_pin v14 [get_ports {led[7]}]
set_property iostandard lvcmos33 [get_ports {led[7]}]
set_property package_pin v13 [get_ports {led[8]}]
set_property iostandard lvcmos33 [get_ports {led[8]}]
set_property package_pin v3 [get_ports {led[9]}]
set_property iostandard lvcmos33 [get_ports {led[9]}]
set_property package_pin w3 [get_ports {led[10]}]
set_property iostandard lvcmos33 [get_ports {led[10]}]
set_property package_pin u3 [get_ports {led[11]}]
set_property iostandard lvcmos33 [get_ports {led[11]}]
set_property package_pin p3 [get_ports {led[12]}]
set_property iostandard lvcmos33 [get_ports {led[12]}]
set_property package_pin n3 [get_ports {led[13]}]
set_property iostandard lvcmos33 [get_ports {led[13]}]
set_property package_pin p1 [get_ports {led[14]}]
set_property iostandard lvcmos33 [get_ports {led[14]}]
set_property package_pin l1 [get_ports {led[15]}]
set_property iostandard lvcmos33 [get_ports {led[15]}]
##7 segment display
#set_property package_pin w7 [get_ports {seg[0]}]
#set_property iostandard lvcmos33 [get_ports {seg[0]}]
#set_property package_pin w6 [get_ports {seg[1]}]
#set_property iostandard lvcmos33 [get_ports {seg[1]}]
#set_property package_pin u8 [get_ports {seg[2]}]
#set_property iostandard lvcmos33 [get_ports {seg[2]}]
#set_property package_pin v8 [get_ports {seg[3]}]
#set_property iostandard lvcmos33 [get_ports {seg[3]}]
#set_property package_pin u5 [get_ports {seg[4]}]
#set_property iostandard lvcmos33 [get_ports {seg[4]}]
#set_property package_pin v5 [get_ports {seg[5]}]
#set_property iostandard lvcmos33 [get_ports {seg[5]}]
#set_property package_pin u7 [get_ports {seg[6]}]
#set_property iostandard lvcmos33 [get_ports {seg[6]}]
#set_property package_pin v7 [get_ports dp]
#set_property iostandard lvcmos33 [get_ports dp]
#set_property package_pin u2 [get_ports {an[0]}]
#set_property iostandard lvcmos33 [get_ports {an[0]}]
#set_property package_pin u4 [get_ports {an[1]}]
#set_property iostandard lvcmos33 [get_ports {an[1]}]
#set_property package_pin v4 [get_ports {an[2]}]
#set_property iostandard lvcmos33 [get_ports {an[2]}]
#set_property package_pin w4 [get_ports {an[3]}]
#set_property iostandard lvcmos33 [get_ports {an[3]}]
##buttons
#set_property package_pin u18 [get_ports btnc]
#set_property iostandard lvcmos33 [get_ports btnc]
#set_property package_pin t18 [get_ports btnu]
#set_property iostandard lvcmos33 [get_ports btnu]
#set_property package_pin w19 [get_ports btnl]
#set_property iostandard lvcmos33 [get_ports btnl]
#set_property package_pin t17 [get_ports btnr]
#set_property iostandard lvcmos33 [get_ports btnr]
#set_property package_pin u17 [get_ports btnd]
#set_property iostandard lvcmos33 [get_ports btnd]
##pmod header ja
##sch name = ja1
#set_property package_pin j1 [get_ports {ja[0]}]
#set_property iostandard lvcmos33 [get_ports {ja[0]}]
##sch name = ja2
#set_property package_pin l2 [get_ports {ja[1]}]
#set_property iostandard lvcmos33 [get_ports {ja[1]}]
##sch name = ja3
#set_property package_pin j2 [get_ports {ja[2]}]
#set_property iostandard lvcmos33 [get_ports {ja[2]}]
##sch name = ja4
#set_property package_pin g2 [get_ports {ja[3]}]
#set_property iostandard lvcmos33 [get_ports {ja[3]}]
##sch name = ja7
#set_property package_pin h1 [get_ports {ja[4]}]
#set_property iostandard lvcmos33 [get_ports {ja[4]}]
##sch name = ja8
#set_property package_pin k2 [get_ports {ja[5]}]
#set_property iostandard lvcmos33 [get_ports {ja[5]}]
##sch name = ja9
#set_property package_pin h2 [get_ports {ja[6]}]
#set_property iostandard lvcmos33 [get_ports {ja[6]}]
##sch name = ja10
#set_property package_pin g3 [get_ports {ja[7]}]
#set_property iostandard lvcmos33 [get_ports {ja[7]}]
##pmod header jb
##sch name = jb1
#set_property package_pin a14 [get_ports {jb[0]}]
#set_property iostandard lvcmos33 [get_ports {jb[0]}]
##sch name = jb2
#set_property package_pin a16 [get_ports {jb[1]}]
#set_property iostandard lvcmos33 [get_ports {jb[1]}]
##sch name = jb3
#set_property package_pin b15 [get_ports {jb[2]}]
#set_property iostandard lvcmos33 [get_ports {jb[2]}]
##sch name = jb4
#set_property package_pin b16 [get_ports {jb[3]}]
#set_property iostandard lvcmos33 [get_ports {jb[3]}]
##sch name = jb7
#set_property package_pin a15 [get_ports {jb[4]}]
#set_property iostandard lvcmos33 [get_ports {jb[4]}]
##sch name = jb8
#set_property package_pin a17 [get_ports {jb[5]}]
#set_property iostandard lvcmos33 [get_ports {jb[5]}]
##sch name = jb9
#set_property package_pin c15 [get_ports {jb[6]}]
#set_property iostandard lvcmos33 [get_ports {jb[6]}]
##sch name = jb10
#set_property package_pin c16 [get_ports {jb[7]}]
#set_property iostandard lvcmos33 [get_ports {jb[7]}]
##pmod header jc
##sch name = jc1
#set_property package_pin k17 [get_ports {jc[0]}]
#set_property iostandard lvcmos33 [get_ports {jc[0]}]
##sch name = jc2
#set_property package_pin m18 [get_ports {jc[1]}]
#set_property iostandard lvcmos33 [get_ports {jc[1]}]
##sch name = jc3
#set_property package_pin n17 [get_ports {jc[2]}]
#set_property iostandard lvcmos33 [get_ports {jc[2]}]
##sch name = jc4
#set_property package_pin p18 [get_ports {jc[3]}]
#set_property iostandard lvcmos33 [get_ports {jc[3]}]
##sch name = jc7
#set_property package_pin l17 [get_ports {jc[4]}]
#set_property iostandard lvcmos33 [get_ports {jc[4]}]
##sch name = jc8
#set_property package_pin m19 [get_ports {jc[5]}]
#set_property iostandard lvcmos33 [get_ports {jc[5]}]
##sch name = jc9
#set_property package_pin p17 [get_ports {jc[6]}]
#set_property iostandard lvcmos33 [get_ports {jc[6]}]
##sch name = jc10
#set_property package_pin r18 [get_ports {jc[7]}]
#set_property iostandard lvcmos33 [get_ports {jc[7]}]
##pmod header jxadc
##sch name = xa1_p
#set_property package_pin j3 [get_ports {jxadc[0]}]
#set_property iostandard lvcmos33 [get_ports {jxadc[0]}]
##sch name = xa2_p
#set_property package_pin l3 [get_ports {jxadc[1]}]
#set_property iostandard lvcmos33 [get_ports {jxadc[1]}]
##sch name = xa3_p
#set_property package_pin m2 [get_ports {jxadc[2]}]
#set_property iostandard lvcmos33 [get_ports {jxadc[2]}]
##sch name = xa4_p
#set_property package_pin n2 [get_ports {jxadc[3]}]
#set_property iostandard lvcmos33 [get_ports {jxadc[3]}]
##sch name = xa1_n
#set_property package_pin k3 [get_ports {jxadc[4]}]
#set_property iostandard lvcmos33 [get_ports {jxadc[4]}]
##sch name = xa2_n
#set_property package_pin m3 [get_ports {jxadc[5]}]
#set_property iostandard lvcmos33 [get_ports {jxadc[5]}]
##sch name = xa3_n
#set_property package_pin m1 [get_ports {jxadc[6]}]
#set_property iostandard lvcmos33 [get_ports {jxadc[6]}]
##sch name = xa4_n
#set_property package_pin n1 [get_ports {jxadc[7]}]
#set_property iostandard lvcmos33 [get_ports {jxadc[7]}]
##vga connector
#set_property package_pin g19 [get_ports {vgared[0]}]
#set_property iostandard lvcmos33 [get_ports {vgared[0]}]
#set_property package_pin h19 [get_ports {vgared[1]}]
#set_property iostandard lvcmos33 [get_ports {vgared[1]}]
#set_property package_pin j19 [get_ports {vgared[2]}]
#set_property iostandard lvcmos33 [get_ports {vgared[2]}]
#set_property package_pin n19 [get_ports {vgared[3]}]
#set_property iostandard lvcmos33 [get_ports {vgared[3]}]
#set_property package_pin n18 [get_ports {vgablue[0]}]
#set_property iostandard lvcmos33 [get_ports {vgablue[0]}]
#set_property package_pin l18 [get_ports {vgablue[1]}]
#set_property iostandard lvcmos33 [get_ports {vgablue[1]}]
#set_property package_pin k18 [get_ports {vgablue[2]}]
#set_property iostandard lvcmos33 [get_ports {vgablue[2]}]
#set_property package_pin j18 [get_ports {vgablue[3]}]
#set_property iostandard lvcmos33 [get_ports {vgablue[3]}]
#set_property package_pin j17 [get_ports {vgagreen[0]}]
#set_property iostandard lvcmos33 [get_ports {vgagreen[0]}]
#set_property package_pin h17 [get_ports {vgagreen[1]}]
#set_property iostandard lvcmos33 [get_ports {vgagreen[1]}]
#set_property package_pin g17 [get_ports {vgagreen[2]}]
#set_property iostandard lvcmos33 [get_ports {vgagreen[2]}]
#set_property package_pin d17 [get_ports {vgagreen[3]}]
#set_property iostandard lvcmos33 [get_ports {vgagreen[3]}]
#set_property package_pin p19 [get_ports hsync]
#set_property iostandard lvcmos33 [get_ports hsync]
#set_property package_pin r19 [get_ports vsync]
#set_property iostandard lvcmos33 [get_ports vsync]
##usb-rs232 interface
#set_property package_pin b18 [get_ports rsrx]
#set_property iostandard lvcmos33 [get_ports rsrx]
#set_property package_pin a18 [get_ports rstx]
#set_property iostandard lvcmos33 [get_ports rstx]
##usb hid (ps/2)
#set_property package_pin c17 [get_ports ps2clk]
#set_property iostandard lvcmos33 [get_ports ps2clk]
#set_property pullup true [get_ports ps2clk]
#set_property package_pin b17 [get_ports ps2data]
#set_property iostandard lvcmos33 [get_ports ps2data]
#set_property pullup true [get_ports ps2data]
##quad spi flash
##note that cclk_0 cannot be placed in 7 series devices. you can access it using the
##startupe2 primitive.
#set_property package_pin d18 [get_ports {qspidb[0]}]
#set_property iostandard lvcmos33 [get_ports {qspidb[0]}]
#set_property package_pin d19 [get_ports {qspidb[1]}]
#set_property iostandard lvcmos33 [get_ports {qspidb[1]}]
#set_property package_pin g18 [get_ports {qspidb[2]}]
#set_property iostandard lvcmos33 [get_ports {qspidb[2]}]
#set_property package_pin f18 [get_ports {qspidb[3]}]
#set_property iostandard lvcmos33 [get_ports {qspidb[3]}]
#set_property package_pin k19 [get_ports qspicsn]
#set_property iostandard lvcmos33 [get_ports qspicsn]
AFG3000C系列任意函数发生器的功能特点及应用范围
中科英华铜箔产能将跻身世界前列
如何利用人工智能快速记下单词
开环增益的测量—电流注入法、不稳定系统的测量
ieee1588v2交换机简介
FPGA简单门电路怎么实现?
fireflyAIO-3288C主板--MaskRom模式的调整方法
大疆公司推出首款带变焦功能的无人机
销量猛涨,OPPO是如何逆袭华为的?原来是靠这个!
CoinAll上线Zeux(ZUC)全球首个数字货币支付理财APP
电子领域中电路板上屏蔽罩的作用
特斯拉再创历史 电动机入围国际发动机大奖
外资对MediaTek喊出500元的目标价,并看好MediaTek在5G领域的发展
软银42亿美元增持雅虎日本股份 动力电池商LG化学与SK Innovation诉讼
fireflyRK3399开发板介绍
嘉立创EDA如何布局圆形LED灯板
汇总各种流量计的工作原理
逃不过的双11「算法围城」需要时间同步
sdr技术原理解析
英国五个技术中心致力于使用AI来加快疾病诊断和改善