1785-L80B
1785-L80BFPGA设计要点之三:latch
首先回答一下:
1)stateCAD没有用过,不过我感觉用这个东东在构建大的系统的时候似乎不是很方便。也许用system C或者system Verilog更好一些。
2)同步、异步的叫法是我所在公司的习惯叫法,不太对,不过已经习惯了,呵呵。
这次讲一下latch。latch的危害已经说过了,这里不再多说,关键讲一下如何避免。
1)在组合逻辑进程中,if语句一定要有else!并且所有的信号都要在if的所有分支中被赋值。
always @( * ) begin
Sunrise Telecom ADSL Module SSxDSL-15 SunSet MTT & xDSL
Fluke Networks DTX-AXTK1 Module For DTX-1800 DTX AXTK1
Fluke Microtest SimpliFiber MM Fiber Loss Tester Kit
Fluke Networks LinkRunner Network Multimeter Tester Set
EXFO FLS-241 Visual Fault Identifier Universal VFL
Fluke Networks OptiView Workgroup Analyzer OPV-WGA OPV
JDSU OLS-6 Singlemode Fiber Laser Light Source OLS
Wavetek Acterna JDSU SAM 4040 Signal CATV SAM4040 Meter
Wavetek JDSU Acterna SDA-5000 CATV Rev PrtblTrn SDA5000
GN Nettest FI720 Optical Fiber Identifier FI 720 FI-720
Acterna JDSU HST-3000 DSL Tester HST 3000 ADSLR HST
Fluke Networks DSP-Spool For DSP-4000 DSP-4100 DSP-4300
Fluke Microtest PentaScanner 350 Cat5 Cable Certifier
JDSU Acterna DSAM-1000B Digtal CATV Meter DSAM1000 DSAM
Wilcom F6121A Optical Fiber Identifier OFI Probe 6121A
EXFO PPM-350B SM Fiber PON Power Meter FTTx PPM-350 PPM
Fluke 61 Handheld Infrared Thermometer IR
Fluke 199B ScopeMeter HandHeld 200Mhz Oscilloscope 199
Trilithic Guardian RSVP 2 ReversePath Tester RSVP2 CATV
Fluke Networks MicroScanner 2 Network Cable Tester
if ( sig_a == 1‘b1 ) sig_b = sig_c;
end
这个是绝对会产生latch的。
正确的应该是
always @( * ) begin
if ( sig_a == 1’b1 ) sig_b = sig_c;
else sig_b = sig_d;
end
1785-L80B
厦门光沃自动化设备有限公司
联系人:欧工
电话:0592-5709821
电话:18030229050
传真:0592-5917519
QQ:3151326358
邮箱:1878187406@qq.com
|