北斗B1C信号采用了基于勒让德序列产生的Weil码作为其扩频码,由于勒让德序列的特殊性,在应用中一般采用多端口RAM或ROM存储的方式产生用于信号接收的Weil码。但是在ASIC实现中多端口RAM或ROM的资源消耗、占用面积要高于单端口。本文从资源角度出发,基于HDL语言设计了一种单端口ROM方式实现的Weil码产生方法,在ASIC实现中能够有效减少扩频码生成部分的资源消耗和占用面积。